From 659b13a46a0f02a0e82f1568fefad565c3eaa197 Mon Sep 17 00:00:00 2001 From: simonyan <315082291@qq.com> Date: Sat, 16 Nov 2024 10:58:24 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E5=87=A0=E4=BD=95?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=9A=84=E6=B1=82=E8=A7=A3=E5=99=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E6=98=BE=E7=A4=BA=E6=AD=A3=E7=A1=AE=E7=9A=84?= =?UTF-8?q?=E5=90=8E=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 38 ++++++++++++++++++++++ GeometricSightTracking/check_SightPointn.m | 11 ++++--- GeometricSightTracking/main.m | 13 ++++---- GeometricSightTracking/main.py | 8 +++++ GeometricSightTracking/readInput.m | 14 ++++---- Utils/utils.py | 18 +++++++++- 6 files changed, 83 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index df747b6..c4a13f8 100644 --- a/.gitignore +++ b/.gitignore @@ -193,3 +193,41 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ +GeometricSightTracking/input.txt +GeometricSightTracking/input_geo.txt +GeometricSightTracking/tmgmsg.dat +MeteorologicalEnvironmentalLoad/inter_input1.txt +MeteorologicalEnvironmentalLoad/inter_input2.txt +MeteorologicalEnvironmentalLoad/patran.ses.01 +MeteorologicalEnvironmentalLoad/patran.ses.02 +MeteorologicalEnvironmentalLoad/patran.ses.03 +MeteorologicalEnvironmentalLoad/patran.ses.04 +MeteorologicalEnvironmentalLoad/patran.ses.05 +MeteorologicalEnvironmentalLoad/patran.ses.06 +MeteorologicalEnvironmentalLoad/patran.ses.07 +MeteorologicalEnvironmentalLoad/patran.ses.08 +MeteorologicalEnvironmentalLoad/patran.ses.09 +MeteorologicalEnvironmentalLoad/patran_conf.ini +OpticalLoadRadiation/patran.ses.01 +OpticalLoadRadiation/patran.ses.02 +OpticalLoadRadiation/patran.ses.03 +OpticalLoadRadiation/patran_conf.ini +PlatformPerformance/123.jpg +PlatformPerformance/patran.ses.01 +PlatformPerformance/patran.ses.02 +PlatformPerformance/patran_conf.ini +PlatformPerformance/sss.jpg +PlatformPerformance/iii'.png +PlatformPerformanceImagingImpactAssessment/12.jpg +PlatformPerformanceImagingImpactAssessment/patran.ses.01 +PlatformPerformanceImagingImpactAssessment/patran_conf.ini +SurfaceCharacteristicSimulation/patran.ses.01 +SurfaceCharacteristicSimulation/patran.ses.02 +SurfaceCharacteristicSimulation/patran.ses.03 +SurfaceCharacteristicSimulation/patran.ses.04 +SurfaceCharacteristicSimulation/patran_conf.ini +SystemPerformanceEvaluation/tmgmsg.dat +TOASimu/patran.ses.01 +TOASimu/patran.ses.02 +TOASimu/patran.ses.03 +TOASimu/patran_conf.ini diff --git a/GeometricSightTracking/check_SightPointn.m b/GeometricSightTracking/check_SightPointn.m index 16f2e80..a1fb831 100644 --- a/GeometricSightTracking/check_SightPointn.m +++ b/GeometricSightTracking/check_SightPointn.m @@ -12,9 +12,9 @@ fclose(fileID); AOC_t0=etime(datevec(sprintf("%s %s", C{1}{1},C{2}{1}), "yyyy/MM/dd HH:mm:ss"), datevec("2000/01/01 12:00:00", "yyyy/MM/dd HH:mm:ss")); disp(AOC_t0); -AOC_fai = C{3}; -AOC_thita = C{4}; -AOC_pusai = C{5}; +AOC_fai = (C{3}*pi)/180; +AOC_thita = (C{4}*pi)/180; +AOC_pusai = (C{5}*pi)/180; AOC_a0 = C{6}; AOC_e0 = C{7}; AOC_i0 = C{8}; @@ -43,11 +43,12 @@ w0=(Mu/AOC_a0^3)^0.5; %卫星轨道角速度 we=7.29211585530487e-5; %地球自转角速度 Re=6371.23; %地球平均半径 Len=length(AOC_Tin); -Thita=linspace(-8.6,8.6,Len); +%Thita=linspace(-8.6,8.6,Len); for num=1:Len Tin=AOC_Tin(num); AOC_u=AOC_u0+we*Tin; - Rp_b=[sind(Thita(num)),0,cosd(Thita(num))].'; + %Rp_b=[sind(Thita(num)),0,cosd(Thita(num))].'; + Rp_b=[0,0,1]; [Tmp_Lon,Tmp_Lat]=SightPoint(Tin,AOC_fai,AOC_thita,AOC_pusai,AOC_a0,AOC_e0,AOC_i0,AOC_OMG0,AOC_os0,AOC_u,Rp_b); Lon(num,1)=Tmp_Lon; Lat(num,1)=Tmp_Lat; diff --git a/GeometricSightTracking/main.m b/GeometricSightTracking/main.m index 8880ae6..db35b9a 100644 --- a/GeometricSightTracking/main.m +++ b/GeometricSightTracking/main.m @@ -7,16 +7,17 @@ close all AOC_dTime=86400; AOC_Tin=0:AOC_Tstep:AOC_dTime; -Mu=3.986005e5; % -w0=(Mu/AOC_a0^3)^0.5; %ǹٶ -we=7.29211585530487e-5; %תٶ -Re=6371.23; %ƽ뾶 +Mu=3.986005e5; %������������ +w0=(Mu/AOC_a0^3)^0.5; %���ǹ�����ٶ� +we=7.29211585530487e-5; %������ת���ٶ� +Re=6371.23; %����ƽ���뾶 Len=length(AOC_Tin); -Thita=linspace(-8.6,8.6,Len); +%Thita=linspace(-8.6,8.6,Len); for num=1:Len Tin=AOC_Tin(num); AOC_u=AOC_u0+we*Tin; - Rp_b=[sind(Thita(num)),0,cosd(Thita(num))].'; + % Rp_b=[sind(Thita(num)),0,cosd(Thita(num))].'; + Rp_b=[0;0;1]; [Tmp_Lon,Tmp_Lat]=SightPoint(Tin,AOC_fai,AOC_thita,AOC_pusai,AOC_a0,AOC_e0,AOC_i0,AOC_OMG0,AOC_os0,AOC_u,Rp_b); Lon(num,1)=Tmp_Lon; Lat(num,1)=Tmp_Lat; diff --git a/GeometricSightTracking/main.py b/GeometricSightTracking/main.py index 4053460..57b5746 100644 --- a/GeometricSightTracking/main.py +++ b/GeometricSightTracking/main.py @@ -106,6 +106,7 @@ def main(): rmPath(outputDir) os.mkdir(outputDir) + allPoints = [] eng = matlab.engine.start_matlab() for index, paramVector in enumerate(paramList): # 生成求解参数文件 @@ -117,8 +118,11 @@ def main(): if os.path.exists(outputFileName): os.remove(outputFileName) os.rename("output.txt", outputFileName) + # 将结果数据生成html mainMapEcharts.rendOutputGeo(outputFileName) + # 将每个结果文件的第一行独立存储 + allPoints.append(globalUtils.readFileFirstLine(outputFileName)) # 将结果数据生成为json文件 # genGeoJsonFileFromOutput(outputFilePath=outputFileName) # break @@ -126,6 +130,10 @@ def main(): # 删除旧的目录 rmPath(outputDistDir) + # 生成总体的图 + globalUtils.writeFile(allPoints, outputDir + "/output_all.txt") + mainMapEcharts.rendOutputGeo(outputDir + "/output_all.txt") + # 将结果拷贝的目标目录下 shutil.copytree(outputDir, outputDistDir) # 将2个js文件拷贝到output目录下 diff --git a/GeometricSightTracking/readInput.m b/GeometricSightTracking/readInput.m index 03cc5e6..08c323b 100644 --- a/GeometricSightTracking/readInput.m +++ b/GeometricSightTracking/readInput.m @@ -1,21 +1,21 @@ function [AOC_t0,AOC_fai,AOC_thita,AOC_pusai,AOC_a0,AOC_e0,AOC_i0,AOC_OMG0,AOC_os0,AOC_u0,AOC_Tstep] = readInput() - % ļжȡ + % ���ļ����ж�ȡ fileID = fopen("input.txt"); - % ȡͷǰΪͷ + % ��ȡ��ͷ��ǰ����Ϊ��ͷ header = textscan(fileID, '%s', 1); - % ȡ + % ��ȡ���� dataFormat = '%s %f %f %f %f %f %f %f %f %f %f'; data = textscan(fileID, dataFormat, 'Delimiter', ','); - % رļ + % �ر��ļ� fclose(fileID); AOC_t0=etime(datevec(data{1}, "yyyy/MM/dd HH:mm:ss"), datevec("2000/01/01 12:00:00", "yyyy/MM/dd HH:mm:ss")); - AOC_fai = data{2}; - AOC_thita = data{3}; - AOC_pusai = data{4}; + AOC_fai = (data{2}*pi)/180; + AOC_thita = (data{3}*pi)/180; + AOC_pusai = (data{4}*pi)/180; AOC_a0 = data{5}; AOC_e0 = data{6}; AOC_i0 = data{7}; diff --git a/Utils/utils.py b/Utils/utils.py index ce3716e..60028c3 100644 --- a/Utils/utils.py +++ b/Utils/utils.py @@ -120,4 +120,20 @@ def saveENVIImgToPng(imgFilePath: str, pngFilePath: str): def printWithFlush(*args, sep=' ', end='\n', file=None, flush=True): print(*args, sep=sep, end=end, file=file, flush=flush) - # sys.stdout.flush() \ No newline at end of file + # sys.stdout.flush() + +def readFileFirstLine(filePath): + # 打开文件 + with open(filePath, 'r') as file: + # 读取第一行 + first_line = file.readline() + print(first_line) + return first_line + +def writeFile(stringList, filePath): + # 打开文件进行写入 + with open(filePath, 'w') as file: + # 遍历字符串数组 + for item in stringList: + # 将每个字符串写入文件,并添加换行符 + file.write(item) \ No newline at end of file