Aujourd'hui, la grande famille utilise Python pour créer une carte dynamique de la danse nord, la ligne de métro, qui peut être un guide complet et plus détaillé dans l'ensemble du réseau.
Premièrement, l'acquisition de points de coordonnées
a fait une visualisation géographique similaire, mais toutes les données JSON ont été collectées en ligne. Mais de nombreuses données sont réellement obsolètes, voire des erreurs / incomplètes. Nous sommes donc préférables de faire, rempli de nourriture (reptile dafa).
Ouvrez le site Web de métro de la carte Gaode, http://map.am.com/subway/index.html? & Amp; 1100
Il peut facilement obtenir l'interface des données de métro Beijing et la même URL des trois villes sera copiée.
Avec API, JSON analyse pour récupérer des données
Les résultats d'impression sont formatés PPRRT, aperçu pratique
url = 'http://map.amap.com/service/subway?_1615466846985&&srhdata=1100_drw_beijing.json'response = requests.get(url)result = json.loads(response.text)stations = []for i in result['l']: station = [] for a in i['st']: station.append([float(b) for b in a['sl'].split(',')]) stations.append(station)pprint.pprint(stations)
, la conversion de systèmes de coordonnées
Vraiment, j'ai vu des postes visuels géographiques similaires. Résultats lEh bien, j'ai découvert que cela se passe toujours et je verrai que la coordination trouvera deux miles.
Il suffit de prendre les coordonnées obtenues ci-dessus pour vous donner une démonstration, en regardant l'emplacement géographique avec la même latitude de différentes cartes
]
peut être vu latitude et la longitude fait référence À la station de métro Jinanqiao dans la carte Gaode, mais sur la carte Baidu, la position pointant dans un bâtiment à quelques kilomètres.
Pourquoi avez-vous ce problème?
Il est effectivement causé par des systèmes de coordonnées géographiques de différents produits de carte.
Parlons du système de coordonnées géographiques générales: le système de coordonnées de la Terre est un système de coordonnées générales internationales, plus adapté à la visualisation des cartes internationales. Cependant, dans mon pays, il ne l'utilisera généralement pas directement, mais utilisez le système de coordonnées de Mars codé par le Conseil national de surveillance. En outre, la société effectuera un cryptage auxiliaire sur le système de coordonnées Mars, tel que le système de trois coordonnées.IDU, système de coordonnées Sogou, V.V.
J'ai trouvé une image en ligne, de
Zi @ 大 Giiser
[1]
#需要的两个常量先设置好pi = 3.1415926535897932384 #πr_pi = pi * 3000.0/180.0def gcj02_bd09(lon_gcj02,lat_gcj02): b = math.sqrt(lon_gcj02 * lon_gcj02 + lat_gcj02 * lat_gcj02) + 0.00002 * math.sin(lat_gcj02 * r_pi) o = math.atan2(lat_gcj02 , lon_gcj02) + 0.000003 * math.cos(lon_gcj02 * r_pi) lon_bd09 = b * math.cos(o) + 0.0065 lat_bd09 = b * math.sin(o) + 0.006 return [lon_bd09,lat_bd09]
result = []for station in stations: result.append([gcj02_bd09(*point) for point in station])
sur le L'image peut être utilisée comme référence, et si nous ne nous soucions pas. Quel est le focus, comment utiliser le système de coordonnées de conversion Python?
Exemple: Dans cet article, nous sommes une collection de coordonnées dans des cartes Gaode, puis utilisez le système de coordonnées GCJ-02. L'interface de la carte Baidu sera appelée dans la visualisation suivante de la visualisation suivante, qui sera affichée dans le système de coordonnées BD-09.
Heureusement, j'ai trouvé la formule de GCJ-02 à BD-09 en ligne et déployé cette formule avec Python:
Nous avons écrit une coordonnée GCJ-02 de conversion de Python. Système dans une fonction de BD-09, appelant cette fonction, vous pouvez convertir le point de rassemblement de la carte Gaode en système de coordonnées Baidu.
Obtenez l'une des coordonnées comme exemple:
À ce stade, notre travail de travail précédent était enfin prêt.
Bien sûr, si les données obtenues au début, il s'agit du système de coordonnées BD_09 (carte BHAIDU) et la conversion peut être manquée directement à ~
] mardi, géographie
Ensuite, il faut utiliser BMAP dans Pyecharts pour visualiser, mais vous devez prendre la clé des plates-formes ouvertes de Baidu.
Ouvrir la carte de Baidu ?http: //lbsyun.baidu.com/apiconsole/key#/Homefrom pyecharts.charts import BMap from pyecharts import options as opts from pyecharts.globals import BMapType, ChartType
Connectez-vous au compte Baidu, voir Gestionnaire d'applications - Mon application. Cliquez ici pour créer une application, toutes créées au hasard.
Copiez l'application d'accès (AK) dans l'image ci-dessus, sauvegardez, sera utilisée dans la prochaine visualisation.
map_b = ( BMap(init_opts = opts.InitOpts(width = "800px", height = "600px")) .add_schema( baidu_ak = '****************', #百度地图开发应用appkey center = [116.403963, 39.915119], #当前视角的中心点 zoom = 10, #当前视角的缩放比例 is_roam = True, #开启鼠标缩放和平移漫游 ) .add( series_name =, " type_ = ChartType.LINES, #设置Geo图类型 data_pair = result, #数据项 is_polyline = True, #是否是多段线,在画lines图情况下# linestyle_opts = opts.LineStyleOpts(color = "blue", opacity = 0.5, width = 1), # 线样式配置项 ) .add_control_panel( maptype_control_opts = opts.BMapTypeControlOpts(type_ = BMapType.MAPTYPE_CONTROL_DROPDOWN), #切换地图类型的控件 scale_control_opts = opts.BMapScaleControlOpts(), #比例尺控件 overview_map_opts = opts.BMapOverviewMapControlOpts(is_open = True), #添加缩略地图 navigation_control_opts = opts.BMapNavigationControlOpts() #地图的平移缩放控件 ))map_b.render(path = 'subway_beijing.html')
Nous utilisons BMAP dans Pyecharts, le premier module d'entrée
) après la saisie de données (par exemple, les données de latitude latitude entraîne dans l'interrupteur), les paramètres peuvent être ajustés et ajoutés unNuméro de contrôle ..
Les paramètres principaux ont été annotés, de sorte que tout le monde aperçu (où Baidu appley Main Semembrance)
Note: Parce que c'est une carte nord kinh, plaçant la latitude de Tiananmen [116.403963 39 915119] En tant que centre de perspective.
Voir les résultats de la visualisation:
Quatre coins de l'image ont une commande, c'est que nous ajoutons les paramètres de contrôle de votre code, qui est: Carte du contrôle plat, Switch Contrôle du type de contrôle, Vignette et contrôle du ratio.
Est-ce encore large?
Quatrièmement, un autre effet affiché
Dessinez simplement une carte de métro de trois autres villes, puis ajustez certains paramètres, voir quel effet pouvez-vous obtenir?
1, Shanghai - décoloration
Interface de données THuy Hai est:
http://map.amap.com/service/subway?_1615467204533&&srhdata=3100_drw_shanghai.json
Carte de métro de Shanghai, nous modifions la couleur de la ligne et pouvons modifier la couleur dans le paramètre LINSEYLE_OPTS.
La ligne de couleur dans l'image est lilas - Violet léger
2, carte satellite de Guangzhou
]
L'interface de données de Guangzhou est la suivante:
http://map.amap.com/service/subway?_1615494419554&&srhdata=4401_drw_guangzhou.json
En fait, nous pouvons également ajuster le fond visuel des cartes satellites. Toutefois, cette activité ne nécessite pas de code d'écriture supplémentaire, car je viens de mentionner que j'ai ajouté 4 contrôleurs lorsque je réglais le paramètre, dans lequel le coin supérieur droit peut transférer directement le type de carte et le sport que l'effet spécifique est indiqué ci-dessous.
3, Shenzhen - Couleur personnelle
L'interface de données Shenzhen est la suivante:
Si vous n'êtes pas coeur de comédie avec une carte de Baidu A Bon arrière-plan de carte, nous pouvons également définir MapStyle personnalisé, ajuster votre couleur Stylejson.
L'image ci-dessous est composée de motsCinq petites références en ligne et vous pouvez l'utiliser pour faire référence à https://blog.csdn.net/weixin_41290949/article/Détails/106379134
http://map.amap.com/service/subway?_1615494473615&&srhdata=4403_drw_shenzhen.json
Désactiver aujourd'hui aujourd'hui , vous avez appris à utiliser Python pour dessiner une ville de première classe. Principalement divisé en quatre parties: l'acquisition de coordonnées, la conversion de coordonnées, l'utilisation de la visualisation géographique PYECHARTS, d'autres effets. Grandes données géologiques: Zhizhi @ 大 Giiser [2] Développement cartographique Carte Carte Baidu Carte Stylejson Carte: https://blog.csdn.net/weixin_41290949/article/Détails/106379134