To add a spatial reference (a coordinate reference system, CRS) to a GeoDataFrame in GeoPandas, you can set the crs
attribute of the GeoDataFrame to the desired CRS. Here's how you can do it:
import geopandas as gpd
from shapely.geometry import Point
# Create a DataFrame (example)
data = {'City': ['New York', 'Los Angeles', 'Chicago'],
'Latitude': [40.7128, 34.0522, 41.8781],
'Longitude': [-74.0060, -118.2437, -87.6298]}
df = pd.DataFrame(data)
# Convert Latitude and Longitude columns to numeric type
df['Latitude'] = pd.to_numeric(df['Latitude'])
df['Longitude'] = pd.to_numeric(df['Longitude'])
# Create geometry column using shapely Point objects
geometry = [Point(xy) for xy in zip(df['Longitude'], df['Latitude'])]
# Create GeoDataFrame
gdf = gpd.GeoDataFrame(df, geometry=geometry)
# Set CRS (coordinate reference system)
# For example, let's use EPSG:4326 which is commonly used for latitude and longitude coordinates
gdf.crs = "EPSG:4326"
# Print GeoDataFrame
print(gdf)
In this example, after creating the GeoDataFrame gdf
, the CRS is set to EPSG:4326, which corresponds to the WGS 84 geographic coordinate system commonly used with latitude and longitude coordinates. You can replace "EPSG:4326"
with any other CRS that suits your data.