Convertir archivos ascii de velocidad del viento en rásteres

11

He estado tratando de convertir archivos de velocidad del viento en rásteres sin éxito. Fue discutido en un foro de Arcgis que seguí. Esto implicó reemplazar los punto y coma con espacios y agregar un encabezado.

Esperaba incluir uno de los archivos .asc originales junto con una versión .csv que 'limpié'. Lamentablemente, no puedo ver cómo hacer esto sin copiar y pegar el texto. La primera línea del archivo .asc original es:

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; 

Cambié esto a:

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 ;"

Cuando utilicé el complemento de conversión de formato de conversión de ráster, recibí el mensaje de error:

El proceso no pudo comenzar. Falta el programa invocado o es posible que no tenga permisos suficientes para invocar el programa.

Cualquier sugerencia recibida con gratitud.

tedwalsh
fuente
siempre puede intentar poner un ejemplo en DropBox y compartir un enlace, si desea ayuda más específica con el conjunto de datos en particular.
RyanKDalton

Respuestas:

14

Conozco muy bien estos datos. Son los datos de velocidad del viento NOABL ligeramente notorios. Sin embargo, también está en el camino correcto al convertirlos en un ráster ASCII. El encabezado que creé para ellos (hace muchos años) fue el siguiente:

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 

Parece que ha utilizado símbolos de tubería ('|') en lugar de 'l' para xll e yll en el encabezado (que significa 'inferior izquierda'). También pierda los números entre paréntesis al comienzo de cada fila y también las comillas invertidas. Solo hazlo delimitado por espacios. Los números entre paréntesis (como estoy seguro de que ha trabajado) denotan las coordenadas de inicio de 100 kilómetros de la fila de datos (que tiene una resolución de 1 km, por lo que hay cien valores después de cada conjunto de paréntesis). Estos números no solo son redundantes en un ráster ASCII de ESRI sino que también lo "rompen".

PRECAUCIÓN:
use estos datos con precaución. Son muy viejos y fueron interpolados de un pequeño puñado de estaciones meteorológicas repartidas por todo el Reino Unido. También se interpolaron sin tener en cuenta la rugosidad de la superficie y la mayoría de los otros factores que influyen en la velocidad del viento a nivel local. Están bien como una guía aproximada, pero son conocidos por sobreestimar la velocidad del viento en muchos lugares. Por ejemplo, regularmente encuentro que la velocidad del viento NOABL 45m es a menudo comparable a las velocidades del viento medidas por un anemómetro a alturas de 80m, pero nuevamente, dado que NOABL no usó ningún dato de las Islas del Norte, descubrí que NOABL subestima lamentablemente las velocidades del viento en Shetland El más al norte de cualquiera de las pocas estaciones conocidas (¡solo 10, creo!) En los datos de NOABL fue Wick.

Sin embargo, dejando de lado todas las advertencias, descubrí que, cuando se usa con prudencia, entendiendo la sobreestimación (y con una pizca de experiencia), he encontrado que los resultados de los cálculos de los rendimientos de los parques eólicos con estos datos son comparables a los cálculos con más información actualizada y datos recopilados rigurosamente. Sin embargo, no tome eso como evangelio porque cada sitio es diferente y la velocidad del viento real se ve afectada en gran medida por la aspereza, el alcance abierto y la topografía, por nombrar algunos factores.

Si la velocidad del viento es crítica para su proyecto, ¡utilícela como punto de partida pero no apueste a la granja!

EDITAR
Para eliminar los números entre paréntesis, puede escribir un script de Python para analizar los datos o una alternativa fácil es:

  • abra el archivo en un editor de texto, elimine la primera línea (" Conversión de velocidad ... "), reemplace globalmente todos los espacios con nada y vuelva a guardar con la extensión '.csv'
  • A continuación, ábralo en un paquete de hoja de cálculo que configure el delimitador para que sea un punto y coma (en Excel y OpenOffice Calc se le preguntará cuando abra el archivo). Ahora seleccione la primera columna que contiene todos los números entre corchetes y elimínela.
  • Inserte seis filas al principio y agregue su encabezado ("ncols 700", etc.).
  • Finalmente guarde con la extensión '.asc' pero asegúrese de que su delimitador sea un espacio para guardar.
MappaGnosis
fuente
Sylvester, muchas gracias. Tener un problema para eliminar los números entre paréntesis. ¿Deben aparecer las primeras líneas como abajo? nrows 1300 xllcorner 0 yllcorner 0 cellize 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
tedwalsh
@tedwalsh: eso es todo. Edité mi respuesta anterior para agregar la mayor parte de la primera línea al ejemplo de 'código'. También he agregado instrucciones sobre cómo quitar los corchetes de la manera fácil. Si todavía tiene dificultades, envíeme un mensaje privado con su dirección de correo electrónico (busque la sección Contactos de mi sitio web) y resolveré algo por usted.
MappaGnosis
1
El conjunto de datos NOABL era bastante bueno para su tiempo, pero ese tiempo fue hace casi 20 años. Recuerdo trabajar en / con eso en aquel entonces también. Mejor no se usa para trabajo real en las alturas típicas de turbinas eólicas ahora.
scruss
11

Falta el valor NoData en su archivo ascii y tiene x || y y || en lugar de xll e yll. Supongo que su NoData es -999.

prueba esto:

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

Su ascii abierto en un editor de texto debería verse así:

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 
Gago-Silva
fuente
2
En términos de formato, esto parece correcto, pero creo que puede ser un error significativo combinar cero con un valor NoData. Se necesita un cero para indicar una velocidad de viento cero, mientras que un valor NoData indicaría la ausencia de información sobre la velocidad del viento.
whuber
Supuse que NoData era 0, ya que @tedwalsh no dio esta información.
Gago-Silva