如何解决如何获得知道其经纬度坐标的点的像素坐标x,y?
我有什么:
- 感兴趣区域的卫星图像。
- 图片大小为 512 像素 x 512 像素。
- 图像的中心 (256,256) 具有经纬度坐标(假设
center_lon = -100.577580
、center_lat = 60.312079
) - 图像的缩放级别为 15(此处定义:Openstreetmap Resolution and Scale)。
问题:现在我有一组经纬度坐标为 points = [(lon1,lat1),(lon2,lat2) ...]
的点。如何将这些点投影到 points_xy = [(x1,y1),(x2,y2) ...]
,以便在地图画布上绘制这些点?
我能想到的一种乏味的方法:
- 首先找到分辨率(每像素米数):
resolution = (earth_radius * 2 * math.pi / 512) * math.cos(center_lat * math.pi / 180) / (2 ** zoom_level)
使用此处给出的公式:Openstreetmap Resolution and Scale - 计算查询点与中心点
(d1x,d1y)...
之间的物理距离(以米为单位)(如此处所述:How to convert latitude or longitude to meters?)。然后我可以计算点x1 = (256 + d1x) / resolution
和y1 = (256 + d1y) / resolution
的像素坐标
其他想法:
我也可以使用线性插值,但是我们需要知道角点的经纬度坐标。 (如何?)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。