#python #geopandas #fiona
#python #геопанды #фиона
Вопрос:
Я попытался сохранить геопанды в KML.
Ниже приведен мой код.
import fiona
fiona.supported_drivers['KML'] = 'rw'
gp.io.file.fiona.drvsupport.supported_drivers['KML'] = 'rw'
a = df_geom[['Geohash_8','Geohash_7','Final Action (Coverage)','geometry']].head(3)
a.to_file('test.kml',driver='KML')
Когда я открываю в Google Планета Земля, полигон не отображает «Окончательное действие (покрытие)».
Комментарии:
1. Насколько я понимаю, KML на самом деле не поддерживается Fiona (см. github.com/Toblerity/Fiona/issues/97 ). Это означает, что даже если вы вручную разрешите драйверу KML, он не будет обрабатывать все правильно. Он ведет себя странно, иногда он экспортирует то, что вы ожидаете, иногда нет (я не мог найти шаблон, почему). После нескольких попыток я получил все значения правильно. Попробуйте добавить другие столбцы… не уверен, что происходит.
Ответ №1:
Я нашел решения.
with open('./test.json', 'w') as f:
f.write(a.to_json())
# YOU NEED TO INSTALL ogrogr FROM https://trac.osgeo.org/osgeo4w/
import subprocess
subprocess.call("ogr2ogr -f KML ./test.kml ./test.json ",shell=True)