v případě csv by bylo pravděpodobně jednodušší jej přečíst pomocí pand a poté převést na geopandas Dataframe
import pandas as pd
import geopandas as gp
from shapely.geometry import Point
stations = pd.read_csv('../data/stations.csv')
stations['geometry'] = stations.apply(lambda z: Point(z.X, z.Y), axis=1)
stations = gp.GeoDataFrame(stations)
Ovladač KML není ve výchozím nastavení povolen, jak je podrobně popsáno v tomto problému s githubem https://github.com/Toblerity/Fiona/issues/97. V zásadě se zdá, že ovladač KML nesplňuje požadavky Fiony na kvalitu (od roku 2014), není jisté, zda bude v budoucnu opraven.
Můžete to zkusit a přečíst si jednoduchý/standardně dostačující soubor KML takto:
import geopandas as gpd
fiona.drvsupport.supported_drivers['kml'] = 'rw' # enable KML support which is disabled by default
fiona.drvsupport.supported_drivers['KML'] = 'rw' # enable KML support which is disabled by default
gpd.read_file("/path/to/your/test.kml")
Pokusil jsem se přečíst soubor zde a dal mi následující výstup:
Poděkování za tuto podstatu:
https://gist.github.com/timtroendle/6f61dc38a0aad58c2261524d7d8594c3
Upravit 20191021:S novějšími verzemi fiona
, možná budete muset použít libkml
místo kml
. T.j.:
fiona.drvsupport.supported_drivers['libkml'] = 'rw' # enable KML support which is disabled by default
fiona.drvsupport.supported_drivers['LIBKML'] = 'rw' # enable KML support which is disabled by default
GeoPandas se spoléhá na knihovnu Fiona (http://github.com/toblerity/Fiona) pro from_file()
implementace. V současné době Fiona, a tedy GeoPandas, nepodporuje vstup CSV ani KML. Pokud je můžete převést na GeoJSON nebo Shapefiles, pak by GeoPandas měly být schopny číst bez problémů.