Buonasera ed un saluto a tutti,
sono stefano Buggiarin ed è la prima volta che scrivo qui.
Sono alla ricerca di un modo per realizzare in QGIS un modello (pensavo ad
esempio di realizzarlo attraverso il modellatore grafico) che mi permetta di
lavorare con mappe raster e parametri numerici contemporaneamente.
So che all'interno dei vari calcolatori raster (compreso quello nativo di
QGIS) tale operazione è possibile inserendo direttamente nell'operazione il
numero scalare di interesse ma a me sarebbe utile inserire dei parametri il
quale valore lo definisco prima dell'esecuzione del modello.
Ad esempio dovrei implementare la seguente formula:
L = [(L1 - L2)/(Q1-Q2)] * (RM - Q2) + L2
dove L,RM sono mappe raster
L1,L2;Q1,Q2 sono numeri scalari il cui valore può variare di volta in volta.
Per caso qualcuno ha dei suggerimenti?
Vi ringrazio moltissimo,
Stefano Buggiarin
--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/calcolatore-raster-e-parametri-scalari-tp7596584.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
1) se usi molto con QGIS e hai dimestichezza con i linguaggi di
programmazione ti consiglio di approfondire Python e il suo uso nella
console di QGIS
(http://docs.qgis.org/2.14/en/docs/pyqgis_developer_cookbook/index.html).
Per il tuo problema specifico potrebbe interessarti questa discussione:
http://gis.stackexchange.com/questions/141659/qgis-from-console-raster-algebra.
2) se lavori spesso con raster a banda singola ti cosiglio di provare anche
SAGA (http://www.saga-gis.org/en/index.html). In questo caso potresti fare
un tool chain che prima crea griglie raster con valori costanti pari alle
tue variabili e poi esegue il calcolo finale.
In pratica bisogna creare un file di testo con estensione .xml contenente:
<?xml version="1.0" encoding="UTF-8"?>
<toolchain saga-version="3.0.0">
<group>toolchains</group>
<identifier>raster_calc</identifier>
<name>Calcolo raster con costanti</name>
<description>Esegue un calcolo su un raster usando costanti definite
dall'utente
</description>
<parameters>
<option varname="GRID_SYSTEM" type="grid_system">
<name>Grid System</name>
</option>
<input varname="INPUT" type="grid" parent="GRID_SYSTEM">
<name>Input Grid</name>
</input>
<output varname="OUTPUT" type="grid" parent="GRID_SYSTEM">
<name>result</name>
<description>Risultato.</description>
</output>
<option varname="L1" type="text">
<name>L1</name>
<value>40</value>
</option>
<option varname="L2" type="text">
<name>L2</name>
<value>30</value>
</option>
<option varname="Q1" type="text">
<name>Q1</name>
<value>20</value>
</option>
<option varname="Q2" type="text">
<name>Q2</name>
<value>10</value>
</option>
</parameters>
<tools>
<tool id="tool_L1" library="grid_calculus" tool="1" name="Grid
Calculator">
<input id="GRIDS">INPUT</input>
<option id="FORMULA" varname="true">L1</option>
<option id="NAME">constantL1</option>
<option id="FNAME">FALSE</option>
<option id="USE_NODATA">FALSE</option>
<option id="TYPE">7</option>
<output id="RESULT">grid_L1</output>
</tool>
<tool id="tool_L2" library="grid_calculus" tool="1" name="Grid
Calculator">
<input id="GRIDS">INPUT</input>
<option id="FORMULA" varname="true">L2</option>
<option id="NAME">constantL2</option>
<option id="FNAME">FALSE</option>
<option id="USE_NODATA">FALSE</option>
<option id="TYPE">7</option>
<output id="RESULT">grid_L2</output>
</tool>
<tool id="tool_Q1" library="grid_calculus" tool="1" name="Grid
Calculator">
<input id="GRIDS">INPUT</input>
<option id="FORMULA" varname="true">Q1</option>
<option id="NAME">constantQ1</option>
<option id="FNAME">FALSE</option>
<option id="USE_NODATA">FALSE</option>
<option id="TYPE">7</option>
<output id="RESULT">grid_Q1</output>
</tool>
<tool id="tool_Q2" library="grid_calculus" tool="1" name="Grid
Calculator">
<input id="GRIDS">INPUT</input>
<option id="FORMULA" varname="true">Q2</option>
<option id="NAME">constantQ2</option>
<option id="FNAME">FALSE</option>
<option id="USE_NODATA">FALSE</option>
<option id="TYPE">7</option>
<output id="RESULT">grid_Q2</output>
</tool>
<tool id="tool_10" library="grid_calculus" tool="1" name="Grid
Calculator">
<input id="GRIDS">grid_L1</input>
<input id="GRIDS">grid_L2</input>
<input id="GRIDS">grid_Q1</input>
<input id="GRIDS">grid_Q2</input>
<input id="GRIDS">INPUT</input>
<option id="FORMULA">((g1-g2)/(g3-g4))*(g5-g3)+g2</option>
<option id="NAME">result</option>
<option id="FNAME">FALSE</option>
<option id="USE_NODATA">FALSE</option>
<option id="TYPE">7</option>
<output id="RESULT">OUTPUT</output>
</tool>
</tools>
</toolchain>
Carichi il tuo raster e il file xml trascinandoli nella finestra di SAGA
(questo è per la versione 3.0.0) e ti compare il tuo modulo in
Geoprocessing > Tool chains > Calcolo raster con costanti.
O almeno io farei così. Se però qualcuno ha una soluzione megliore ben
venga, interessa anche a me.
-----
Alessandro Perego
www.alspergis.altervista.org
--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/calcolatore-raster-e-parametri-scalari-tp7596584p7596585.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.