关于TopoJSON以及制作方法

本文介绍了TopoJSON,一种扩展GeoJSON的格式,通过弧线拼接实现几何图形的紧凑表示,减少冗余,适用于地图简化、自动着色和拓扑分析。对比了TopoJSON与GeoJSON的效率,并展示了其在数据制作和在线工具中的应用,如QGIS的TopoJSONWriter插件。
摘要由CSDN通过智能技术生成

介绍

TopoJSONGeoJSON 的扩展,增加了拓扑逻辑的编码。 TopoJSON 引入了一种新类型“拓扑”,其中包含 GeoJSON 对象。 拓扑有一个对象映射,它按名称索引几何对象。 这些是标准的 GeoJSON 对象,例如多边形、多多边形和几何集合。 但是,这些几何的坐标存储在拓扑的 arcs 数组中,而不是单独存储在每个对象上。arcs是一系列点,类似于线串; 弧线缝合在一起形成几何图形。 最后,拓扑有一个变换,它指定如何将增量编码的整数坐标转换为其原始值(例如经度和纬度)。
TopoJSON 文件中的几何图形不是独立地表示,而是由共享的线段(称为弧线)拼接而成。TopoJSON 消除了冗余,提供了比 GeoJSON 更紧凑的几何表示;典型的 TopoJSON 文件比 GeoJSON 等价文件小 80%。此外,TopoJSON 还为使用拓扑的应用提供了便利,如拓扑保护形状简化、自动地图着色和制图。

{
  "type": "Topology",
  "transform": {
    "scale": [0.036003600360036005, 0.017361589674592462],
    "translate": [-180, -89.99892578124998]
  },
  "objects": {
    "aruba": {
      "type": "Polygon",
      "arcs": [[0]],
      "id": 533
    }
  },
  "arcs": [
    [[3058, 5901], [0, -2], [-2, 1], [-1, 3], [-2, 3], [0, 3], [1, 1], [1, -3], [2, -5], [1, -1]]
  ]
}

TopoJSON 文件中的几何图形不是离散地表示几何图形,而是由称为弧的共享线段拼接在一起。这种技术类似于 Matt Bloch 的 MapShaper 和 Arc/Info 导出格式,.e00。 TopoJSON 消除了冗余,允许将相关几何图形有效地存储在同一文件中。例如,加利福尼亚州和内华达州之间的共享边界只出现一次,而不是两个州都重复。单个 TopoJSON 文件可以包含多个不重复的要素集合,例如州和县。或者,一个 TopoJSON 文件可以有效地将多边形(用于填充)和边界(用于笔画)表示为共享相同弧形网格的两个要素集合。

因此,TopoJSON 比 GeoJSON 更加紧凑。上面美国县的shapefile作为GeoJSON文件是2.2M,但是作为边界网格只有436K,不简化也减少了80.4%。 TopoJSON 也可以更有效地呈现,因为共享控制点只需要投影一次。为了进一步减小文件大小,TopoJSON 对整数坐标而不是浮点数使用固定精度的增量编码。这类似于舍入坐标值(例如 LilJSON),但精度更高。与 GeoJSON 一样,TopoJSON 文件可以在文本编辑器中轻松修改,并且可以进行 gzip 压缩。

最后,编码拓扑在地图和可视化方面有许多有用的应用。它促进了几何简化,保留了相邻特征的连通性;这甚至适用于跨要素集合,例如同时一致地简化州和县边界。拓扑也可用于多林地图和其他需要共享边界信息的技术。

数据制作

  1. 在线工具
  2. QGIS(安装TopoJSON Writer插件)
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值