Daha çox

Python istifadə edərək müəyyən poliqonların əsasını təşkil edən raster pikselləri yenidən təsnif edin


Bir çox poliqonlu bir shapefile sahibəm, hər biri tam olaraq raster hüceyrələrin bitişik bir bölgəsini örtür; sarı rəngli bir nümunə:

Bunlardan bəziləri üçün çoxbucağı bir növ analiz maskası kimi istifadə etmək istəyirəm, belə ki, çoxbucaqlının atributlarından birinə görə çoxbucaqla örtülmüş hüceyrələri yenidən təsnif edə bilərəm. Bunu minlərlə dəfə eyni rasterdə etməliyəm, buna görə GDAL / OGR, SAGA, QGIS və ya səssiz dizilərdən birini istifadə edərək (inşallah) bunu etmək üçün Python avtomatlaşdırılmış bir yol axtarıram.


Bunu özüm başa düşdüm, nəsillər üçün göndərdim.

Komanda xətti proqramıgdal_rasterizedəyərləri bir rasterə "yanma" edə bilər, bunun üzərinə bir poliqon veriləcək. Bütün qatdakı müəyyən çoxbucaqlıları təyin etmək üçün istifadə edilə bilən SQL sorğularını qəbul edir. GDAL sənədlərindən (http://www.gdal.org/gdal_rasterize.html) kimi bir şey çağırmaq olar

gdal_rasterize -a ROOF_H -where 'class = "A"' -l footprints footprints.shp city_dem.tif

Sahədəki atribut dəyərini yandırırROOF_Hdanayaq izləri.shpiçərisinəşəhər_dem.tif, çoxbucaqlı olduğu hər yerdə'sinif = "A"'.


Videoya baxın: İş Həmişə Var - Karton istehsalı (Oktyabr 2021).