因为项目的原因,需要用到D3,这两天刚开始学习,昨天遇到了一个问题:项目需要用到的地图文件是TopoJSON类型的,而在网上找了好多例子,用到的文件全部是GeoJSON格式的,这也没办法,谁让TopoJSON只在D3中常用呢,虽然到现在也没有完美的解决遇到的问题,不过由于时间原因,要去忙其他工作了,还是把这次解决问题的步骤记录下来,过两天有时间了继续学习!
一、GeoJSON和TopoJSON的区别
这个问题参见这篇文章:GeoJSON和TopoJSON的区别,在此特别感谢馒头大大的这个系列文章,给我D3的学习提供了很大的便利。
不过这篇文章里面对于TopoJSON的描述非常简单,在网上找了N久,终于又找到了段描述的话:TopoJSON模式,以我这少半吊子的英文水平,勉强给翻译下来了:
【Topojson是一种使用拓扑编码方式的GeoJSON扩展,而不是代表着离散的几何图形(也可以称为几何体,因为json中的数据实际上是立体的),几何图形在TopoJSON中被一种叫做arcs(弧线,也是TopoJSON中的结构)的共享连接线联系在一起。Arcs实际上是点的集合,把图形用线连接起来可以叫做弧线。每条弧线只会被定义一次