Daugiau

KML/CSV tvarkymas naudojant geopandas - tvarkyklės klaida: nepalaikoma tvarkyklė: u'CSV


Bandau importuoti JK pašto kodų rajonų JK pašto kodų rajonų duomenų rinkinį iš „Google Fusion“ lentelių į geografines skiltis, siekdamas susieti jį su būsto kainų duomenų rinkiniu.

Problema ta, kad atrodo, kad geopandai nepatinka nei CSV/KML duomenų versija.

Jei naudoju komandą geopandas.from_file (kelias), gaunu klaidą:

Vairuotojo klaida: nepalaikoma tvarkyklė: u'CSV

Turiu tą pačią klaidą, kai bandau importuoti KML duomenų versiją (duomenis galite atsisiųsti žemiau).

Esu tikras, kad tai nereikšminga, bet ar kas nors gali išsiaiškinti, ką darau neteisingai?

JK pašto kodų rajonai - KML

JK pašto kodų rajonai - CSV


csv atveju tikriausiai būtų lengviau jį perskaityti naudojant pandas ir konvertuoti į geopandų duomenų rėmelį

importuoti pandas kaip pd importuoti geopandas kaip gp iš formato.geometrijos importo Taškinės stotys = pd.read_csv ('… /data/stations.csv') stotys ['geometry'] = stotys.apply (lambda z: taškas (zX, zY) , ašis = 1) stotys = gp. GeoDataFrame (stotys)

KML tvarkyklė neįgalinta pagal numatytuosius nustatymus, kaip aprašyta šioje „Github“ laidoje https://github.com/Toblerity/Fiona/issues/97. Iš esmės atrodo, kad KML tvarkyklė neatitinka Fionos kokybės reikalavimų (nuo 2014 m.), Nesu tikras, ar ji bus pataisyta ateityje.

Tu galėtum bandyti skaityti paprastą/pakankamai standartinį KML taip:

importuoti geopandas kaip gpd fiona.drvsupport.supported_drivers ['kml'] = 'rw' # įgalinti KML palaikymą, kuris pagal nutylėjimą yra išjungtas fiona.drvsupport.supported_drivers ['KML'] = 'rw' # įgalinti KML palaikymą, kuris pagal numatytuosius nustatymus yra išjungtas gpd.read_file ("/path/to/your/test.kml")

Bandžiau čia perskaityti failą ir gavau tokį rezultatą:

Kreditas šiai esmei:

https://gist.github.com/timtroendle/6f61dc38a0aad58c2261524d7d8594c3

Redaguoti 20191021: su naujesnėmis versijomisfiona, gali tekti naudotilibkmlvietojkml. T.y.:

fiona.drvsupport.supported_drivers ['libkml'] = 'rw' # įgalinti KML palaikymą, kuris pagal nutylėjimą yra išjungtas fiona.drvsupport.supported_drivers ['LIBKML'] = 'rw' # įgalinti KML palaikymą, kuris pagal numatytuosius nustatymus

„GeoPandas“ remiasi „Fiona“ biblioteka (http://github.com/toblerity/Fiona).from_file ()įgyvendinimas. Šiuo metu „Fiona“, taigi ir „GeoPandas“, nepalaiko CSV ar KML įvesties. Jei galite juos konvertuoti į „GeoJSON“ arba „Shapefiles“, „GeoPandas“ turėtų sugebėti skaityti be problemų.


Dabartinė „Fiona“ versija palaiko CSV tvarkyklę. Gali tekti nurodyti platumos ir ilgumos stulpelių pavadinimus taip:

geopandas.read_file ("file.csv", X_POSSIBLE_NAMES = "X", Y_POSSIBLE_NAMES = "Y")

Daugiau informacijos apie galimus CSV tvarkyklės argumentus rasite „gdal“ tvarkyklės dokumentuose: https://gdal.org/drivers/vector/csv.html#open-options


Žiūrėti video įrašą: CSV Google Earth ზე (Spalio Mėn 2021).