以浮点精度而不是整数将经度/经度投影到像素



我正在使用mapbox.js来创建voronoi地图。但是,我从纬度/经度到屏幕上像素的投影精度存在问题,因为精度只是 int 而不是浮点数。这会导致放大/缩小时点略有变化,从而导致整个沃罗诺伊地图发生变化!

编辑:我已经更新了代码,也包括生成 voronoi 的代码。您可以看到 voronoi 代码使用像素,因此这是有问题的,因为准确性可能存在问题。

var voronoi = d3.geom.voronoi()
    .x(function (d) {
        return d.x;
    })
    .y(function (d) {
        return d.y;
    });
filteredPoints.forEach(function (d) {
    var latlng = new L.LatLng(d.latitude, d.longitude);
    var point = map.latLngToLayerPoint(latlng);
    d.x = point.x;
    d.y = point.y;
}
voronoi(filteredPoints).forEach(function (d) {
            d.point.cell = d;
});

阅读传单源代码并编写相同的内容,除了没有调用 round()

最新更新