1

我正在尝试使用 D3 绘制 topojson 功能,它们是由 PostGIS 数据库中的 TileStache 生成的。小三角形多边形倾向于简化为“线”:3 个点在一条直线上。如果 TopoJSON 像这样,多边形被绘制成一条线:

"arcs":[[[609,278],[-1,-1],[-1,-1],[2,2]]]

但是,如果 TopoJSON 是这样的:

"arcs":[[[609,278],[-2,-2],[1,1],[1,1]]]}

绘制了一个带有“线形”洞的无限区域,弄乱了地图。当特征是线形时,如何阻止 D3 创建无限区域?

您可以在这里看到两种样式的 TopoJSON 的效果: http ://research.geodan.nl/sites/vectortiling/test/faultytile.html

这些无限特征的更大影响在这里可见:http ://research.geodan.nl/sites/vectortiling/

4

1 回答 1

1

这确实是 D3 中的一个错误,请参阅:https ://github.com/mbostock/d3/issues/2025我通过检查多边形的面积是否为零来创建基本修复,如果是,则在 pointInPolygon 返回 false功能。Jason 和 Mike 正在研究它,所以我希望在某个时候会有一个不会创建无限多边形的 D3 版本 :)

于 2014-09-18T13:03:18.137 回答