无缩放值时如何将图像PNG的x、y像素值转换为经纬度?
像素坐标转经纬度的解决方法
因为缺少缩放值,核心思路是通过至少2个已知经纬度的像素控制点来建立像素坐标与地理坐标的映射关系,具体步骤如下:
确定控制点
在图像中找到至少2个能明确对应真实经纬度的点(比如地标建筑角落、道路交叉口等),记录它们的像素坐标(x1,y1)、(x2,y2),以及对应的真实经纬度(lon1, lat1)、(lon2, lat2)。计算转换参数
若图像为正射投影(无旋转、无畸变),可使用线性转换模型:
经度 = 像素x × 经度缩放系数 + 经度偏移量
纬度 = 像素y × 纬度缩放系数 + 纬度偏移量
其中:- 经度缩放系数 =
(lon2 - lon1) / (x2 - x1) - 纬度缩放系数 =
(lat2 - lat1) / (y2 - y1) - 经度偏移量 =
lon1 - x1 × 经度缩放系数 - 纬度偏移量 =
lat1 - y1 × 纬度缩放系数
- 经度缩放系数 =
批量转换目标坐标
将需要转换的像素坐标(x,y)代入上述公式,即可得到对应的经纬度。特殊情况处理
若图像存在旋转、倾斜或非正射投影(如航拍斜拍图),则需采用仿射变换或透视变换模型,此时至少需要3个控制点来计算转换矩阵。如果没有现成控制点,可将图像与在线地图对齐,标记对应点的经纬度作为参考。
内容的提问来源于stack exchange,提问作者fathia slimi
相关产品推荐
相关产品推荐

