Skip to content

TopoJSON 压缩工具

使用这个免费的在线 TopoJSON 压缩工具,通过优化变换精度和移除属性快速轻松地减少文件大小,无需安装任何软件。

点击“上传文件”按钮,选择您希望压缩的 TopoJSON 文件。等待处理完成后,您可以单独或批量下载文件。

所有处理均在您的浏览器中完成——没有数据上传到任何服务器。

什么是 TopoJSON?

TopoJSON 是 GeoJSON 的扩展,它编码了拓扑结构而不仅仅是几何结构。TopoJSON 不会单独存储每个多边形的坐标(这会导致相邻区域的大量重复),而是只存储共享边界弧线并从多个几何体中引用它们。这种拓扑编码通常比等效的 GeoJSON 文件减少 80% 或更多的文件大小,非常适合用于包含国家、省份、县或任何相邻多边形的网络地图。

TopoJSON 文件使用量化的整数坐标和变换(缩放和平移值)将它们转换回地理坐标。这种量化类似于在 GeoJSON 中减少小数精度,但内置于格式本身。

TopoJSON 的优点

  • 显著减少文件大小 — 通常比等效 GeoJSON 小 80-95%
  • 拓扑结构保留 — 共享边界仅存储一次,确保完美对齐
  • 高效渲染 — 像 D3.js 这样的库可以直接渲染 TopoJSON
  • 更好的压缩 — gzip 压缩对 TopoJSON 的效果比 GeoJSON 更好
  • 适合分级地图 — 非常适合国家、省份、县边界可视化

TopoJSON 的缺点

  • 支持较少 — 支持 TopoJSON 的工具比 GeoJSON 少
  • 需要转换 — 大多数网络地图库需要将 TopoJSON 转换为 GeoJSON
  • 结构更复杂 — 比 GeoJSON 更难阅读和手动编辑
  • 不适合点数据 — 拓扑优势仅适用于共享边界
  • 属性访问有限 — 属性存储在单独的对象中,而不是直接与几何体一起

为什么要压缩 TopoJSON?

TopoJSON 使用量化的整数坐标和变换(缩放和平移)。许多 TopoJSON 文件在变换值中包含过多的小数,并且包含不需要用于可视化的庞大属性。减少变换精度和修剪不必要的属性可以在 TopoJSON 本身的压缩基础上进一步减少 30-60% 的文件大小,同时删除空白还能节省额外空间。

优化后的 TopoJSON 文件加载更快,减少带宽成本,并提高地图渲染性能。此工具帮助您创建更精简的拓扑文件:

  • 减少变换精度 — 使用可视化“赤道网格大小”指导调整缩放/平移小数
  • 属性过滤 — 仅保留必要属性,移除未使用的属性
  • 批量处理 — 同时上传和处理多个 TopoJSON 文件
  • 智能默认设置 — 自动优化,提供平衡的精度设置
  • 预览输出 — 下载前检查压缩结果
  • 修剪空白 — 移除所有不必要的格式
  • 完全客户端处理 — 无需服务器上传,完全隐私

如何压缩 TopoJSON

  1. 上传文件 — 将多个 .topojson 或 .json 文件拖放到上传区域,或点击“浏览文件”
  2. 查看结果 — 文件会立即使用默认设置进行压缩
  3. 调整选项(可选) — 更改变换精度,选择保留/移除的属性
  4. 预览 — 点击“预览”检查压缩后的输出
  5. 下载 — 点击任意文件旁的下载按钮保存优化版本
  6. 清除 — 使用“全部清除”移除所有文件并重新开始

理解变换精度

TopoJSON 的变换包含带有小数值的缩放和平移数组。缩放决定了量化坐标的精度。减少缩放小数类似于减少 GeoJSON 中的坐标精度——小数越少,网格大小越大,但文件越小。

“赤道附近网格大小”提示显示了减少精度如何影响实际精度,帮助您为您的使用场景选择合适的平衡点。对于大多数网络地图,默认设置提供了出色的质量,同时最大限度地减少了文件大小。

批量处理与大文件支持

这个免费的在线工具可以高效处理大型 TopoJSON 文件。在现代浏览器上,它可以处理超过 100MB 的文件而不会卡顿。文件上传后会使用智能默认设置进行优化,并立即反馈结果。调整设置以重新处理所有文件,然后单独下载或预览每个结果。

何时使用 TopoJSON 而不是 GeoJSON

使用 TopoJSON 的场景:

  • 您有相邻的多边形(国家、省份、人口普查区块、邮政编码)
  • 文件大小至关重要(移动用户、带宽限制)
  • 您需要确保特征之间的边界对齐
  • 创建分级地图或边界可视化

使用 GeoJSON 的场景:

  • 您有点数据或非相邻特征
  • 需要最大兼容性
  • 需要简单、易读的文件
  • 使用不支持 TopoJSON 的工具

相关工具