Trasformare dati arcgrid in dati .mat

di il
3 risposte

Trasformare dati arcgrid in dati .mat

Salve,
dopo aver risolto i problemi su come caricare i dati provenienti da questi file in modo sequenziale mi trovo nel problema di riuscire a far diventare questi dati numeri leggibili da matlab/octave per poi elaborarli.

i dati sono scaricati dal sito in formato (a suo dire) arcgrid e sono così composti
ncols 8
nrows 6
xllcorner 12.0
yllcorner 36.0
cellsize 0.5
NODATA_value -99999.99
 -99999.99 -99999.99 -99999.99 -99999.99 -99999.99 -99999.99 -99999.99     77.90
     42.16     46.85     58.93     69.94    100.31    112.33    108.85     95.70
     50.07     51.87     55.72     73.01    107.15    125.99    133.51    102.45
 -99999.99 -99999.99     64.57     82.69    101.58    118.63    126.63 -99999.99
 -99999.99 -99999.99 -99999.99 -99999.99     92.12     92.65     85.80 -99999.99
 -99999.99 -99999.99 -99999.99 -99999.99 -99999.99 -99999.99 -99999.99 -99999.99
come posso renderli dati .mat? togliendo i dati iniziali?
come posso fare diventare tutti -99999.99 dei NaN così da leggerli senza problemi?

grazie mille in anticipo.

3 Risposte

  • Re: Trasformare dati arcgrid in dati .mat

    Dovrai dire a matlab di inserire tutti i dati, da una determinata riga in poi in una matrice che poi andrai ad elaborare e modificare.
    Per i NaN, non ci sono grossi problemi, una volta creata la matrice basterà usare la funzione find che ti restituisce le posizioni degli elementi della matrice che soddisfano una determinata condizione (in questo caso che sono uguali a 99999.99) e porli =NaN.
    Tornando al problema iniziale, non conosco il formato arcgrid, che estensione ha?
    Comunque matlab dovrebbe riuscire a leggere i file di qualunque formato con la funzione fscanf.
  • Re: Trasformare dati arcgrid in dati .mat

    Un mio collega mi ha mostrato il funzionamento attraverso arcgridread, una funzione che legge il file e restituisce 2 matrici una con i valori un'altra con i dati riguardanti la georeferenziazione

    [Z,R] = arcgridread(filename) reads a grid from a file in Arc ASCII Grid format. Z is a 2-D array containing the data values. R is a referencing matrix (see makrefmat). NaN is assigned to elements of V corresponding to null data values in the grid file.


    ho risolto ma grazie comunque!
  • Re: Trasformare dati arcgrid in dati .mat

    Bene!
Devi accedere o registrarti per scrivere nel forum
3 risposte