省会城市经纬度计算

  • 格式:doc
  • 大小:70.00 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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' 香港E114°10' N22°18' 澳门E113°35' N22°14' 台北E121°31' N25°03'

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;

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=ENNew(i,2)-ENNew(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(ENNew(i,2))*cos(ENNew(j, 2))));

end

end