跳到主要内容
Vecaria

GeoJSON 转 TopoJSON

本地处理

免费在线把 GeoJSON 转换为 TopoJSON:共享弧线去重、体积更小,量化因子可调,浏览器本地处理、不上传、免登录。

当前为示例数据,可直接点「转换为 TopoJSON」试用

量化因子将坐标取整到该规模的归一化整数网格(Mapshaper -quantization 同口径)。网格步长 = 数据跨度 /(量化因子 − 1):值越大精度越高、弧段共享与压缩率越低。

输出坐标按 1e5 量化(约 0.00001 度,赤道处约 1.1 米)以提升弧段共享与压缩率——精密坐标应用请注意此精度损失。

地图预览(MapLibre,几何在本地渲染;CARTO 底图瓦片需联网加载)

使用方法

  1. 粘贴 GeoJSON,或拖入/选择 .geojson/.json 文件(输入几何随粘贴/载入实时显示在地图预览)
  2. 按需调整量化因子(默认 100000)
  3. 点击「转换为 TopoJSON」
  4. 下载 .topojson

常见问题

  • 问:我的文件是 .json 不是 .geojson,能用吗? 答:可以——GeoJSON 本身就是 JSON,只要 .json 里是合法的 GeoJSON 要素集合或几何对象就能转;不是 GeoJSON 的 JSON 会响亮报错,不会产出无效 TopoJSON 假成功。
  • 问:TopoJSON 和 GeoJSON 到底有什么不同? 答:几何内容一样,存储方式不同:GeoJSON 里每个多边形各自重复存一遍共享边界,TopoJSON 把每条弧线只存一次、多边形引用弧线,所以多边形密集的数据(行政区划、宗地)瘦身体积最大。坐标会量化取整(默认 1e5、可调)——单个几何的文件几乎不减小,这就是「拓扑 vs 普通」的差别所在。
  • 问:GeoJSON 太大,网页地图加载慢,转 TopoJSON 有用吗? 答:多边形共享边界多的时候通常有用——弧线去重 + 坐标量化,体积明显下降。如果共享边很少,先用 geojson-simplify 抽稀(或调大量化因子)——这时候省的是几何量,不是拓扑。
  • 问:需要装 mapshaper 或写 Python 吗? 答:都不用——纯浏览器运行,免安装、不上传。mapshaper 功能更全(简化、投影、合并),本工具是「只想把 GeoJSON 转成 TopoJSON、还想调量化」的零配置路径。

功能说明

  • 基于 topojson-server(ISC)
  • 共享拓扑、体积更小;量化因子可调(步长披露随输入跨度计算)
  • 坐标守卫:畸形坐标响亮拒绝
  • 浏览器本地完成

隐私

本工具在浏览器本地处理,输入内容不会上传服务器。

TL;DR: GeoJSON 转 TopoJSON:共享弧线去重、体积更小,量化可调,本地完成、不上传、免登录。

示例

  • 粘贴 GeoJSON 或载入文件 → 得到 TopoJSON

支持的格式

GeoJSONTopoJSON

限制说明

  • 量化因子可调(默认 1e5,Mapshaper -quantization 同口径):网格步长 = 数据跨度/(量化因子 − 1),转换后页内按输入实际跨度披露步长(度与赤道米)——同一因子下跨度越大位移越大
  • 坐标校验:null/NaN/非数值/空坐标数组响亮双语拒绝,不产出无效 TopoJSON 假成功
  • 输入地图预览:粘贴/载入即可视共享边合并效果(MapLibre,几何本地渲染;CARTO 底图瓦片需联网)
  • 浏览器本地处理,不上传