Python は openstreetmap マップ上にロードマップを描画します

Pythonを使用して緯度と経度の軌跡を表示する

おい!皆さん、久しぶりです。ブログを初めて投稿してから 2 年以上経ちます。経度と緯度のデータを地図上に表示し、将来のタキシング パスの最適化と分析を容易にするためのパスを生成します。この記事で使用されている言語は Python で、folium パッケージが使用されています。データは、flightaware の Web サイトにあります。このパッケージを使用する前に、pip install folium が必要です。

フォリウムの基本的な使い方

  1. folium.Map([緯度, 経度], ズーム開始, 幅, 高さ, control_scale, no_touch)   #zoom start は地図の初期ズーム サイズです。値が大きいほど、地図のズーム レベルも大きくなります。幅はピクセルです。またはパーセント(int または str の 2 つの形式)、高さマップの高さ、control_scale はマップ上にスケールを表示するかどうか、デフォルトは false、no_touch はマップへのタッチまたはマップのドラッグを禁止するかどうか、デフォルトでは禁止されていません。これらの関数はオプションであり、通常、経度、緯度、zoom_start のみが必要です。
  2. folium.Marker([緯度, 経度]).add_to(m)   #地図上にグリフを設定します
  3. folium.PolyLine(location = [[緯度 1, 経度 1], [緯度 2, 経度 2]...], Weight, color, opacity).add_to(m) # 地図上に線を引いて入力座標を結び   ます

Python は Folium 描画コードを使用します

folium パッケージをインストールした後、それを使用できるようになります。コードは次のとおりです。

from folium import plugins
import folium
import os
m = folium.Map([39.1289, 117.3539], zoom_start=10)  #中心区域的确定
location =[[39.1289, 117.3539], [39.1277262, 117.3542938], [39.1277275, 117.3543001], [39.1277262, 117.3542938], 
          [39.1277275, 117.3543001], [39.1277262, 117.3542938], [39.1277262, 117.3542938], 
          [39.1271896, 117.3541359], [39.127121, 117.354126], [39.127121, 117.354126], 
          [39.1269348, 117.3541107], [39.1268692, 117.3541061], [39.1263994, 117.3540649], 
          [39.1257591, 117.3540165], [39.125608, 117.3540192], [39.1251984, 117.3539717], 
          [39.1250038, 117.3539568], [39.1246886, 117.3539276], [39.1246033, 117.3539269], 
          [39.1244316, 117.353912], [39.1242828, 117.353912], [39.1241112, 117.3538971], 
          [39.1238623, 117.3538666], [39.1233153, 117.3538361], [39.1232643, 117.3538374], 
          [39.1230354, 117.3537478], [39.1229895, 117.353714], [39.1228638, 117.3535239], [39.122818, 117.3534493], 
          [39.1227334, 117.353241], [39.1226985, 117.3531494], [39.122652, 117.3530273], [39.122652, 117.3529968], 
          [39.1225821, 117.352829], [39.1225239, 117.3526764], [39.1224861, 117.3525835], [39.1224774, 117.3525391], 
          [39.1224657, 117.3525238], [39.1224174, 117.3523745], [39.1221886, 117.3517625], [39.1221771, 117.3517327], 
          [39.1221399, 117.3516388], [39.1221199, 117.3515834], [39.1220169, 117.3512998], [39.1219769, 117.3512115], 
          [39.1219482, 117.3511057], [39.1219188, 117.3510437], [39.121814, 117.3507996], [39.1217791, 117.3507385], 
          [39.1217558, 117.350708], [39.1215935, 117.3505982], [39.121558, 117.3505859], [39.1213417, 117.3506131], 
          [39.1211014, 117.3507475], [39.121011, 117.3507996], [39.1209528, 117.3508301], [39.120883, 117.3508759], 
          [39.1208481, 117.3509064], [39.1207352, 117.3509714], [39.1204834, 117.3511356], [39.120369, 117.3511953], 
          [39.120369, 117.3511953], [39.1202774, 117.351255], [39.1186409, 117.3522551], [39.1185321, 117.3523254], 
          [39.1182976, 117.3524641], [39.1181374, 117.3525686], [39.1173566, 117.3530426], [39.1171188, 117.3531955], 
          [39.1168213, 117.3533746], [39.1163325, 117.3536682], [39.115867, 117.3539581], [39.1156691, 117.3540802], 
          [39.1156342, 117.3540955], [39.1156342, 117.3540955], [39.1144981, 117.3547927], [39.113551, 117.3553772], 
          [39.113551, 117.3553772], [39.1125069, 117.3559869], [39.1120846, 117.3557129], [39.1120846, 117.3557129], 
          [39.1119118, 117.3553002], [39.1118546, 117.355136], [39.111782, 117.3549652], [39.1115456, 117.3542404], 
          [39.1115958, 117.3540649], [39.1115958, 117.3540649], [39.1128411, 117.3532562], [39.1131786, 117.3530426], 
          [39.113807, 117.3526459], [39.113807, 117.3526459], [39.1191902, 117.3493593], [39.1197308, 117.3490295], 
          [39.1206386, 117.3484802], [39.1208713, 117.3483276], [39.1214676, 117.347971], [39.1214676, 117.347971], 
          [39.1214676, 117.347971], [39.1214676, 117.347971]]   #输入坐标点(注意)folium包要求坐标形式以纬度在前,经度在后
route = folium.PolyLine(    #polyline方法为将坐标用线段形式连接起来
    location,    #将坐标点连接起来
    weight=3,  #线的大小为3
    color='orange',  #线的颜色为橙色
    opacity=0.8    #线的透明度
).add_to(m)    #将这条线添加到刚才的区域m内
m.save(os.path.join(r'C:\Users\Desktop', 'Heatmap1.html'))  #将结果以HTML形式保存到桌面上

 

 結果の表示 (これはインターネット上で行う必要があります。画像の読み込みが少し遅い場合があります)

おすすめ

転載: blog.csdn.net/AAAAAAAKing/article/details/83278441