He estado desarrollando un código para tomar un .csv con coords lat-long y convertirlos en LineStrings antes de crear offsets paralelos para ellos. Esto ha estado funcionando hasta ahora, pero ayer después de borrar mis variables, empecé a correr en un error al ejecutar mi código.
from shapely.geometry import LineString, Point
import pandas as pd
import geopandas as gpd
df = pd.read_csv("***/Kingsboro Rd NE.csv")
df = df.drop_duplicates()
geometry = [Point(xy) for xy in zip(df.lng, df.lat)]
df['geometry'] = geometry
df['agg'] = 1
df_line = gpd.GeoDataFrame(df.groupby(['agg'])['geometry'].apply(lambda x: LineString(x.tolist())), geometry='geometry')
df_line = df_line.set_crs("EPSG:4326")
df_line = df_line.to_crs("EPSG:2240")
df_offset_l = pd.DataFrame(df_line.iloc[0].geometry.parallel_offset(25, 'left', 2, mitre_limit = 100.0))
Todo funciona bien hasta la última línea, en la que obtengo el siguiente error:
ValueError: DataFrame constructor not properly called!
Como ya he comentado, hasta ayer no me salía este error, y necesito que funcione correctamente para realizar los otros pasos de manipulación de datos que siguen a esta línea de código.
Aquí hay una muestra del archivo de entrada:
lat
largo
33.85556214
-84.35139656
33.8
-84.35140193
33.85556214
-84.35139656
33.85553986
-84.35136706
33.85550868
-84.35134828
0 votos
Intenta crear
DataFrame
oGeoDataFrame
?