我目前从GeoTiff文件中获得了一个171 x 171的图像(在其他情况下,我可能会有更大的图像),我的目标是将图像中的每个像素转换为纬度/经度对。我已经能够根据StackOverflow帖子将图像的角落转换为纬度/经度对:Obtain Latitude and Longitude from a GeoTIFF File,这篇帖子非常有帮助,因为我的原始坐标是在UTM区15中。
但是,现在我想将图像的所有像素转换为纬度、经度对,并将结果存储在相同尺寸的numpy数组中。因此,输出将是一个numpy数组,大小为171 x 171 x 2,其中numpy数组的每个元素都是一个(经度,纬度)对的元组。
我看到的与此最相关的帖子是https://scriptndebug.wordpress.com/2014/11/24/latitudelongitude-of-each-pixel-using-python-and-gdal/。然而,该帖子建议基本上创建一个循环遍历每个像素并将其转换为纬度、经度。是否有更有效率的方法?
为了更好地说明我的实际用例,我的最终目标是有一堆卫星图像(例如,在此情况下,每个图像都是171 x 171)。我正试图创建一个建筑分割模型。现在,我正在尝试通过在每个图像上创建一个掩膜,将标记为1的像素与建筑物对应,否则标记为0,来产生带标签的数据点。首先,我使用Microsoft美国建筑物轮廓数据:https://github.com/microsoft/USBuildingFootprints,其中他们发布了由纬度、经度定义的多边形的GeoJSON文件,表示他们检测到的建筑物。我打算这样做的方式是:
1. 找到我的图像中每个像素的纬度、经度坐标。因此,我将有171 x 171个点。将其放入一个GeoSeries中。 2. 将点(在GeoSeries中)与Microsoft美国建筑物轮廓数据相交(使用GeoPandas相交:https://geopandas.org/reference.html#geopandas.GeoSeries.intersects) 3. 如果点与Microsoft美国建筑物轮廓数据中的任何多边形相交,则标记为1,否则为0。
我现在正在进行第1步,即高效地找到图像中每个像素的纬度/经度坐标。
但是,现在我想将图像的所有像素转换为纬度、经度对,并将结果存储在相同尺寸的numpy数组中。因此,输出将是一个numpy数组,大小为171 x 171 x 2,其中numpy数组的每个元素都是一个(经度,纬度)对的元组。
我看到的与此最相关的帖子是https://scriptndebug.wordpress.com/2014/11/24/latitudelongitude-of-each-pixel-using-python-and-gdal/。然而,该帖子建议基本上创建一个循环遍历每个像素并将其转换为纬度、经度。是否有更有效率的方法?
为了更好地说明我的实际用例,我的最终目标是有一堆卫星图像(例如,在此情况下,每个图像都是171 x 171)。我正试图创建一个建筑分割模型。现在,我正在尝试通过在每个图像上创建一个掩膜,将标记为1的像素与建筑物对应,否则标记为0,来产生带标签的数据点。首先,我使用Microsoft美国建筑物轮廓数据:https://github.com/microsoft/USBuildingFootprints,其中他们发布了由纬度、经度定义的多边形的GeoJSON文件,表示他们检测到的建筑物。我打算这样做的方式是:
1. 找到我的图像中每个像素的纬度、经度坐标。因此,我将有171 x 171个点。将其放入一个GeoSeries中。 2. 将点(在GeoSeries中)与Microsoft美国建筑物轮廓数据相交(使用GeoPandas相交:https://geopandas.org/reference.html#geopandas.GeoSeries.intersects) 3. 如果点与Microsoft美国建筑物轮廓数据中的任何多边形相交,则标记为1,否则为0。
我现在正在进行第1步,即高效地找到图像中每个像素的纬度/经度坐标。