You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Geopandas中Geometry列转换为WGS84坐标系的经纬度?

最优实现:将GeoJSON点转换为WGS84经纬度

核心思路

利用Geopandas的内置坐标系转换方法to_crs()完成批量坐标转换,再直接提取几何对象的x(经度)和y(纬度)属性,全程采用向量化操作,避免低效的循环或apply,保证处理效率。

完整代码

import geopandas as gpd

# 1. 读取GeoJSON文件
df = gpd.read_file('/content/buildings.geojson')

# 2. 确认并设置原始坐标系(若未自动识别)
# 从你提供的坐标格式(如POINT (-12635143.897 7083229.283))推测,原始坐标系为Web墨卡托(EPSG:3857)
if df.crs is None:
    df = df.set_crs(epsg=3857)

# 3. 转换到WGS84坐标系(EPSG:4326)
df_wgs84 = df.to_crs(epsg=4326)

# 4. 提取经度和纬度,添加为新列
df_wgs84['longitude'] = df_wgs84.geometry.x
df_wgs84['latitude'] = df_wgs84.geometry.y

# 可选:查看转换结果
print(df_wgs84[['longitude', 'latitude', 'geometry']].head())

关键说明

  • 坐标系确认:GeoJSON文件通常自带CRS信息,若未识别,根据坐标数值范围(大负数/大正数)可判断为Web墨卡托(EPSG:3857),这是在线地图常用的投影坐标系。
  • 高效性:to_crs()和直接提取x/y属性都是Geopandas底层优化的向量操作,处理大规模数据时比手动循环或apply快数倍。
  • 结果验证:转换后的经度范围应为[-180, 180],纬度范围应为[-90, 90],符合WGS84的标准范围。

内容的提问来源于stack exchange,提问作者Uttaran Gangopadhyay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:21:42