0

如果我有一张地图图像:

  • 左上角的经纬度(x=0,y=0)已知
  • 图像的宽度和高度是已知的
  • 缩放(z 轴)是已知的。

我们可以计算图像中其他坐标的纬度和经度吗?例如,在下图中,如果我想计算白色多边形的纬度/经度值(坐标 (x,y) 已知)

在此处输入图像描述

4

1 回答 1

0

所以给定图像的信息和形状,(见上一个问题):

import numpy as np

top_left = np.array((32.0055597, 35.9265418))
bottom_right = np.array((33.0055597, 36.9265418))

delta = bottom_right - top_left

shape = (454, 394)[::-1] # convert from ij to xy coords

pixel_sizes = delta / shape

pixel_sizes * (80, 200) + top_left
>>> array([32.20860539, 36.36707043])

给出给定点的 (x, y) 或 (longtiude, latitude)。

给定一组使用 numpy 的点,这种方法可以概括为:

coords * pixel_sizes + top_left # coords is (N, 2) array

如果coords是数组的元组,则可以使用 将其转换为(N,2)数组np.column_stack

于 2020-05-16T12:38:02.120 回答