緯度/経度の点のセットに対してボロノイ図を生成しようとしています。
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つのポイントを入れて、単純な長方形を使用してそれらをクリップしています。
ポイントは、結果のボロノイ領域ごとに少なくとも1つのクリップされた頂点が表示されるようにする必要があります...最初の1つだけではそれを満たしていません。
それらをGoogleマップにプロットすると、ポリゴンは交差し、完全に混乱しています。
最後のポイントが削除されたhttp://jsfiddle.net/ZzjpC/3/を見ると、すべてが正常に見えます。
だからここに私の質問があります:ボロノイ図の生成が失敗する原因となっている私のポイントのセットに何か問題がありますか?それとも、これはD3のバグであり、私はそれらの人々に伝える必要がありますか?