topojson中merge / mesh和mergeArcs / meshArcs之间的区别是什么?

时间:2014-05-08 05:09:42

标签: javascript maps geojson topojson

wiki说:

  

等同于topojson.merge / .mesh,但返回TopoJSON MultiPolygon / MultiLineString对象而不是GeoJSON。

但它是什么意思?返回的TopoJSON MultiPolygon / MultiLineString对象的一个​​很好的用法示例是什么?我试图替换:

topojson.mesh(world, world.objects.countries, function(a, b) { return a !== b; })

... with:

topojson.meshArcs(world, world.objects.countries, function(a, b) { return a !== b; })

...但是从Uncaught TypeError: Cannot read property 'length' of undefined获得了错误d3.js

1 个答案:

答案 0 :(得分:6)

不同之处在于合并和网格返回GeoJSON功能,可以传递给d3.geo.path以使用SVG路径元素在屏幕上显示。相比之下,mergeArcs和meshArcs返回拓扑,需要将其传递回topojson.feature以传递给d3.geo.path以进行显示。

您使用mergeArcs和meshArcs的原因是因为您希望对数据执行进一步的拓扑功能,例如合并它们或查找邻居。