跳到主要内容
Vecaria

Shapefile 转 GeoJSON

本地处理

在线把 Shapefile 转换为 GeoJSON:拖入 .zip 或散装同名 .shp/.dbf/.prj/.cpg(免打包),属性保留、可选 DBF 编码防中文乱码,可导出 DXF;浏览器本地处理、不上传、免登录。

拖拽文件到此处,或点击选择

支持 ZIP、SHP、DBF、PRJ、CPG

选择文件

拖入打包的 Shapefile(.zip),或直接把同名散装 .shp/.dbf/.prj/.cpg 一起拖入(免打包);中文属性可手动指定 DBF 编码防乱码。→ GeoJSON / DXF,全程本地。

使用方法

  1. 把 Shapefile 打包为 .zip,或把同名散装 .shp/.dbf/.prj/.cpg 一起选中拖入(免打包)
  2. 中文属性乱码时,拖入前在「DBF 编码」中选择 GBK/GB18030/Big5(zip 内含 .cpg 时自动识别)
  3. 拖入后自动转换:查看结果摘要与地图预览,复制/下载 GeoJSON,或导出 DXF

常见问题

  • 问:属性里的中文变成乱码怎么办? 答:DBF 经常用 GBK/GB18030/Big5 存中文而不是 UTF-8。拖入前在「DBF 编码」里选对应编码即可;zip 内含 .cpg 会自动识别,转换后属性会正确保留在 GeoJSON 的 properties 里。
  • 问:输出的 GeoJSON 是什么坐标系? 答:如果带 .prj 文件,会读取源坐标系并自动转换为 WGS 84(EPSG:4326)——GeoJSON(RFC 7946)默认的坐标系。没有 .prj 时坐标原样保留,源坐标系不明时建议先在桌面 GIS 里确认。
  • 问:需要装 QGIS/ArcGIS 或写 Python 吗? 答:不用——解析和转换全部在浏览器里用 shpjs 完成,无需安装软件、无需写代码。批量处理或重投影仍是 QGIS/ArcGIS 的强项;单个 Shapefile 要赶紧转成 GeoJSON(或 DXF)时,本页最快。
  • 问:我要的是普通 JSON,不是 GeoJSON,行吗? 答:行——GeoJSON 本身就是 JSON:下载的 .geojson 是标准的 JSON 要素集合(FeatureCollection),任何 JSON 解析器都能读,直接当 .json 用于脚本和 API 都可以。

功能说明

  • shpjs 解析多图层 Shapefile
  • 超过 5MB 的 zip 在后台 Worker 线程解析,不阻塞页面(失败自动回退主线程,行为一致)
  • 散装模式各文件作用:.shp 几何(散装必需)|.dbf 属性(可选)|.prj 坐标系(可选,自动转 WGS 84)|.cpg 编码(可选,zip 内自动识别)
  • 一键转 DXF 供 CAD/激光切割使用
  • 结果附要素摘要(要素数/图层数/类型分布)与地图预览(真实底图,几何本地渲染;无 WebGL 回退几何示意)
  • 浏览器本地完成

隐私

Shapefile 常含地块、权属、管线等敏感图层:本工具的解析与转换是纯浏览器内计算,文件从不上传,关闭页面即消失——这也是本地处理对 GIS 数据格外要紧的原因。

TL;DR: Shapefile 转 GeoJSON:拖入 .zip 或散装同名 .shp/.dbf/.prj/.cpg(免打包),自动转换与地图预览,可选 DBF 编码防中文乱码,可导出 DXF;浏览器本地处理、不上传、免登录。

示例

  • 上传 shapefile.zip → GeoJSON / DXF
  • 散装拖入同名 .shp+.dbf+.prj → 免打包转换

支持的格式

SHPGeoJSONDXF

限制说明

  • 支持 .zip 打包或散装同名 .shp/.dbf/.prj/.cpg(散装至少需要 .shp)
  • 属性保留在 properties;乱码时可选 DBF 编码(GBK/GB18030/Big5),zip 内含 .cpg 自动识别
  • 可转换大小受浏览器内存限制
  • 超过 5MB 的 zip 在后台 Worker 线程解析(不阻塞页面);解析失败自动回退主线程,两条路径行为一致
  • 地图预览的几何在浏览器本地渲染(MapLibre),CARTO 底图瓦片需联网加载;无 WebGL 时回退为几何示意,预览均抽样显示,下载文件含全部