【发布时间】:2013-01-05 00:59:54
【问题描述】:
我正在尝试为一组纬度/经度点生成 Voronoi 图。
var points = [["-87.63374","41.878723"],["-87.680622","41.829353"],["-87.631739","41.8768"],["-87.626149","41.884431"]] ;
var boundingRegion = d3.geom.polygon([
[-88, 41.7],
[-88, 42.3],
[-87.5, 42.3],
[-87.5, 41.7]
]);
var voronoi = d3.geom.voronoi(points).map(function(cell) {
return boundingRegion.clip(cell);
});
document.write("<pre>"+JSON.stringify(voronoi, null, ' ')+"</pre>");
我在这里有一个用于该基本示例的 JSFiddle:
我输入 4 个点并使用一个简单的矩形对其进行裁剪。
这些点是这样的,我应该看到每个生成的 Voronoi 区域的至少一个裁剪顶点......单独的第一个不满足。
当您在 Google 地图上绘制它们时,多边形相交并且完全混乱。
如果您查看http://jsfiddle.net/ZzjpC/3/,最后一点已被删除,一切看起来都很好。
所以这是我的问题:我的点集是否有问题导致 Voronoi 图生成失败?或者这是一个 D3 错误,我应该告诉那些人?
【问题讨论】: