我已经在matlab中制作了一个原型,将一些航空照片投射到地面,并用matlab中的图形进行可视化,一切都符合预期。
然后迁移到网络我的预测出了问题。
实施例: 每张图片都注明了lat,lng和wsg 84 utm 32 easting and nothing。
当我在matlab中比较两个图像的距离时,我得到159米的距离。
>> norm([696975.558, 6191855.032]-[696952.619, 6191697.477],2)
ans = 159.2161
但是当在投影的纬度上进行时,lng的距离几乎是两倍。
var coord = openLayers.proj.transform([i.longitude(), i.latitude()], 'EPSG:4326', 'EPSG:3857');
以上是我如何从图像lng和lat到EPSG:3857。
>> norm([1352002.183944147, 7525040.504347302]-[1351948.7706260746 7524762.187661538],2)
ans = 283.3958
我们有一个函数,给定一个图像位置计算以米为单位的相对偏移量投射到地面的4个角,并尝试可视化图像的重叠。但是当足迹以米为单位时,投影坐标几乎是这个尺寸的两倍,因为这不能正确地说明重叠。
问题是,有没有办法从utm 32位置到EPSG:3857或者我必须首先获取UTM的相对足迹,将点数转换为lat lng然后再使用openlayers变换?