MATLAB程式實現經緯度轉換成平面座標

2021-10-24 08:42:57 字數 1960 閱讀 6830

近期搜了下經緯度座標轉換成直角座標的程式和原理啥的,哎,真難啊,其實道理都懂吧,下面直接貼**,

主要是加了個for迴圈而言,優化輸出效果。

%%%matlab程式實現經緯度轉換成平面爾座標:

m_pi=3.14159265358979323846;

l = 6381372 * m_pi * 2; %地球周長

w = l; % 平面展開後,x軸等於周長

h = l / 2; % y軸約等於周長一半

mill = 2.3; % 公尺勒投影中的乙個常數,範圍大約在正負2.3之間

position=[120.7015202,36.37423;

120.6987175,36.37457569;

120.6997954,36.37591239;

120.70691,36.37579616;

120.7056165,36.37248342;

120.7031731,36.37753964;

120.6928965,36.37800457;

120.6943337,36.37521499;

120.6973521,36.37876006;

120.6962022,36.37643544;

120.7011609,36.37905063;

120.6939026,36.38021291;

120.6983582,36.38056159;

120.7025263,36.38120084;

120.6914592,36.38201441;

120.6960585,36.38247931;

120.7005141,36.38276987;

120.6998673,36.37079794;

120.6928965,36.37079794;

120.6964897,36.36824059;

120.6969209,36.37143727;

120.7052571,36.36899618;

120.7088504,36.37021674;

120.7087066,36.36731063;

120.7130185,36.36829872;

120.6896626,36.36661314;

120.6937588,36.36242812;

120.6993643,36.38741865;

120.7129466,36.37201847;

120.7002266,36.36428816;]%30個經緯度座標點

n=size(position,1);

%%lon=120.7015202;%經度

%%lat=36.37423;%緯度

new_position=;

for i =1:n

lon=position(i,1);

lat=position(i,2);

x = lon * m_pi / 180; % 將經度從度數轉換為弧度

y = lat * m_pi / 180; %將緯度從度數轉換為弧度

y1 = 1.25 * log(tan(0.25 * m_pi + 0.4 * y)); % 公尺勒投影的轉換

% 弧度轉為實際距離

dikaerx = (w / 2) + (w / (2 * m_pi)) * x ; %笛卡爾座標x

dikaery = (h / 2) - (h / (2 * mill)) * y1 ;%笛卡爾座標y

new_position(i,1)=dikaerx;

new_position(i,2)=dikaery;

fprintf('第%d個點的',i)

fprintf('座標是=(%f %f);',new_position(i,1),new_position(i,2))

fprintf('\n')

end

ThinkPHP實現經緯度範圍查詢

thinkphp實現附近範圍的查詢,如附近的人和附近 之類。首先,要定位使用者的經緯度。客戶端定位的方法可以使用地圖api或者用html5瀏覽器定位 比較不穩定而且不會太精確 然後,將當前經緯度,和需要搜尋的距離範圍,計算乙個經緯度範圍,這個範圍就是 附近 計算這個 附近 的示例如下 param l...

經緯度座標轉換

經緯度與xy座標轉換工具類 public class latlngxyzconverthelper xy轉經緯度 需要轉換的x座標 需要轉換的y座標 地圖級別 轉換後的經度 轉換後的緯度 public static void tiletolatlng double tile x,double til...

經緯度格式轉換

public float dufenmiaotodu float d,float f,float m public float dutodufen fen float d public float fentofenmiao miao float f float 有效數字位數 6 double 有效數...