Повеќе

Геопанди: не може да се спаси геојсон

Геопанди: не може да се спаси геојсон


Мојата задача е да испратам геојсон, да додадам податоци од соодветниот csv, да испуштам некои колони, потоа да ги зачувам на геојсон.

Сепак, откако направив с everything, додадов податоци за csv (gj.join (df)), итн., Не можам да ги зачувам на geojson што го добија овој Keyerror:

KeyError Traceback (последниот повик последен) во () ----> 1 x = newGj.to_json () 2 x /usr/local/lib/python2.7/site-packages/geopandas/geodataframe.pyc во to_json (само , na, *kwargs) 249 врати json.dumps (250 {'тип': 'FeatureCollection', -> 251 'карактеристики': [карактеристика (i, ред) за i, ред во self.iterrows ()]}, 252 *kwargs) 253/usr/local/lib/python2.7/site-packages/geopandas/geodataframe.pyc во функција (i, ред) 245 'својства': 246 дикт ((k, v) за k, v во итератими (ред) ако k! = self._geometry_column_name), -> 247 'геометрија': пресликување (ред [self [_ geometry_column_name])} 248 249 враќање json.dumps (KeyError: Нема

какви команди всушност користиш?

УРЕДУВАЊЕ водат со погрешно/лажно "нема начин да се" напише геојсон "" коментар првично

Гледајќи во документацијата, не гледам начин како да „пишувам на геојсон“, освенgeoDF.to_file ()за што ќе добиете форма датотека или ќе треба да наведете драјвер за OGR.

Ми се допаѓа подолу опцијата за користењеgeoDF.to_json ()подобро затоа што едноставно враќа форматирана низа GeoJSON.

Пробајте нешто како ова:

со отворен ('test.geojson', 'w') како f: f.write (geoDF.to_json ())

ПРЕДУПРЕДУВАЕ: изгледаGeoPandas.to_json ()не го специфицира ЦРС, така што повторно се чита во податоцитеGeoPandas.read_file ()ќе претпостави дека вашите податоци се во WGS (EPSG = 4326). Не гледам како да ги наведам crs во kwargs така што за мене е полесно едноставно да се репроектираат податоците (geoDF.to_crs (epsg = 4326, место = точно)) пред да напишете во датотека.

Алтернативно, подолу, исто така, работи за мене НО

  • ми дава „ПРЕДУПРЕДУВАЕ: Фиона: CPLE_NotПоддржано во базата на податоци .geojson не поддржува опција за создавање слој ENCODING“ кога ќе прочитам повторно, и
  • не сите геометрии напишани со користење нада_датотека ()методот е еднаков на геметриите напишани соf.пише ()метод. Претпоставувам дека ова има врска со тоа како GeoPandas се справува со основниот возач, но јас не разгледав понатаму

nyc_blocks.to_file ('geoDF.geojson', возач = "GeoJSON")