Vairāk

Kā aprēķināt zonālo statistiku no daudzjoslu rastra katram daudzstūrim, izmantojot python?

Kā aprēķināt zonālo statistiku no daudzjoslu rastra katram daudzstūrim, izmantojot python?


Es vēlos aprēķināt zonālo statistiku no daudzjoslu rastra daudzstūra slānim. Kad es izmantoju šo koda fragmentu:

vectorlayer = qgis.utils.iface.mapCanvas (). layer (0) rasterfile = qgis.utils.iface.mapCanvas (). layer (1). source () zonalstats = qgis.analysis.QgsZonalStatistics (vectorlayer, rasterfile, "Zonal_" ") zonalstats.calculateStatistics (nav)

tas atjaunina lauku nosaukumus, bet vērtības ir NULL atribūtu tabulā. Tātad, ja es vēlos atjaunināt vērtības, kā es varu to izdarīt?


Nav pārliecināts, kāpēc jūs saņemat NULL vērtības, bet šāds kods man darbojās (ņemiet vērā, ka es izsaucu QGIS zonālās statistikas rīku no Apstrāde iespraust un es vēlos ielādēt rezultātu):

vectorlayer = qgis.utils.iface.mapCanvas (). layer (0) rasterfile = qgis.utils.iface.mapCanvas (). layer (1) .source () processing.runandload ('qgis: zonalstatistics', rasterfile, 3, vektoru slānis, "Zonal_", True, nav)

Tālāk ir palīdzības apraksts nepieciešamajiem parametriem, kurus varat rediģēt savā kodā:

>>> processing.alghelp ("qgis: zonalstatistics") ALGORĪTS: Zonu statistika INPUT_RASTER  RASTER_BAND  INPUT_VECTOR  COLUMN_PREFIX  GLOBAL_EXTENT  OUTPUT_LAYER 

Ceru tas palīdzēs!


Skatīties video: Ievads statistikā 1