Utiliser python pour afficher la trajectoire de latitude et de longitude
Hé! Cela fait longtemps que je n'ai pas vu tout le monde. Cela fait plus de deux ans que j'ai publié un blog pour la première fois. Les données de longitude et de latitude sont affichées sur la carte et un chemin est généré pour faciliter l'optimisation et l'analyse du chemin de roulage à l'avenir. Le langage utilisé dans cet article est python et le package folium est utilisé. Les données peuvent être trouvées sur le site Web de flightaware. Avant d'utiliser ce package, pip install folium est toujours requis.
Utilisation de base du folium
- folium.Map([latitude, longitude], zoom start, width, height, control_scale, no_touch) #zoom start est la taille de zoom initiale de la carte, plus la valeur est grande, plus le niveau de zoom de la carte est élevé, la largeur est en pixels ou pourcentage (int ou str deux formes), hauteur hauteur de la carte, control_scale indique s'il faut afficher l'échelle sur la carte, la valeur par défaut est false, no_touch indique s'il faut interdire de toucher la carte ou de faire glisser la carte, la valeur par défaut n'est pas interdite. Ces fonctions sont facultatives, de manière générale, seules la longitude, la latitude et le zoom_start sont nécessaires.
- folium.Marker([latitude, longitude]).add_to(m) #Définir un glyphe sur la carte
- folium.PolyLine(location = [[latitude 1, longitude 1], [latitude 2, longitude 2]...], weight, color, opacity).add_to(m) # Tracez une ligne sur la carte pour relier les coordonnées d' entrée
Python utilise le code de dessin folium
Après avoir installé le package folium, nous pouvons l'utiliser. Le code est le suivant :
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形式保存到桌面上