如何用BingMap计算地图4个角(边)的坐标?
Posted
技术标签:
【中文标题】如何用BingMap计算地图4个角(边)的坐标?【英文标题】:How to calculate the coordinates of the 4 corners (edge) of the map with BingMap? 【发布时间】:2013-03-06 19:38:12 【问题描述】:我从几天前开始使用 bing。我可以显示带有我的 bing 地图坐标经度和纬度的图像。
但是我想计算我的图像的 4 个边缘中的位置坐标。 现在我唯一知道的是原点的中心点。 问题是我仅限于 API。我为一个游戏 xna c # 工作,不幸的是 不能使用微软的 Class Map :-(。http://msdn.microsoft.com/en-us/library/hh846504.aspx
我知道以下值:(样本值)
级别缩放:17
图像宽度:800 像素
图像高度:800 像素
纬度:46.6023
经度:7.0964
是否可以用这5个已知值来计算我的图像4个角的坐标?这是一张解释我想要的图。 非常感谢
【问题讨论】:
你需要精确到什么程度......一些基本的三角可能会让你接近,但如果你必须考虑地球的曲率,它会变得非常混乱 是的,好的。但我的变焦相当高。我的矩形覆盖大约 4 公里,平均 4 公里。这是一张小地图。所以曲率没有太大的影响。我正在寻找一个算法/数学公式来计算这个“近似值” 这就是我问的原因......但一个问题是当你到达更高的纬度时,1度经度的“大小”可能会变得非常小,所以你需要考虑到这一点如果您要处理极端北纬和南纬的地图,则适用于任何算法 啊,好吧。我明白。非常感谢您的提示。正是为了计算整个地图的高程。这是他的我需要四个角协调。要确定一个区域矩形我的卡 【参考方案1】:基于 17 级缩放的 bing maps api 给出的 1.19 m/像素比例,这给了我们 800 * 1.19 = 95'000 米的边缘 (http://msdn.microsoft.com/en-us/library/aa940990.aspx)
你应该可以这样计算:(算法:https://gis.stackexchange.com/questions/2951/algorithm-for-offsetting-a-latitude-longitude-by-some-amount-of-meters)
//Position, decimal degrees
lat = 46.6023
lon = 7.0964
//Earth’s radius, sphere
R=6378137
// DO THE SAME FOR B C D
//offsets in meters for A
dn = -47600
de = -47600
//Coordinate offsets in radians
dLat = dn/R // -0.0074629942881440144669203562106
dLon = de/(R*Cos(Pi*lat/180)) // -0.00746374633301685016002447644032
//OffsetPosition, decimal degrees
latA = lat + dLat * 180/Pi // 46.174701924759107796879309401922
lonA = lon + dLon * 180/Pi // 6.6687588357618898589751458712973
这使用简化的平面地球计算,这不是最准确的方法,但应该可以满足您的需要。
【讨论】:
哇哇哇!!非常感谢 !谢谢你抽出时间来找我!这就是我所说的“一个真正好的答案”^ ^以上是关于如何用BingMap计算地图4个角(边)的坐标?的主要内容,如果未能解决你的问题,请参考以下文章
Javascript - 计算围绕中心点的四个角的地理坐标点