Skip to content
Worix
BrowsePublish
Log inSign Up

坐标转换

支持GeoJSON格式点、线、面数据在WGS84(经纬度)和Web Mercator(EPSG:3857)坐标系间批量转换。

19 downloads
Free
Reviewed

GIS 坐标转换 Skill

快速转换点、线、面数据的坐标系:WGS84(经纬度)↔ Web Mercator(EPSG:3857)

快速开始

转换 GeoJSON 到墨卡托

python3 ~/.openclaw/workspace/skills/gis-coord-transform/scripts/transform_coords.py input.geojson -t mercator -o output.geojson --pretty

转换墨卡托回经纬度

python3 ~/.openclaw/workspace/skills/gis-coord-transform/scripts/transform_coords.py input.geojson -t wgs84 -o output.geojson --pretty

支持的几何类型

类型说明
Point点
LineString线
Polygon面
MultiPoint多点
MultiLineString多线
MultiPolygon多面
FeatureGeoJSON 要素
FeatureCollection要素集合

命令行参数

参数说明
input输入 GeoJSON 文件路径
-o, --output输出文件路径(默认输出到 stdout)
-t, --to目标坐标系:mercator 或 wgs84
--pretty美化输出 JSON

使用示例

示例 1:转换单个点

// input.geojson
{
  "type": "Point",
  "coordinates": [116.4074, 39.9042]
}
python3 scripts/transform_coords.py input.geojson -t mercator

输出(墨卡托坐标):

{
  "type": "Point",
  "coordinates": [12958396.7, 4865942.3]
}

示例 2:转换 FeatureCollection

python3 scripts/transform_coords.py cities.geojson -t mercator -o cities_mercator.geojson --pretty

示例 3:批量转换

for file in *.geojson; do
  python3 scripts/transform_coords.py "$file" -t mercator -o "${file%.geojson}_mercator.geojson"
done

依赖安装

pip3 install pyproj

坐标系说明

坐标系EPSG 代码用途
WGS84EPSG:4326GPS、经纬度、地理坐标
Web MercatorEPSG:3857Web 地图(Google Maps、OpenStreetMap、Mapbox 等)

常见问题

为什么转换后坐标数字变大了?

Web Mercator 使用米为单位,而 WGS84 使用度。墨卡托坐标通常在百万级别。

转换精度如何?

使用 pyproj 库,精度非常高,适合专业 GIS 应用。

支持其他坐标系吗?

当前版本仅支持 WGS84 ↔ Web Mercator。如需其他坐标系,可扩展 pyproj.Transformer。

扩展建议

需要添加其他坐标系转换时,修改脚本中的 Transformer 定义:

# 例如:WGS84 → CGCS2000 (EPSG:4490)
transformer = Transformer.from_crs("EPSG:4326", "EPSG:4490", always_xy=True)

相关文件

  • scripts/transform_coords.py - 坐标转换主脚本

Download

ZIP package — ready to use

Skill Info

Creator
pointGH
Downloads
19
Published
Mar 15, 2026
Updated
Mar 16, 2026