Créez un ** fichier kml ** contenant des informations géospatiales 3D à l'aide de Python et affichez-le sur Google Earth
Puisque simplekml est requis, installez la bibliothèque simplekml en fonction du système d'exploitation.
Pour créer un fichier kml à partir d'un fichier csv qui résume la latitude, la longitude et l'altitude. Comme il est basé sur xml, ElementTree était bien, mais quand je l'ai recherché, il y avait un simplekml qui pouvait créer un kml, j'ai donc créé un fichier kml en utilisant simplekml.
gpsdata_to_kml.py
#!/usr/bin/python2.7
#-*- coding: utf-8 -*-
import simplekml
#Affichage au format point
## [Nom du lieu,longitude,latitude]
sample_points = [["Gare de Tokyo", 139.766389, 35.681340],
["Gare de Yurakucho", 139.763360, 35.675056],
["Gare de Shinjuku", 139.700432, 35.690938],
["Gare d'Ikebukuro", 139.711570, 35.730235],
["Gare d'Akihabara", 139.774091, 35.698704],
["Gare d'Ueno", 139.777195, 35.713714]]
kml = simplekml.Kml()
for point in sample_points:
kml.newpoint(name=unicode(point[0], 'utf-8'), coords=[(point[1], point[2])])
kml.save('yamanote_line.kml')
#Affichage au format LINE STRING, altitude comprise
## [Nom de l'objet,longitude,latitude,Altitude,Couleur]
sample_linestrings = [["Arbre du ciel", 139.810657, 35.710089, 634.000000, simplekml.Color.grey],
["○ Barrage", 139.810557, 35.710089, 18.000000 , simplekml.Color.white],
["○ lutramain", 139.810657, 35.709989, 40.000000, simplekml.Color.red],
["○ Itan 3", 139.810757, 35.710089, 120.000000, simplekml.Color.yellow],
["○ Nbuster", 139.810657, 35.710189, 200.000000, simplekml.Color.black]]
kml = simplekml.Kml()
for linestring in sample_linestrings:
ls = kml.newlinestring(name=unicode(linestring[0], 'utf-8'))
ls.style.linestyle.color = linestring[4]
ls.style.linestyle.width = 8
ls.extrude = 1
ls.altitudemode = simplekml.AltitudeMode.absolute
ls.coords = [(float(linestring[1]), float(linestring[2]), float(linestring[3]))]
kml.save('skytree.kml')
Recommended Posts