| Повече ▼

Намиране на координатите на пикселите с помощта на GDAL/numpy

Намиране на координатите на пикселите с помощта на GDAL/numpy


Има ли начин да се получат XY кординатите на пиксел въз основа на индекса на масива с помощта на numpy/gdal?

Имам нов набор от екстенти за растер и въз основа на тези по -нови разширения искам да определя центроида на растра (многоъгълник). Чудя се дали има функции, които могат да върнат стойностите на координатите въз основа на индексите на пикселите.


Gdal вероятно има удобна функция. Разглеждали ли сте тези връзки?

Но знаейки, че заглавката на изображението съдържа граничните координати и информацията за проекцията, можете да ги изчислите сами (не се препоръчва, освен ако не ви харесва да научавате нещата по трудния начин). EX: Знаех, че размерът на пиксела ми е 30 метра. За точка 3,4 от началото е проста алгебра:3x30 +/- Origin's X, 4x30 +/- Origin's YПредупреждения:

  • предполага, че не сте близо до границите на зоната
  • не е много точен освен локализирането на десния пиксел
  • не забравяйте да се справите правилно с отрицателните координати (+/- в примера)

Опитайте нещо подобно, където dx, dy са броят на индексите:

от osgeo импортирайте gdal файл = gdal.Open ('file.tif') def pixel (dx, dy): px = file.GetGeoTransform () [0] py = file.GetGeoTransform () [3] rx = file.GetGeoTransform ( ) [1] ry = file.GetGeoTransform () [5] x = dx/rx + px y = dy/ry + py връщане x, y

Функцията GetGeoTransform () връща кортеж с 6 стойности (координати на произход, разделителна способност, ъгъл), повече в документацията.


Гледай видеото: Теорема на Питагор Намиране на дължина на отсечка в ПКС