map_western_edge
Le altre variabili nel file MAT verranno ignorate.
La variabile "map_name" è opzionale; se esiste ed è
valida, la nuova mappa verrà denominata in questo modo. Se non
esiste, o viene definito un nome con l'opzione output=, il nome
della mappa raster verrà impostato, rispettivamente, al nome del
"file Mat" o al nome specificato (massimo 64 caratteri; si applicano
le normali regole di GRASS per l'attribuzione dei nomi).
La variabile "map_title" è opzionale; se è impostata viene
attribuito un titolo alla mappa.
Le variabili "map_northern_edge" e simili sono obbligatorie, a meno che
l'utente non debba importare i dati in una location "XY" non georeferenziata
(p.es. un'immagine). I valori di latitudine e longitudine devono essere in
formato decimale.
NOTE
r.in.mat importa un file MAT Versione 4. Questi file possono essere
creati con successo con le più moderne versioni di Matlab e di Octave
(si vedano gli "ESEMPI" più avanti).
Ogni cosa dovrebbe essere "Endian safe", in modo che i file da importare
possano essere semplicemente copiati tra architetture di sistema differenti,
senza dover eseguire una conversione binaria (attenzione: si veda "TODO"
più avanti).
Poiché negli array di numeri interi non c'è uno standard IEEE per
NaN, per rappresentarlo all'interno di queste mappe può essere
usato il valore nullo di GRASS. Normalmente Matlab salva le matrici di numeri
interi contenenti valori NaN come array di valori a virgola mobile con
precisione doppia, per cui generalmente il problema non si pone. Per
risparmiare spazio, una volta che la mappa è caricata in GRASS si
può riconvertirla in una mappa con valori interi, col seguente comando:
r.mapcalc int_map="int(MATFile_map)"
I valori NaN nelle matrici a virgola mobile, o a virgola mobile
con precisione doppia, si dovrebbero convertire in valori nulli, come previsto.
r.in.mat deve caricare in memoria l'intero array mappa
prima di scriverlo, perciò potrebbe avere problemi con gli array
di grandi dimensioni (una mappa con DCELL 3000x4000 consuma circa
100mb di RAM)
GRASS definisce i suoi confini di mappa al bordo esterno delle celle di confine,
non alle coordinate dei suoi centroidi. In questo modo possono essere usati i
seguenti comandi di Matlab per determinare e verificare se le informazioni
sulla risoluzione della mappa sono corrette:
[rows cols] = size(map_data)
x_range = map_eastern_edge - map_western_edge
y_range = map_northern_edge - map_southern_edge
ns_res = y_range/rows
ew_res = x_range/cols
Gli array Matlab sono referenziati come (row,column),
cioè (y,x).
Inoltre, r.in.mat e r.out.mat rappresentano un buon
formato contenitore binario per trasferire mappe georeferenziate,
anche senza usare Matlab o Octave.
ESEMPI
In Matlab, salvare con:
save filename.mat map_* -v4
In Octave, salvare con:
save -mat4-binary filename.mat map_*
DA FARE
Un buon supporto per l'importazione dei binari mixed-endian.
(Questa è un'attività in corso, si chiede di segnalare
ogni malfunizonamento nel sito
GRASS bug tracking system; è necessario autenticarsi come
utente OSGeo)
Aggiungere il supporto per importare la cronologia della mappa, le informazioni
sulla categoria, la mappatura dei colori, etc., se sono disponibili.
L'opzione per importare la versione 5 dei file MAT, con la mappa e le
informazioni di supporto memorizzate in un unico array strutturato.
BACHI
In caso di problemi contattare il "GRASS Development Team".
VEDI ANCHE
r.out.mat,
r.in.ascii,
r.in.bin,
r.mapcalc,
r.null.
The Octave project
AUTORE
Hamish Bowman
Department of Marine Science
University of Otago
New Zealand
Last changed: $Date: 2011-11-08 12:29:50 +0100(mar, 08 nov 2011) $
Main index - raster index - Full index
© 2003-2011 GRASS Development Team