[phpBB Debug] PHP Warning: in file [ROOT]/vendor/s9e/text-formatter/src/Configurator/RendererGenerators/PHP.php on line 128: file_put_contents(./cache/production//s9e_renderer_a22cf4f54a02f83afb31e7f2a6899827db421c3e.php): failed to open stream: Permission denied
FUM • Càlcul NIBBLE
Pàgina 1 de 1

Càlcul NIBBLE

Publicat: dt., 22 nov. 2011, 14:20
Autor: joanpe
Bon dia,

voldria saber si hi ha alguna manera de calcular el següent en format ràster :
Tinc un ràster de costos generat amb GENCOST, a partir de la xarxa viària.
En aquest ràster, les cel.les corresponents a la xarxa viària tenen el seu valor de cost mínim des d'una entitat diana, i les cel.les que no formaven part de la xarxa viària tenen valor NODATA.
El que voldria és que les cel.les amb valor NODATA prenguessin el valor de la cel.la més propera (euclidianament) amb valor diferent a NODATA.

En ArcGIS correspondria a la funció NIBBLE, i en el MiraMon no he sabut trobar una comanda que ho permeti fer.

Fa uns dies que dóno voltes a trobar una alternativa per fer-ho amb les eines que proporciona MiraMon, però no se m'ha acudit res. Potser a vosaltres se us acudeix quelcom.

Moltes gràcies per endavant,
Joanpe

Re: Càlcul NIBBLE

Publicat: dc., 23 nov. 2011, 15:34
Autor: joanpe
Finalment, he fet el càlcul amb el Filtre selectiu (FagoVal), només per als píxels amb valor NODATA, i amb una finestra de convolució de 3x3 i la moda.

Com que els valors dels píxels del ràster de costos són molt similars quan són contigus (ja que es tracta del cost en minuts per atravessar píxels de 30 metres amb velocitats entre 15 i 85 km/h), ja em serveix !!!

Gràcies,
Joanpe

Re: Càlcul NIBBLE

Publicat: dj., 24 nov. 2011, 13:37
Autor: Lluís Pesquer
Hola,
com comentes la teva solució amb el FagoVal s'aproxima a la solució desitjada però crec que no fa exactament el que fa Nibble, ja que no és exactament la moda dels veïns del píxel a fagocitar el que tu desitges.

Si volem fer el que ens explica l'esquema gràfic de http://webhelp.esri.com/arcgisdesktop/9 ... ame=nibble, la solució que veig és encadenar processos de Reclssificació i Transparentar (Cover) amb la Calculadora de MiraMon.

En primer lloc reclassificaria la màscara (mask_grid en l'exemple de Nibble) on tots els valors vàlids els reclassificaria a nodata i els nodata a un valor que no estigui en el rang dels valors possibles del ràster d'entrada (ingrid1 en l'exemple de Nibble i el valor podria ser 99). Amb això "inverteixo" la màscara, el resultat li dic inv_mask_grid1.
En segon lloc usaria la funció Transparentar sobre el resultat anteriror amb la següent sintaxi CVR(inv_mask_grid1, ingrid1) i el resultat li dic inv_mask_grid2. Això fa que aquest resultat hereti els valors de ingrid1 en les zones nodata de inv_mask_grid1.
En tercer lloc reclassifico a nodata aquell valor on vagi fer la primera reclassificació de nodata (99, en l'exemple) i el resultat li dic inv_mask_grid3 . Finalment torno a transparentar CVR(inv_mask_grid3, ingrid1).

En principi són diferents passos que haurien de portar-te a la mateix solució del Nibble. Si creus que algun pas no s'entén o no és correcte, m'ho tornaré a mirar.

Salut!
Lluís

Fatal: Not able to open ./cache/production/data_global.php