2016-03-25 2 views
0

J'ai un GeoDataFrame de geopandas avec divers polygones et les couleurs que j'utilise pour tracer des données météorologiques (une autre question que je posais here):polygones GeoDataFrame Convertir fichier kml

 color geometry 
0 #fbfdd1 (POLYGON ((-97.12191717810094 32.569, -97.1194... 
1 #f3fabf (POLYGON ((-97.12442748846019 32.569, -97.1219... 
2 #ebf7b1 (POLYGON ((-97.12944810917861 32.569, -97.1269... 
3 #daf0b2 (POLYGON ((-97.18969555780023 32.569, -97.1879... 
4 #cbeab3 (POLYGON ((-97.18969555780023 32.5710632999095... 
5 #afdfb6 (POLYGON ((-97.18467493708175 32.569, -97.1821... 
6 #92d4b9 (POLYGON ((-97.17463369564484 32.5730575804109... 
7 #74c9bc (POLYGON ((-97.17714400600408 32.5764063816167... 
8 #5bbfc0 (POLYGON ((-97.17714400600408 32.5790959050363... 
9 #40b5c3 (POLYGON ((-97.17463369564484 32.5814268890055... 
10 #31a6c2 (POLYGON ((-97.17714400600408 32.5852716913413... 
11 #2397c0 (POLYGON ((-97.17714400600408 32.5878055733984... 
12 #1e83b9 (POLYGON ((-97.17714400600408 32.5895482376014... 
13 #206eaf (POLYGON ((-97.17714400600408 32.5911487379959... 
14 #2259a5 (POLYGON ((-97.17714400600408 32.5927834911588... 
15 #23479d POLYGON ((-97.17463369564484 32.59421434681196... 
16 #243594 POLYGON ((-97.17463369564484 32.5962866795434,... 
17 #1a2b7d POLYGON ((-97.1721233852856 32.59996829071199,... 

je voudrais convertir cette à un fichier kml/kmz, mais je n'ai jamais travaillé avec ce type de fichier auparavant, donc je ne sais pas comment procéder. J'ai essayé d'utiliser le script this, mais il nécessite un certain champ de hauteur que je n'ai pas. Existe-t-il un moyen simple/efficace de le faire dans Python? Je voudrais éviter d'utiliser des outils de conversion en ligne, si possible.

Répondre

1

Je peut avoir trouvé une solution ...

J'ai installé le Geospatial Data Abstraction Library et ont été en utilisant la fonction ogr2ogr.

Comme je l'ai expliqué dans ma question, j'ai geopandas GeoDataFrame avec des polygones et des couleurs associées, que j'écrire dans un fichier JSON:

with open('/Users/Me/Documents/mydata.json', 'w') as f: 
    f.write(gdf.to_json()) 

Dans la ligne Terminal/commande, type I:

ogr2ogr -f KML /Users/Me/Documents/mydata.kml /Users/Me/Documents/mydata.json 

Vous pouvez techniquement appeler cette commande à partir d'un script python utilisant la bibliothèque 'subprocess':

import subprocess 
subprocess.call("ogr2ogr -f KML /Users/Me/Documents/mydata.kml /Users/Me/Documents/mydata.json",shell=True) 

Ceci génère un fichier kml avec mes polygones lat/lon. Cependant, il définit automatiquement toutes les couleurs de ligne en rouge sans couleur de remplissage (même si mon fichier json contient des couleurs). Je n'ai pas trouvé une bonne solution à cela, donc j'ai édité le fichier KML à la main pour obtenir le style que je veux.

+0

Ceci se termine par une erreur de 'ERROR 4: Impossible de lire les données GeoJSON ÉCHEC: Impossible d'ouvrir la source de données .... json 'avec les pilotes suivants. – nish