!! GeoGraphicLib で空港間の距離を ! インストール pip3 install --upgrade geographiclib ! Sample code from geographiclib.geodesic import Geodesic import math geod = Geodesic.WGS84 # define the WGS84 ellipsoid # 空港の位置のテーブル うーん不細工だ。。 NRT = { "lat":(35,45,55),"lon":(140,23,8) } HND = { "lat":(35,33,12),"lon":(139,46,52) } IBR = { "lat":(36,11,0) ,"lon":(140,25,14) } ITM = { "lat":(34,47,4) ,"lon":(135,26,21) } KIX = { "lat":(34,26,3) ,"lon":(135,13,58) } UKB = { "lat":(34,37,58),"lon":(135,13,26) } SFO = { "lat":(37,37,8) ,"lon":(-122,22,30) } LAX = { "lat":(33,56,33),"lon":(-118,24,29) } # ## 度分秒を度に変換 def dms2dd (dd,mm,ss) : if dd >= 0 : ret = float(dd) + float(mm)/float(60)+float(ss)/(60*60) else : ret = float(dd) - (float(mm)/float(60)+float(ss)/(60*60)) return ret ## (d,m,s) = NRT["lat"] lat1 = dms2dd (d,m,s) (d,m,s) = NRT["lon"] lon1 = dms2dd (d,m,s) ## (d,m,s) = UKB["lat"] lat2 = dms2dd (d,m,s) (d,m,s) = UKB["lon"] lon2 = dms2dd (d,m,s) ####### print ("出発", lat1,lon1) print ("到着":, lat2,lon2) ## g = geod.Inverse(lat1, lon1, lat2, lon2) ## print(g) print("距離は {:.3f} m.".format(g['s12'])) print("方位角は {:.12f} m.".format(g['azi1'])) print("方位角は {:.12f} m.".format(g['azi2']+180.0)) # 空港の緯度経度 # NRT-RJAA : 座標 北緯35度45分55秒 東経140度23分08秒 # HND-RJTT : 座標 北緯35度33分12秒 東経139度46分52秒 # IBR-RJAH : 座標 北緯36度11分00秒 東経140度25分14秒 # ITM-RJOO : 座標 北緯34度47分04秒 東経135度26分21秒 # KIX-RJBB : 座標 北緯34度26分03秒 東経135度13分58秒 # UKB-RJBE : 座標 北緯34度37分58秒 東経135度13分26秒 # # SFO-KSFO : 座標 北緯37度37分08秒 西経122度22分30秒 # LAX-KLAX : 座標 北緯33度56分33秒 西経118度24分29秒