1

我想通过在英国地图上绘制适当大小的“正方形”来说明不同区域的大小。请参阅该想法的非 SVG 示例

理想情况下,我想使用 d3.js 使用 SVG 绘制地图和“正方形”。理想情况下,我希望“正方形”是针对地图投影中的失真进行了适当调整的多边形。

我知道如何绘制地图和投影多边形,所以我想我想要解决的是一个 javascript 函数,它将获取一个区域、一个纬度和一个经度并返回一个 geoJSON 多边形,然后我可以投影:

function square(area, latitude, longitude) {
   ... something ...
   return geojson_polygon;
}

这是任何预先存在的图书馆的一部分吗?或者你能指出我可以参考的一些示例代码吗?或者只是我需要实现的数学?

4

1 回答 1

0

我不会尝试将矩形绘制为 geojson 对象;只需使用地图投影将纬度和经度转换为 svg 的 xy 坐标,然后在单独的图层上绘制矩形。

要使矩形具有正确的大小,您可以只观察不同的高度和宽度。或者,做一些数学运算(http://jamesmccaffrey.wordpress.com/2012/03/03/the-area-bounded-by-geographical-latitude-longitude-points/)找到一个矩形的纬度和经度正确的区域,将这些数字转换为 xy svg 坐标并使用它们来绘制矩形。

于 2013-05-29T18:45:45.550 回答