GeoPandas Set CRS on Points

大兔子大兔子 提交于 2019-12-05 02:32:26

As of 2018 setting the CRS in GeoPandas is as simple as:

gdf.crs = {'init' :'epsg:4326'}

where gdf is a geopandas.geodataframe.GeoDataFrame

so in the example above it would be:

h=pd.DataFrame({'zip':[19152,19047],
               'Lat':[40.058841,40.202162],
               'Lon':[-75.042164,-74.924594]})

geometry = [Point(xy) for xy in zip(h.Lon, h.Lat)]
hg = GeoDataFrame(h, geometry=geometry)

hg.crs = {'init' :'epsg:4326'}  
# ^ comment out to get a "Cannot transform naive geometries" error below

# project to merkator
hg.to_crs({'init': 'epsg:3395'})

         Lat        Lon    zip                                      geometry
0  40.058841 -75.042164  19152  POINT (-8353655.484505325 4846992.030409531)
1  40.202162 -74.924594  19047   POINT (-8340567.65197276 4867777.107279473)
Dance Party2

The answer was here all along:

hg=hg.to_crs(c.crs)

This sets the crs for hg to that of c.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!