0

I had a shapefile which I converted to a geodataframe, and created a geometry column. I did some manipulation with it in pandas. I am now trying to convert it back into a geodataframe and eventually a shapefile but cannot make it work. I have tried the usual methods:

import pandas as pd
import geopandas as gpd

df = pd.read_csv('DirectMail.csv')
df = gpd.GeoDataFrame(df, geometry='GEOMETRY__C')

and get the following error. This is the first row in the dataframe by the way:

TypeError: Input must be valid geometry objects: MULTIPOLYGON (((1241887.500623662 949342.9993114918, 1241827.375743911...

After looking at other Stack Overflow threads I tried this way using shapely wkt

import pandas as pd
import geopandas as gpd
from shapely import wkt

df = pd.read_csv('DirectMail.csv')
df['GEOMETRY__C'] = df['GEOMETRY__C'].apply(wkt.loads)

and I get this error:

WKTReadingError: Could not create geometry because of errors while reading input.

If I check to see if the geometries in the 'GEOMETRY__C' column are valid like this...

import geopandas as gpd
import shapely as sh

gdf = gpd.read_file("DirectMail.csv")

gdf['validation'] = gdf['GEOMETRY__C']

I have the following result:

0   False
1   False
2   False

and so on...

This makes me wonder, is the 'GEOMETRY__C' column in the wrong data type? I checked the data type of this column and it is pandas dtype('O')

Does anyone have other suggestions what I can do? Do I need to changes the datatype of the geometry column?

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.