2017-04-12 32 views
0

我具有如下面的鏈接描述我已經讀入numpy的陣列的GeoTIFF文件:轉換XY共ORDS到numpy的在python陣列位置

Working with TIFFs (import, export) in Python using numpy

所述的GeoTIFF陣列的大小我有(465,465),我已經使用gdalinfo獲取了文件的元數據,並且它使用了WGS84,因爲它是CRS。

我想要處理的文件是將我在QGIS和Gdalinfo中看到的x y lat lon座標轉換爲導入numpy數組中點的實際位置,我該如何去做這件事?

回答

0

您需要使用地理座標,從打開的GDAL數據集,你可以得到它:

gt = ds.GetGeoTransform()

從GDAL文件:

仿射變換由返回六個係數的通過 GDALDataset :: GetGeoTransform()其使用以下關係將像素/線座標映射到 地理參考空間:

Xgeo = GT(0) + Xpixel*GT(1) + Yline*GT(2) 
Ygeo = GT(3) + Xpixel*GT(4) + Yline*GT(5) 

http://www.gdal.org/gdal_datamodel.html

如果柵格不旋轉,它相當簡單,只需減去該決議的起源和鴻溝。

有幾個庫可以執行這樣的仿射變換,例如適當命名的「仿射」庫。有關其用法的詳細說明可在以下網址找到:

http://www.perrygeo.com/python-affine-transforms.html