xyz與blh轉換的**參考:ground track.py
@pan li. email:[email protected]
@jiahuan hu. email:[email protected]
本方法通過讀取精密星曆中的衛星座標進行直接的星下點軌跡繪製,並實現了對gnss系統的選擇,示例所給的sp3檔案便給出了gps、glonass、galileo、bds和qzss,可進行系統的自由選擇,**如下所示:
%%%
%根據sp3檔案繪製星下點軌跡
h =geoshow
('landareas.shp'
,'facecolor'
,'c');
grid on
hold on
xlabel
('longitude');
ylabel
('latitude');
set(gca,
'ylim',[
-90,90
],'ytick',[
-90:30
:90])
;set
(gca,
'yticklabel',)
;set
(gca,
'xlim',[
-180
,180],
'xtick',[
-180:30
:180])
;set
(gca,
'xticklabel',)
;set
(gca,
'box'
,'on');
set(gca,
'fontsize',10
,'fontname'
,'times new roman'
,'fontweight'
,'bold');
set(gca,
'gridalpha',1
,'gridlinestyle'
,'--');
title
('bds satllite track'
,'fontsize',14
,'fontweight'
,'bold');
%sp3檔案讀取
file=
'igs20730.sp3'
;fid =
fopen
(file,
'rt');
while
1%標頭檔案讀取
line =
fgetl
(fid)
; answer =
findstr
(line(2
),'##');
if~isempty
(answer)
line =
fgetl
(fid)
; nsat=
str2num
(line(4
:6))
; sys =
line(10
:60);
for i=1:
5 line =
fgetl
(fid)
; sys =
[sys,
line(10
:60)]
; end
end;
for i=1:
5 ss=
'grecj'
;sns
(i)=
length
(findstr
(sys,
ss(i)))
; end
answer =
findstr
(line(1
),'/*');
if~isempty
(answer)
,break
; end;
%到頭檔案尾,則跳出迴圈
endline =
fgetl
(fid)
;line =
fgetl
(fid)
;line =
fgetl
(fid)
;for i=1:
24*4 line =
fgetl
(fid)
;for j=
1:nsat
line =
fgetl
(fid);x
(i,j)
=str2num
(line(6
:18))
;y(i,j)
=str2num
(line(20
:32))
;z(i,j)
=str2num
(line(34
:46))
;[b0,l0]
=xyztoblh(x
(i,j),y
(i,j),z
(i,j));
b(i,j)
=b0;
l(i,j)
=l0;
endend%各系統對應衛星列數g=1
:sns(1
);r=sns(1
)+1:
sns(1)
+sns(2
);e=sns(1
)+sns(2)
+1:sns(1
)+sns(2)
+sns(3
);c=sns(1
)+sns(2)
+sns(3
)+1:
sns(1)
+sns(2
)+sns(3)
+sns(4
);j=sns(1
)+sns(2)
+sns(3
)+sns(4)
+1:sns(1
)+sns(2)
+sns(3
)+sns(4)
+sns(5
);%for j=
[g,r,e,c]
for j=
[c]%%%
%在此選擇gnss系統(grecj)%%%
%for i=1:
95if
l(i,j)-l
(i+1
,j)<6&&
l(i,j)-l
(i+1
,j)>-6
plot(l
(i:i+
1,j)
*57.3,b
(i:i+
1,j)
*57.3
,'markersize',8
,'linewidth',2
,'color',[
185385]
/255);
hold on
endend
end%wgs84座標轉換到大地經緯度
function [b,l]
=xyztoblh
(x,y,z)
v=6378137.0
;e2=
(1.0
/298.257223563)*
(2-(
1.0/
298.257223563))
;r2=x*x+y*y;
b=atan
(z/(
sqrt
(r2)))
;l=atan2
(y,x);h=
sqrt
(r2+z*z)
-v;end
若選擇的系統為北斗,則最終繪製的結果如下:
若採用m_map提供的相關底圖,可得到類似如下結果:
3 檔案命令
一 touch命令 命令名稱 touch 命令所在路徑 bin touch 執行許可權 所有使用者 語法 touch 檔名 功能描述 建立空資料夾 範例 touch japanlovemove.list 二 二 cat命令 命令名稱 touch 命令所在路徑 bin cat 執行許可權 所有使用者 ...
3 檔案包含
1.原理 2.相關函式 3.分類 本地檔案包含 4.不限制檔案 檔案可以為jpg png x等 5.重點 找到可控檔案 6.偽協議 7.具體場景 日誌檔案 8.具體場景 session base64 中的 可有可沒有,在php中不重要,所以,可使用base64讓字元消失 單個字母解釋為空 可以嘗試多...
3 檔案指標
函式 作用tellg 返回讀取檔案指標的當前位置 tellp 返回寫入檔案指標的當前位置 seekg 指標偏移量 將讀取檔案指標移到指定位置 預設為從開頭算起 seekg 指標偏移量,參照位置 將讀取檔案指標移到從參照位置算起的指定位置 seekp 指標偏移量 將寫入檔案指標移到指定位置 seekp...