Conversione dei file ascii di velocità del vento in raster


11

Ho provato a convertire i file della velocità del vento in raster senza successo. È stato discusso in un forum Arcgis che ho seguito. Ciò ha comportato la sostituzione di punti e virgola con spazi e l'aggiunta di un'intestazione.

Speravo di includere uno dei file .asc originali insieme a una versione .csv che ho "ripulito". Sfortunatamente non riesco a vedere come farlo senza copiare e incollare il testo. La prima riga del file .asc originale è:

Conversion of speed45i.dat   Wind m/s  Wind Speed @ 45m N. Ire 
(100,  499); 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 

Ho cambiato questo in:

ncols 700
nrows 1300
x||corner 0
y||corner 0
cellsize 1000                                                                                               "
"( 0 1299) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ;"

Quando ho utilizzato il plug-in di conversione del formato di conversione raster ho ricevuto il messaggio di errore:

Impossibile avviare il processo. Manca il programma invocato oppure potresti non disporre di autorizzazioni sufficienti per invocare il programma.

Eventuali suggerimenti ricevuti con gratitudine.


potresti sempre provare a fare un esempio in DropBox e condividere un link, se desideri un aiuto più specifico con il set di dati specifico.
RyanKDalton,

Risposte:


14

Conosco molto bene questi dati. Sono i dati leggermente noti sulla velocità del vento NOABL. Tuttavia, sei anche sulla buona strada per convertirli in un raster ASCII. L'intestazione che ho creato per loro (molti anni fa) era la seguente:

ncols 700
nrows 1300
xllcorner 0
yllcorner 0
cellsize 1000
nodata_value -999
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

Sembra che tu abbia usato i simboli pipe ('|') invece di 'l' per xll e yll nell'intestazione (che sta per 'in basso a sinistra'). Perdere anche i numeri tra parentesi all'inizio di ogni riga e anche le virgolette. Basta delimitare lo spazio. I numeri tra parentesi (come sono sicuro che tu abbia elaborato) indicano le coordinate iniziali di 100 chilometri della riga di dati (che ha una risoluzione di 1 km - quindi ci sono cento valori dopo ogni serie di parentesi). Questi numeri non sono solo ridondanti in un raster ASCII ESRI, ma lo "spezzano".

CAVEAT:
utilizzare questi dati con cautela. Sono molto vecchi e sono stati interpolati da una manciata di stazioni meteorologiche diffuse in tutto il Regno Unito. Sono stati inoltre interpolati senza tener conto della rugosità superficiale e della maggior parte degli altri fattori che influenzano la velocità del vento a livello locale. Sono OK come guida approssimativa ma sono noti per sopravvalutare la velocità del vento in molte località. Ad esempio, trovo regolarmente che la velocità del vento NOABL 45m sia spesso paragonabile alle velocità del vento misurate dall'anemometro ad altezze di 80m, ma poi di nuovo, dal momento che NOABL non ha usato alcun dato dalle Isole del Nord, ho trovato NOABL per sottovalutare terribilmente la velocità del vento in Shetland. Il nord più lontano di una delle poche stazioni incontrate (solo 10 credo!) Nei dati NOABL era Wick.

Tutti gli avvertimenti a parte, tuttavia, ho scoperto che, se usato con saggezza, comprendendo la sovrastima (e con una manciata di esperienza) ho trovato i risultati dei calcoli delle rese del parco eolico usando questi dati per essere comparabili ai calcoli usando più aggiornati e dati rigorosamente raccolti. Tuttavia, non prenderlo come vangelo perché ogni sito è diverso e la velocità del vento effettiva è notevolmente influenzata da rugosità, portata aperta, topografia per nominare alcuni fattori.

Se la velocità del vento è fondamentale per il tuo progetto, usa sicuramente questo come punto di partenza ma non scommettere la fattoria su di esso!

MODIFICA
Per rimuovere i numeri tra parentesi puoi scrivere uno script Python per analizzare i dati o un'alternativa semplice è:

  • apri il file in un editor di testo, elimina la prima riga (" Conversione della velocità ... "), sostituisci globalmente tutti gli spazi con niente e ri-salva con l'estensione ".csv"
  • Successivamente apri in un pacchetto di fogli di calcolo che imposta il delimitatore su un punto e virgola (in Excel e OpenOffice Calc ti verrà chiesto quando apri il file). Ora seleziona la prima colonna che contiene tutti i numeri tra parentesi ed eliminala.
  • Inserisci sei righe all'inizio e aggiungi l'intestazione ("ncols 700" ecc.).
  • Infine salva con l'estensione ".asc" ma assicurati che il delimitatore sia uno spazio per il salvataggio.

Sylvester, Mille grazie. Si è verificato un problema durante la rimozione dei numeri tra parentesi. Le prime righe dovrebbero apparire come di seguito? nrows 1300 xllcorner 0 yllcorner 0 dimensioni cellula 1000 nodata_value -999 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
tedwalsh

@tedwalsh: è praticamente tutto. Ho modificato la mia risposta sopra per aggiungere la maggior parte della prima riga all'esempio "codice". Ho anche aggiunto istruzioni per rimuovere le staffe in modo semplice. Se hai ancora difficoltà, inviami un PM con il tuo indirizzo e-mail (trova la sezione Contatti del mio sito Web) e risolverò qualcosa per te.
MappaGnosis,

1
Il set di dati NOABL era abbastanza pulito per i suoi tempi, ma quel tempo era quasi 20 anni fa. Ricordo di aver lavorato su / con esso anche allora. Meglio non essere utilizzato per un vero lavoro alle altezze tipiche delle turbine eoliche ora.
scruss

11

Il valore NoData non è presente nel file ASCII e hai x || e y || invece di xll e yll. Presumo che il tuo NoData sia -999.

prova questo:

NCOLS 700
NROWS 1300
XLLCORNER 0
YLLCORNER 0
CELLSIZE 1000
NODATA_VALUE -999

Il tuo ASCII aperto in un editor di testo dovrebbe apparire così:

NCOLS 700
NROWS 1300
XLLCORNER 0
YLLCORNER 0
CELLSIZE 1000
NODATA_VALUE -999
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

2
In termini di formato questo sembra corretto, ma penso che potrebbe essere un errore significativo confondere zero con un valore NoData. Uno zero è necessario per indicare una velocità del vento zero, mentre un valore NoData indica l'assenza di informazioni sulla velocità del vento.
whuber

Supponevo che NoData fosse 0, poiché @tedwalsh non ha fornito queste informazioni.
Gago-Silva,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.