全国省会城市经纬度
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国省会城市经纬度
2010-04-25 18:19
北京E116°28'N39°54'
上海E121°29'N31°14'
天津E117°11'N39°09'
重庆E106°32'N29°32'
哈尔滨E126°41'N45°45'
长春E125°19'N43°52'
沈阳E123°24'N41°50'
呼和浩特E111°48'N40°49'
石家庄E114°28'N38°02'
太原E112°34'N37°52'
济南E117°N36°38'
郑州E113°42'N34°48'
西安E108°54'N34°16'
兰州E103°49'N36°03'
银川E106°16'N38°20'
西宁E101°45'N36°38'
乌鲁木齐E87°36'N43°48'
合肥E117°18'N31°51'
南京E118°50'N32°02'
杭州E120°09'N30°14'
长沙E113°N28°11'
南昌E115°52'N28°41'
武汉E114°21'N30°37'
成都E104°05'N30°39'
贵阳E106°42'N26°35'
福州E119°18'N26°05'
台北E121°31'N25°03'
广州E113°15'N23°08'
海口E110°20'N20°02'
南宁E108°20'N22°48'
昆明E102°41'N25°
拉萨E90°08' N29°39'
香港E114°10'N22°18'
澳门E113°35'N22°14'
台北E121°31'N25°03'
把地球当作一个正常的球体(其实它是椭球)来说,球面两点之间的距离计算并不复杂,运用球坐标很容易就能计算出两点之间的弧长。当然这都是高中的知识,我和你一样,也没有那个耐心来将其推导,所以我就利用google map的经纬度到距离计算的js脚本,将球面
弧长的公式给还原出来(估计这个公式是经过部分修正的),还原出来的公式如下:
公式解释如下:
公式中经纬度均用弧度表示,角度到弧度的转化应该是很简单的了吧,若不会,依然请参考这个这个经纬度算距离的工具;
Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度;
a=Lat1 – Lat2 为两点纬度之差 b=Lung1 -Lung2 为两点经度之差;
6378.137为地球半径,单位为公里;
matlab代码:
adress={'北京';
'上海';
'天津';
'重庆';
'哈尔滨';
'长春';
'沈阳';
'呼和浩特';
'石家庄';
'太原';
'济南';
'郑州';
'西安';
'兰州';
'银川';
'西宁';
'乌鲁木齐';
'合肥';
'南京';
'杭州';
'长沙';
'南昌';
'武汉';
'成都';
'贵阳';
'福州';
'台北';
'广州';
'海口';
'南宁';
'昆明';
'拉萨';
'香港';
'香港';
'澳门';
'台北'};
%经纬度,第一列是东经E,第二列是北纬N EN=[116.28,39.54;
121.29,31.14;
117.11,39.09;
106.32,29.32;
126.41,45.45;
125.19,43.52;
123.24,41.5;
111.48,40.49;
114.28,38.02;
112.34,37.52;
117,36.38;
113.42,34.48;
108.54,34.16;
103.49,36.03;
106.16,38.2;
101.45,36.38;
87.36,43.48;
117.18,31.51;
118.5,32.02;
120.09,30.14;
113,28.11;
115.52,28.41;
114.21,30.37;
104.05,30.39;
106.42,26.35;
119.18,26.05;
121.31,25.03;
113.15,23.08;
110.2,20.02;
108.2,22.48;
102.41,25;
90.08,29.39;
114.1,22.18;
114.1,22.18;
113.35,22.14;
121.31,25.03];
%计算任意两点间的直线距离
ENNew(:,1)=(floor(EN(:,1))+(EN(:,1)-floor(EN(:,1)))/60)*pi/180;
ENNew(:,2)=(floor(EN(:,2))+(EN(:,2)-floor(EN(:,2)))/60)*pi/180;
%计算任意两点的距离,使用公式
$2*6378.137*\arcsin\sqrt{sin^2(a)+cos(Lat2)*cos(Lat2)*sin^2(b/2)}$
%Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度;
%a=Lat1 – Lat2 为两点纬度之差 b=Lung1 -Lung2 为两点经度之差;
%Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度;
SizeEN=size(EN,1);
Dis=zeros(SizeEN,SizeEN);
for i=1:SizeEN
for j=1:SizeEN
WeiDuCha=EN(i,2)-EN(j,2);
JingDuCha=EN(i,1)-EN(j,1);
Dis(i,j)=
2*6378.137*asin(sqrt(sin(WeiDuCha/2)^2+sin(JingDuCha/2)^2*cos(EN(i,2))*cos(EN(j ,2))));
end
end