Skip to content

Instantly share code, notes, and snippets.

@nygeog
Last active July 18, 2024 00:31
Show Gist options
  • Save nygeog/2731427a74ed66ca0e420eaa7bcd0d2b to your computer and use it in GitHub Desktop.
Save nygeog/2731427a74ed66ca0e420eaa7bcd0d2b to your computer and use it in GitHub Desktop.
Read a CSV with Pandas and set as GeoDataFrame with geopandas and save as Shapefile with fiona
import pandas as pd
from geopandas import GeoDataFrame
from shapely.geometry import Point
import fiona
df = pd.read_csv('data.csv')
geometry = [Point(xy) for xy in zip(df.x, df.y)]
crs = {'init': 'epsg:2263'} #http://www.spatialreference.org/ref/epsg/2263/
geo_df = GeoDataFrame(df, crs=crs, geometry=geometry)
geo_df.to_file(driver='ESRI Shapefile', filename='data.shp')
# https://gis.stackexchange.com/questions/204201/geopandas-to-file-saves-geodataframe-without-coordinate-system
# http://geopandas.org/io.html#writing-spatial-data
# https://gis.stackexchange.com/questions/174159/convert-a-pandas-dataframe-to-a-geodataframe
@TeresaSereno
Copy link

Hi,

How could this be achieved if the variable is a multipoint instead of a point?
Many thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment