Normalmente, temos dados sobre a localização do terreno , por isso precisamos usá-lo. O chão determina uma figura sólida em 3D. Você projeta esta figura radialmente na esfera unitária centralizada no visualizador: isso mapeia o solo em uma região da esfera. Calcule a área da região restante : esse é o ângulo sólido subtendido pelo céu (em estereótipos ). Divida-o pela área total da esfera (igual a 4 pi) e multiplique por 100 para obter a porcentagem de céu.
Se você preferir uma explicação mais vívida, coloque o espectador no centro de uma pequena bolha esférica e peça-lhe para pintar no céu. Divida a quantidade de tinta que ela usa pela quantidade necessária para pintar a bolha inteira e multiplique por 100.
Na realidade, existem alguns detalhes técnicos não tão simples.
A projeção na esfera é bastante direta quando o terreno é dado como uma rede triangulada (um NIF), porque você só precisa escrever um código para projetar um triângulo em uma esfera. Quando o solo é dado como um modelo de elevação em grade (DEM), você pode conceber cada célula da grade como um quadrilátero 3D. Você pode dividir isso em dois triângulos ao longo de uma diagonal e mapear cada triângulo na esfera. Em ambos os casos, você fica com uma coleção de triângulos projetados na esfera. Ao projetar a esfera em um mapa (por exemplo, com uma projeção estereográfica), a agregação desses triângulos em uma região poligonal pode ser reduzida a um problema padrão de geometria computacional plana (usando um método de varredura plana, por exemplo). O resto é fácil (para um SIG).
Esta imagem mostra uma pequena cidade de arranha-céus simulados em uma projeção gnomônica centrada em um espectador no centro da cidade, olhando para cima. O SIG pode "mesclar" (formar a união) dos polígonos que representam os lados e os telhados desses edifícios e, em seguida, calcular a área do espaço (branco) restante. Uma projeção gnomônica foi escolhida porque as linhas arquitetônicas retas são renderizadas como segmentos de linha em vez de curvas.
Um GIS pode ser colocado em serviço para fazer esse cálculo quando você tiver apenas um terreno e edifícios. É provável que os edifícios estejam disponíveis como coleções de retângulos. Um vértice de um retângulo possui coordenadas euclidianas (x, y, z) em relação a um visualizador. Converta-os em coordenadas esféricas: latitude e longitude. Crie um polígono para o retângulo convertido. Faça isso para todos os retângulos de todas as partes de todos os edifícios, resultando em uma "camada de recurso de polígono". Então, no SIG, (1) calcule a união teórica dos conjuntos, (2) calcule a área resultante, (3) subtraia-a da metade da área da superfície da terra (a outra metade é para o solo), e (4) divida por toda a área da terra (multiplicando por 100 para obter uma porcentagem). O esforço computacional é proporcional a N * log (N) em que N é o número de vértices. A precisão depende de quão bem o GIS representa os retângulos (pode ser necessário dividir os lados do retângulo em sequências de vértices mais espaçados). Dependendo dos seus requisitos de precisão, você pode considerar abordagens baseadas em Monte-Carlo (por exemplo, o traçado de raios preconizado em outra resposta) quando você tiver mais de centenas de milhares de vértices - ou seja, quando o espectador estiver completamente cercado por (e puder ver partes de) dezenas de milhares de edifícios :-).
Aqui está uma resposta que vem do mundo dos gráficos de computador, e não do GIS - portanto, é uma descrição de um algoritmo, em vez de instruções para quais ferramentas usar.
Definição: um raio é uma origem + uma direção; é a linha que começa na origem e continua ao infinito nessa direção.
Você precisa dos seguintes ingredientes básicos:
Capacidade de testar para ver se um determinado raio atinge o solo.
Capacidade de testar para ver se um determinado raio atinge um edifício.
Todos os seus dados (edifícios, informações que representam o solo) em um espaço de coordenadas cartesianas 3D.
As fórmulas exatas a serem implementadas para testes de raio dependem de como você representa "o solo" (uma esfera perfeita? Terreno?) E "um edifício" (um retângulo extrudado? Um modelo 3D completo?). Para geometria simples, são fáceis de encontrar e implementar. (por exemplo, procure "interseção de cubo de raio").
De qualquer forma, a partir daí, a resposta sobre a% de visibilidade do céu a partir de um ponto é trivial: dispare muitos raios com direções aleatórias a partir do seu ponto de consulta. A proporção de céu visível no seu ponto de teste é igual ao número de raios que não atingiram um edifício ou o solo.
A resposta não é exata, mas você pode calculá-la para qualquer nível de precisão desejado, apenas adicionando mais raios.
Como descrito acima, não é necessariamente muito rápido; mas há uma enorme quantidade de otimizações bem documentadas que você pode aplicar.
(Eu esperaria que, para calcular a visibilidade do céu em vários pontos e no mesmo conjunto de dados de edifícios, essa abordagem expulsasse da água as abordagens baseadas em reprojeção após a adição de um índice espacial simples.)
fonte
O fator de visão do céu (SVF) é definido pela parte do céu visível (Ω) acima de um certo ponto de observação, visto de uma representação bidimensional (veja a figura a). O algoritmo calcula o ângulo de elevação vertical do horizonte γi em n (oito são apresentadas aqui) direções para o raio especificado R (b).
O fator de visualização do céu foi proposto para superar as desvantagens das técnicas de visualização existentes, por exemplo, problemas de iluminação direcional em sombreamento analítico.
A medida mais conveniente para expressar a parte do céu visível é o ângulo sólido Ω. Esta é uma medida de quão grande um objeto parece para um observador. O ângulo sólido de um objeto é proporcional à área A da projeção do objeto na esfera da unidade centralizada no ponto de observação.
O SVF varia entre 0 e 1. Valores próximos a 1 significam que quase todo o hemisfério é visível, como é o caso de feições expostas (planos e picos), enquanto valores próximos a 0 estão presentes em pias profundas e partes inferiores de vales profundos. onde quase nenhum céu é visível. SVF é uma quantidade física (se não manipularmos os dados de elevação por exagero vertical).
Como @mic_cord apontou, há um artigo publicado sobre visualização de dados com SVF no Remote Sens. 2011, 3 (2), 398-415; doi: 10.3390 / rs3020398.
Uma ferramenta gratuita para calcular SVF (e mais) está disponível em http://iaps.zrc-sazu.si/en/rvt#v
fonte
O Ecotect (agora uma ferramenta AutoDesk ) permite fazer isso. De maneira mais geral, isso é frequentemente examinado na área de luz do dia e uma ferramenta desse campo pode ser mais fácil de usar do que o GIS. (Embora eu tenha ouvido falar de um plug-in GIS que pode fazer isso e calcular a exposição solar, mas nunca consegui encontrá-lo).
fonte
No GRASS GIS versão 7 (atualmente não estável), existe o comando r.skyview (baseado no comando r.horizon , disponível também no estável GRASS v.6).
Ele lê uma imagem rasterizada representando um modelo de terreno, com o valor de pixel correspondente às alturas dos recursos do terreno (por exemplo, alturas de construção) e calcula, para cada pixel, o "fator de visualização do céu".
Você precisa primeiro converter seus dados (formato desconhecido) em um conjunto de dados raster.
Vejo:
http://grass.osgeo.org/grass70/manuals/addons/r.skyview.html
http://www.mdpi.com/2072-4292/3/2/398
fonte