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
- 上传文件 — 将多个 .topojson 或 .json 文件拖放到上传区域,或点击“浏览文件”
- 查看结果 — 文件会立即使用默认设置进行压缩
- 调整选项(可选) — 更改变换精度,选择保留/移除的属性
- 预览 — 点击“预览”检查压缩后的输出
- 下载 — 点击任意文件旁的下载按钮保存优化版本
- 清除 — 使用“全部清除”移除所有文件并重新开始
理解变换精度
TopoJSON 的变换包含带有小数值的缩放和平移数组。缩放决定了量化坐标的精度。减少缩放小数类似于减少 GeoJSON 中的坐标精度——小数越少,网格大小越大,但文件越小。
“赤道附近网格大小”提示显示了减少精度如何影响实际精度,帮助您为您的使用场景选择合适的平衡点。对于大多数网络地图,默认设置提供了出色的质量,同时最大限度地减少了文件大小。
批量处理与大文件支持
这个免费的在线工具可以高效处理大型 TopoJSON 文件。在现代浏览器上,它可以处理超过 100MB 的文件而不会卡顿。文件上传后会使用智能默认设置进行优化,并立即反馈结果。调整设置以重新处理所有文件,然后单独下载或预览每个结果。
何时使用 TopoJSON 而不是 GeoJSON
使用 TopoJSON 的场景:
- 您有相邻的多边形(国家、省份、人口普查区块、邮政编码)
- 文件大小至关重要(移动用户、带宽限制)
- 您需要确保特征之间的边界对齐
- 创建分级地图或边界可视化
使用 GeoJSON 的场景:
- 您有点数据或非相邻特征
- 需要最大兼容性
- 需要简单、易读的文件
- 使用不支持 TopoJSON 的工具
相关工具
- GeoJSON 压缩工具 — 优化标准 GeoJSON 文件
- JSON 压缩工具 — 从任何 JSON 文件中移除空白
- GeoJSON/TopoJSON 转换器 — 格式之间的转换
- Shapefile 转 GeoJSON — 导入 Shapefile 数据