在地图上以米为单位绘制圆
Posted
技术标签:
【中文标题】在地图上以米为单位绘制圆【英文标题】:drawing circle with radius specified in meters on a map 【发布时间】:2013-06-22 14:29:00 【问题描述】:任何关于如何使用 D3 在地理地图上绘制以米为单位的半径圆的指针都会非常有帮助。
我尝试使用 Leaflet,它是 Circle(或 CircleMarker),它接受以米为单位的半径,但我需要更大的灵活性来处理我的数据。 D3 似乎很有帮助,但我不确定如何在地图顶部绘制一个给定半径的圆,这样圆覆盖了与给定半径对应的区域(并适应缩放和投影变化)。
【问题讨论】:
“我需要更大的灵活性来处理我的数据。”你想让传单不能做什么? 你说的是测地线多边形吗?我不认为 Leaflet 支持这一点,而不是没有一些插件。这篇文章可能会提供一些帮助:gis.stackexchange.com/questions/17388/…。它与 OpenLayers 有关,但逻辑也可以在这里工作。 在 D3 中,您将拥有一个地理投影,告诉它如何将世界坐标转换为地图坐标。然后,您可以使用它来计算特定位置的圆的地图半径。 @PatrickD 我的数据点基本上是半径以米为单位的圆。我认为 Leaflet 的 L.Circle 支持这一点。 Leaflet 的圈子已经做你想做的了。你有什么问题? 【参考方案1】:您可以使用最新版本的 Leaflet 以米为单位传递这些半径。半径将相对于缩放级别发生变化。
这里有更多信息,请通过Leaflet's documentation
L.circle([lat,lng], radius).addTo(map);
【讨论】:
以上是关于在地图上以米为单位绘制圆的主要内容,如果未能解决你的问题,请参考以下文章
将圆的半径(以米为单位)缩放到 D3.js d3.geo.mercator 地图
如何使用 Geopandas 在地图上显示以米为单位的比例尺、指北针以及经纬度坐标轴?