Geopandas经纬度转点异常:点显示位置错误问题排查
问题原因及解决办法
最可能的问题是初始地理坐标系设置错误:
你默认原始经纬度采用WGS84(EPSG:4326),但如果CSV里的经纬度实际是基于NAD83(EPSG:4269,北美地区常用的地理坐标系),初始crs设置错误会导致后续转投影时出现位置偏移。EPSG:2229本身是基于NAD83的加州投影,若用错初始坐标系,转换后的点就会跑到错误位置(比如海洋)。
解决步骤:
- 修正初始crs为NAD83,再执行投影转换:
geometry = [Point(xy) for xy in zip(df['lon'], df['lat'])] # 将初始坐标系改为EPSG:4269(NAD83) new_gdf = gpd.GeoDataFrame(df, crs='EPSG:4269', geometry=geometry) new_gdf.to_crs('EPSG:2229', inplace=True) new_gdf.plot() - 验证正确版本的坐标系:查看正确GeoDataFrame的初始crs(用
正确_gdf.crs),确保你的新gdf初始crs与之完全匹配。哪怕是WGS84和NAD83这种差异不大的坐标系,转投影后也会产生明显偏移。 - 核对投影后坐标:提取同一ID的点,对比你生成的gdf和正确版本在EPSG:2229下的坐标值。如果初始crs错了,转换后的坐标会和正确版本有明显差异;若坐标一致但绘图仍错,大概率是绘图轴范围或图层显示问题,但这种情况极少。
内容的提问来源于stack exchange,提问作者esim1
相关产品推荐
相关产品推荐

