Неверный результат после гео JSON экспорта из гео pandas GDF: неверный тип поля - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть скрипт, который берет данные из oracle, помещает данные в pandas .DataFrame -> geo pandas df и экспортирует в geo JSON:

import cx_Oracle
import pandas as pd
import geopandas as gpd
from shapely.geometry import LineString
from shapely import wkb
from sqlalchemy import *


con = cx_Oracle.connect('argument/user@hoooooost/service_n')
#c = con.cursor()
forty_df = pd.read_sql('select * from schema.table where column = 40', con)
df = pd.DataFrame(forty_df)
gdf = gpd.GeoDataFrame(
    df, geometry=gpd.points_from_xy(df.LON, df.LAT))

gdf.to_file("geocoder/forty.geojson", driver='GeoJSON') #problem line
#print(gdf.T.dtypes)

Когда я пробовал запустить скрипт, выбрасывает терминал: Файл "

/home/user/raster_dir/gaspsenv/lib/python3.7/site-packages/geopandas/geodataframe.py", line 515, in to_file
    to_file(self, filename, driver, schema, **kwargs)
  File "/home/user/raster_dir/gaspsenv/lib/python3.7/site-packages/geopandas/io/file.py", line 130, in to_file
    colxn.writerecords(df.iterfeatures())
  File "/home/user/raster_dir/gaspsenv/lib/python3.7/site-packages/fiona/collection.py", line 342, in writerecords
    self.session.writerecs(records, self)
  File "fiona/ogrext.pyx", line 1195, in fiona.ogrext.WritingSession.writerecs
  File "fiona/ogrext.pyx", line 412, in fiona.ogrext.OGRFeatureBuilder.build
ValueError: Invalid field type <class 'cx_Oracle.LOB'>

Я обнаружил, что это проект dtype, потому что все мои столбцы - это объект, а не целое число / строка, и т. д. c.

Что я нужно сделать, чтобы исправить это, и сделать экспорт корректно

...