介绍

TopoJSON 是 GeoJSON 的扩展,增加了拓扑逻辑的编码。 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插件)

关于TopoJSON以及制作方法相关推荐

  1. echarts的词云图表类型有哪些_词云图的几种制作方法评测,你pick哪款

    前言 大家好,不知道大家会在什么场合使用词云图,对我来说词云图的优点除了它可以展示大量文本数据.从而让读者快速抓住重点,更重要的是词云图好看啊所以今天给大家分享几种词云图的制作方法.首先我们来思考一下 ...

  2. grub2引导linux内核,一种基于grub2的linux系统启动bootloader的制作方法与流程

    技术领域 本发明涉及服务器应用技术领域,具体涉及一种基于grub2的linux系统启动bootloader的制作方法. 背景技术: 当前linux系统的内核版本已经升级至4.0以上,最新的linux系 ...

  3. typecho本地上传头像_微信QQ抖音透明头像制作方法,还有不会的吗?

       精彩内容每天更新 她搂着被子从床上坐起来,愣了十几秒,听到厨房有动静后,这才撒着脚往房间外跑,看到一抹修长背影在厨房里忙活. 邵允琛做好早餐从厨房出来,见陆瑶穿着睡裙站那,眉头皱了皱," ...

  4. 14岁初中生3天制成勒索病毒 制作方法或自学而成

    日媒称,6月5日采访神奈川县警方获悉,因制作被称为"勒索软件"的病毒,涉嫌制作非法指令电磁记录等被该县警方逮捕的大阪府高槻市初三男生(14岁)供述称,"病毒是用自己的电脑 ...

  5. 网线的制作方法和千兆网线的施工注意事项

    由于近年来1000m网络的应用普及.对于网管来说,1000m网线的制作和施工走上日常工作.我是从2003年接触1000m网络的,当时对于1000m网线制作的资料网上很少,下面是我当时整理出来的资料.希 ...

  6. 怎么形容智能冰激凌机器人_一种人机交互型冰激凌多功能自动售卖机器人的制作方法...

    本发明涉及智能机器人技术领域,具体为一种人机交互型冰激凌多功能自动售卖机器人. 背景技术: 冰淇淋(ice cream),是以饮用水.牛奶.奶粉.奶油(或植物油脂).奶油食糖等为主要原料,加入适量食品 ...

  7. Cadence入门笔记(2):分裂元件的制作方法

    目录 Homogeneous Heterogeneous 写在最后 上一篇博文已经简单的介绍了元件库是如何创建的,并且了解了arCAD Capture CIS的一些最基本的操作. 下面这篇博文继续沿着 ...

  8. wps表格粗线和细线区别_学术论文表格制作方法解读

    一.表格的精选 我记得我以前写论文的时候错误认为导师会青睐那种一篇文章中表格越多越好的文章,其实不然.如果用一两句话即可说明的内容就不必列表格:如果采用多组数据表说明同一现象,造成了表格本身的重复,应 ...

  9. 粽子机器人视频教程_包粽子服务机器人的制作方法

    包粽子服务机器人的制作方法 [专利摘要]本发明公开了一种应用于家庭或食品加工厂的包粽子服务机器人,其特征在于:包括分别与数据处理模块单独相连且双向数据传输的同步驱动轮足.人机对讲系统.多功能机械手.3 ...

最新文章

  1. android修改视频聊天帧率,Android基于腾讯云实时音视频仿微信视频通话最小化悬浮(4)...
  2. CC2540获取本机MAC地址
  3. pip包管理工具-install执行流程简单查看
  4. Openlayers中实现地图上添加一条红色直线
  5. FRIDA - API使用篇:rpc、Process、Module、Memory 使用方法及示例
  6. VMware虚拟机三种网络模式的区别
  7. “中国音乐金钟奖”落地成都 今年起将连续举办三届
  8. 【kafka】kafka 新增节点 报错 InconsistentBrokerIdException Configured broker.id doesn‘t match
  9. Java基础学习总结(63)——Java集合总结
  10. linux命令we,Linux 命令执行过程
  11. 视频聊天软件的快速开发(QT5.3)
  12. 【渝粤题库】陕西师范大学165109 绩效管理 作业(高起专)
  13. C++[缺省参数]的理解
  14. Failed installing 'Tomcat6' service
  15. shell和javaAPI两种方式创建hbase表并预分区
  16. 看的懂的scipy.sparse.csr_matrix和scipy.sparse.csc_matrix
  17. buuctf [WUSTCTF2020]dp_leaking_1s_very_d@angerous
  18. 2022年小学语文句子专项练习大全
  19. 业务结构单一,天润云能借IPO说出好故事吗?
  20. 程序员,教你如何吸引女生。不是追。追太低级了

热门文章

  1. 【蓝牙开发】低功耗蓝牙ATT/GATT/Profile/Service/Characteristic规格解读
  2. Airbnb 2019年纽约住房情况分析报告
  3. amcharts php,AMCHARTS+MYSQL+PHP的使用实例
  4. 三菱FX系列PLC与三菱变频器通讯应用实例
  5. 一个屌丝程序猿的人生(六十三)
  6. 【2015NOIP模拟】【Ocd】【Mancity】【Captcha】10.31总结
  7. pgsql 后台回复数据
  8. 五、从命令行管理文件
  9. matlab绘图 作业,实验作业2 - -MATLAB作图
  10. ANSYS FLUENT瞬态模拟动画制作