1

我正在使用 html5 画布元素处理一些地图和动画(示例在此处可见。)我希望能够有效地生成像素值线串(x1、y1、x2、y2),最好是基于几何图形从 PostGIS的画布。也就是说,在伪geojson中:

"Coordinates":"[[-122.0, 35.0], [-121.0, 36.0]]"

在函数传递 100px 画布宽度参数的情况下可能会输出:

"Pixels":"[[30, 40],[50,60]]"

我想最终启用以下网址:

www.example.com/canvas_size:200/box_width:3-miles/center_point:lon|lat

所以我认为这必须动态完成。其他人是如何处理这种事情的?我想到可能将整个世界视为 20,000,000 像素的画布,以像素形式存储预先转换的数据,然后使用客户端算术来抵消它。欢迎提出任何建议,包括远离我最初想法的方法。如果有人熟悉在 Cartagen 中是否或如何完成此操作,将不胜感激指向一两个库或函数的指针。

4

1 回答 1

2

试试这个代码,像素将适应画布的高度和宽度:

function getPoint(latitude, longitude, canvas_width, canvas_height) {
            var obj = {};
            obj.x = (latitude * canvas_height / 180.0) + (canvas_height / 2);
            obj.y = (longitude * canvas_width / 360.0) + (canvas_width / 2);
            return obj;
        }
于 2010-10-12T10:25:40.510 回答