Viac

Prečo processing.runalg („gdalogr: rasterize“ ...) nevytvára súbory, keď je spustený v konzole QGIS 2.6.0?


Chcem použiť skriptovacie funkcie pythonovského QGIS na rastrovanie vektora bodov pomocou mnohých rôznych dimenzií.

Teraz môj kód vyzerá takto:

import spracovania RasterPixelSize = (10.0,20.0,30.0,40.0,50.0,60.0,70.0,80.0,90.0,100.0) pre rps v RasterPixelSize: processing.runalg ("gdalogr: rasterize", "/home/cparr/Documents/Inuvik/ West_Hourglass/spiral.shp "," DEPTHCM_AL ", None, 0, [rps], [rps], 0,"/home/cparr/Documents/Inuvik/SpiralToRaster/test.tif ") vytlačiť" Hotovo "

A v konzole sa mi zobrazuje táto správa:

execfile (u '/home/cparr/Documents/Inuvik/QgisScripts/rasterize.py'.encode (' UTF-8 ')) Chyba: Nesprávna hodnota parametra: [10,0] Chyba: Nesprávna hodnota parametra: [20,0] Chyba: Nesprávna hodnota parametra: [30,0] Chyba: Nesprávna hodnota parametra: [40,0] Chyba: Nesprávna hodnota parametra: [50,0] Chyba: Nesprávna hodnota parametra: [60,0] Chyba: Nesprávna hodnota parametra: [70,0] Chyba: Nesprávna hodnota parametra: [80,0 ] Chyba: Nesprávna hodnota parametra: [90,0] Chyba: Nesprávna hodnota parametra: [100,0] Hotovo

Pomoc pre rasterizáciu ukazuje:

processing.alghelp ("gdalogr: rasterize") ALGORITHM: Rasterize (vector to raster) INPUT  LÚKA  WRITEOVER  ROZMERY  ŠÍRKA  VÝŠKA  RTYPE  VÝKON  ROZMERY (Nastaviť veľkosť výstupného rastra (ignoruje sa, ak je zaškrtnutá možnosť vyššie)) 0 - Veľkosť výstupu v pixeloch 1 - Výstupné rozlíšenie v mapových jednotkách na pixel RTYPE (typ rastra) 0 - Bajt 1 - Int16 2 - UInt16 3 - UInt32 4 - Int32 5 - Float32 6 - Float64 7 - CInt16 8 - CInt32 9 - CFloat32 10 - CFloat64

A verím, že moje parametre sú správne. Má niekto skúsenosti so skriptovaním nástrojov na spracovanie QGIS z konzoly python?


Nástroj funguje dobre. Mierne som upravil kód tak, aby produkoval iba 3 rastre (10, 20 a 30 pixelov) s bodovým súborom s 5 funkciami.

import spracovanie RasterPixelSize = (10.0,20.0,30.0) i = 1 pre rps v RasterPixelSize: processing.runalg ("gdalogr: rasterize",  "/home/zeito/pyqgis_data/point.shp",  "id", None, 1, rps, rps, 6, "/home/zeito/pyqgis_data/test" + str (i) + ".tif") i + = 1 vytlačiť "Hotovo!"

Prvý s veľkosťou pixelov 10:

Druhý s veľkosťou 20 pixelov:

a nakoniec tretí s veľkosťou 30 pixelov:

Použil som a RTYPE zo 6 (Float64), ktorých typ bol efektívne skontrolovaný vo vlastnostiach vrstvy každého rastra.


Pozri si video: Configure QGIS Processing (Október 2021).