Use python to display latitude and longitude trajectory
Hey! Long time no see, everyone. It has been more than two years since I first posted a blog. The longitude and latitude data are displayed on the map and a path is generated to facilitate the optimization and analysis of the taxiing path in the future. The language used in this article is python, and the folium package is used. The data can be found on the flightaware website. Before using this package, pip install folium is still required.
Basic usage of folium
- folium.Map([latitude, longitude], zoom start, width, height, control_scale, no_touch) #zoom start is the initial zoom size of the map, the larger the value, the greater the zoom level of the map, width is pixel or percentage (int or str two forms), height map height, control_scale is whether to display the scale on the map, the default is false, no_touch is whether to prohibit touching the map or dragging the map, the default is not prohibited. These functions are optional. Generally speaking, only longitude, latitude and zoom_start are required.
- folium.Marker([latitude, longitude]).add_to(m) #Set a glyph on the map
- folium.PolyLine(location = [[latitude 1, longitude 1], [latitude 2, longitude 2]...], weight, color, opacity).add_to(m) # Draw a line on the map to connect the input coordinates
Python uses folium drawing code
After installing the folium package, we can use it. The code is as follows:
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形式保存到桌面上