- Eu tenho uma varredura diurna da minha área de estudo.
- Tenho mais de 20 contadores na área de estudo que contam "coisas" com um carimbo de data / hora.
- Usando PyEphem , determinei o tipo de luz ambiente para cada ponto de dados coletado.
O que eu gostaria de fazer:
Adicione uma sobreposição cinza / semi transparente para refletir a luz ambiente (Crepúsculo, Nascer do sol, dia, pôr do sol e escuro).
O objetivo final: produzir uma visualização baseada em tempo da coleta de dados que destaque a hora do dia. Ou seja, capaz de produzir um instantâneo em um determinado momento com a sobreposição sombreada adequada.
Pense nisso como esta a imagem:
qgis
raster
arcgis-9.3
overlay
dassouki
fonte
fonte
Respostas:
Sumário
Dada a posição do sol, é possível criar facilmente uma grade da intensidade da luz da superfície (ignorando os efeitos atmosféricos e topográficos) nas coordenadas lat-lon. Reprojete essa grade conforme desejado e sobreponha-a no mapa.
Detalhes
As fórmulas são as padrão para coordenadas esféricas: o vetor unitário correspondente a uma coordenada esférica (lon, lat) é
A intensidade depende do cosseno entre a direção normal externa da unidade ("para cima") e a direção do sol. Esse cosseno é apenas o produto escalar desses dois vetores unitários. Ou seja, seja (x, y, z) o vetor unitário apontando para o sol (em coordenadas geocêntricas), converta o geodésico (lat, lon) do ponto central de cada célula da grade em um vetor unitário (xi, eta, zeta) e calcular
Quaisquer resultados menores que 0 correspondem a um sol invisível, portanto, defina-os como zero.
Notas de implementação
Esses cálculos são fáceis de executar com álgebra de mapa, começando com uma grade de valores (lat, lon) (como fiz) ou com um par de grades, uma para latitude e outra para longitude (que é como você teria para fazer isso com o software ESRI, por exemplo).
(Para criar uma grade de latitude ou longitude, forme as coordenadas y ou x, respectivamente, em coordenadas geográficas, depois projete-as.) A partir dessas informações iniciais, calcule, de uma vez por todas, três grades [xi], [eta ] e [zeta] (ou uma única grade com valor vetorial [xi, eta, zeta]) para representar as direções para cima nas células da grade. Para qualquer posição do sol, o cálculo se torna a combinação linear simples de [xi], [eta] e [zeta] fornecida acima; o sol determina os coeficientes x, ye z (que são apenas números, é claro).
Exemplo
Aqui está um mapa-múndi na projeção Plate Carree de uma grade dessa intensidade (216 por 432 células).
O meridiano principal fica no centro e o norte está no topo, como de costume. Para esse cálculo, defino o vetor do sol proporcional a (0,6, -0,8, 0,5), para aproximar um dia de verão ao meio-dia sobre o meio do Oceano Atlântico. (Em retrospecto, um valor-z de 0,4 seria mais realista; o sol nunca chega tão ao norte).
Uma sobreposição alfa (que torna as áreas mais brilhantes também um pouco mais transparentes) em um mapa colorido do Aster produz essa imagem.
À medida que o tempo muda, o vetor do sol (x, y, z) é recalculado, exigindo um recálculo da grade de intensidade. Este é um cálculo rápido. Você também não precisa de alta resolução: usei apenas um décimo da resolução da grade original (2160 por 4320 células) para esta ilustração. A interpolação usada para exibir a grade de intensidade mais grossa funciona muito bem para preencher as lacunas. Isso deve permitir que você modifique a exibição quase instantaneamente, se desejar, criando uma animação suave.
fonte