Convertendo arquivos de velocidade do vento ascii em rasters

11

Eu tenho tentado converter arquivos de velocidade do vento em rasters sem sucesso. Foi discutido em um fórum da Arcgis que eu segui. Isso envolveu a substituição de ponto-e-vírgula por espaços e a adição de um cabeçalho.

Esperava incluir um dos arquivos .asc originais junto com uma versão .csv que eu 'limpei'. Infelizmente, não consigo ver como fazer isso sem copiar e colar o texto. A primeira linha do arquivo .asc original é:

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; 

Eu mudei isso para:

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

Ao usar o plug-in de conversão convertida em formato raster, recebi a mensagem de erro:

O processo falhou ao iniciar. O programa chamado está ausente ou você pode ter permissões insuficientes para invocar o programa.

Todas as sugestões recebidas com gratidão.

tedwalsh
fonte
você sempre pode tentar colocar um exemplo no DropBox e compartilhar um link, se quiser uma ajuda mais específica com o conjunto de dados específico.
precisa saber é o seguinte

Respostas:

14

Conheço esses dados muito bem. Eles são os dados de velocidade do vento NOABL levemente notórios. Você também está no caminho certo ao convertê-los em um raster ASCII. O cabeçalho que criei para eles (há muitos anos) foi o seguinte:

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 você usou símbolos de pipe ('|') em vez de 'l' para xll e yll no cabeçalho (que significa 'canto inferior esquerdo'). Também perca os números entre colchetes no início de cada linha e as vírgulas invertidas também. Basta torná-lo delimitado por espaço. Os números entre colchetes (como tenho certeza de que você já trabalhou) denotam as coordenadas de início de 100 quilômetros da linha de dados (que tem uma resolução de 1 km - portanto, existem cem valores após cada conjunto de colchetes). Esses números não são apenas redundantes em um raster ESRI ASCII, mas também o 'quebram'.

CAVEAT:
Use esses dados com cuidado. Eles são muito antigos e foram interpolados a partir de um pequeno punhado de estações meteorológicas espalhadas por todo o Reino Unido. Eles também foram interpolados sem levar em consideração a rugosidade da superfície e a maioria dos outros fatores que influenciam a velocidade do vento em nível local. Eles são bons como um guia aproximado, mas são notórios por superestimar a velocidade do vento em muitos locais. Por exemplo, regularmente considero que a velocidade do vento NOABL 45m costuma ser comparável às velocidades do vento medidas por anemômetro em alturas de 80m, mas, como a NOABL não usou nenhum dado das Ilhas do Norte, eu descobri que a NOABL subestima a velocidade do vento em Shetland. O norte mais distante de qualquer uma das poucas estações encontradas (apenas 10 eu acho!) Nos dados da NOABL era Wick.

Com exceção de todos os avisos, descobri que, quando usado com sabedoria, entendendo a superestimação (e com uma pitada de experiência), encontrei resultados de cálculos de rendimentos de parques eólicos usando esses dados para serem comparáveis ​​a cálculos usando dados mais atualizados e dados rigorosamente coletados. No entanto, não tome isso como evangelho, porque cada site é diferente e a velocidade real do vento é grandemente afetada pela aspereza, alcance aberto e topografia, para citar alguns fatores.

Se a velocidade do vento é fundamental para o seu projeto, use isso como um ponto de partida, mas não aposte a fazenda!

EDIT
Para remover os números entre parênteses, você pode escrever um script Python para analisar os dados ou uma alternativa fácil é:

  • abra o arquivo em um editor de texto, exclua a primeira linha (" Conversão de velocidade ... "), substitua globalmente todos os espaços por nada e salve novamente com a extensão '.csv'
  • Em seguida, abra em um pacote de planilha definindo o delimitador como um ponto-e-vírgula (no Excel e no OpenOffice Calc, você será solicitado quando abrir o arquivo). Agora selecione a primeira coluna que contém todos os números entre colchetes e exclua-a.
  • Insira seis linhas no início e adicione seu cabeçalho ("ncols 700" etc).
  • Por fim, salve com a extensão '.asc', mas verifique se o delimitador é um espaço para economia.
MappaGnosis
fonte
Sylvester, Muito obrigado. Problema ao remover os números entre colchetes. As primeiras linhas devem aparecer como abaixo? 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
tedwalsh
@tedwalsh: é praticamente isso. Eu editei minha resposta acima para adicionar a maior parte da primeira linha ao exemplo 'código'. Também adicionei instruções sobre como remover os suportes da maneira mais fácil. Se você ainda estiver com dificuldades, envie-me uma MP com seu endereço de e-mail (encontre a seção Contatos do meu site) e eu resolverei algo para você.
MappaGnosis
1
O conjunto de dados NOABL era bastante elegante para o seu tempo, mas esse tempo foi há quase 20 anos. Também me lembro de ter trabalhado / com ele naquela época. Melhor não usado para trabalho real em alturas típicas de turbinas eólicas agora.
scruss
11

O valor NoData está ausente no seu arquivo ascii e você tem x || e y || em vez de xll e yll. Estou assumindo que seu NoData é -999.

tente isto:

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

Seu ascii aberto em um editor de texto deve ficar assim:

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
fonte
2
Em termos de formato, isso parece correto, mas acho que pode ser um erro significativo confundir zero com um valor NoData. Um zero é necessário para indicar uma velocidade zero do vento, enquanto um valor NoData indicaria a ausência de informações sobre a velocidade do vento.
whuber
Eu estava assumindo que o NoData era 0, pois @tedwalsh não forneceu essa informação.
Gago-Silva