有些日子我和bing一起工作。我可以用我的bing地图坐标lontitude和纬度显示图像。
但是我想在我图片的4个边缘中计算位置的坐标。 目前我唯一知道的就是中心点。 问题是我只限于API。我在xna c#上工作,不幸的是无法使用来自microsoft的Class Map :(。http://msdn.microsoft.com/en-us/library/hh846504.aspx
我知道以下值:(样本值)
等级缩放:17
ImageWidth:800 px
Imageheight:800 px
Lat:46.6023
经度:7.0964
是否可以使用已知的5个值计算图像4个角的坐标?这是一张解释我想要的图画。 非常感谢
答案 0 :(得分:4)
根据bing maps api给出的标尺1.19米/像素进行17级变焦,这给我们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
这使用简化的扁平地球计算,这不是最准确的方法,但应该满足您的需要。