Cálculo del porcentaje de cielo visible?


14

¿Alguien puede explicar, de la manera más simple posible, cómo calcular el porcentaje de cielo visible?

Hice una encuesta por satélite y calculé la altura de los edificios y la distancia entre ellos.

¿Cómo uso esos datos para calcular el porcentaje de cielo visible de acuerdo con mi posición?

Respuestas:


12

Por lo general, tenemos datos sobre dónde está el terreno , por lo que tenemos que usar eso. El terreno determina una figura sólida en 3D. Proyecta esta figura radialmente en la esfera de la unidad centrada en el visor: esto asigna el suelo a una región en la esfera. Calcule el área de la región restante : ese es el ángulo sólido subtendido por el cielo (en esteradianos ). Divídalo por el área total de la esfera (igual a 4 pi) y multiplíquelo por 100 para obtener el porcentaje de cielo.

Si prefiere una explicación más vívida, coloque al espectador en el centro de una pequeña burbuja esférica y pídale que pinte sobre el cielo. Divida la cantidad de pintura que usa por la cantidad necesaria para pintar toda la burbuja y multiplique por 100.

En realidad, hay algunos detalles técnicos no tan simples.

La proyección sobre la esfera es bastante sencilla cuando el terreno se da como una red triangulada (un TIN), porque solo tiene que escribir código para proyectar un triángulo en una esfera. Cuando el terreno se da como un modelo de elevación cuadriculada (un DEM), puede concebir cada celda de la cuadrícula como un cuadrilátero 3D. Puedes dividir eso en dos triángulos a lo largo de una diagonal y mapear cada triángulo en la esfera. En cualquier caso, te queda una colección de triángulos proyectados en la esfera. Al proyectar la esfera en un mapa (p. Ej., Con una proyección estereográfica), la agregación de estos triángulos en una región poligonal se puede reducir a un problema estándar de geometría computacional plana (por ejemplo, utilizando un método de barrido plano). El resto es fácil (para un SIG).

Esta imagen muestra una pequeña ciudad de rascacielos simulados en una proyección gnomónica centrada en un espectador del centro mirando hacia arriba. El SIG puede "fusionar" (formar la unión de) los polígonos que representan los lados y los techos de estos edificios y luego calcular el área del espacio (blanco) restante. Se eligió una proyección gnomónica porque las líneas arquitectónicas rectas se representan como segmentos de línea en lugar de curvas.

Edificios simulados

Se puede poner en servicio un SIG para hacer este cálculo cuando solo tiene un terreno y edificios. Es muy probable que los edificios estén disponibles como colecciones de rectángulos. Un vértice de un rectángulo tiene coordenadas euclidianas (x, y, z) en relación con un espectador. Convierta esos en coordenadas esféricas: es decir, latitud y longitud. Crea un polígono para el rectángulo convertido. Haga esto para todos los rectángulos para todas las partes de todos los edificios, dando como resultado una "capa de entidades poligonales". Luego, en el SIG, (1) calcule la unión teórica de conjuntos de las características, (2) calcule el área resultante, (3) reste esto de la mitad del área de la superficie de la tierra (la otra mitad es para el suelo), y (4) dividir por toda el área de la tierra (multiplicando por 100 para obtener un porcentaje). El esfuerzo computacional es proporcional a N * log (N) donde N es el número de vértices. La precisión depende de qué tan bien el SIG represente los rectángulos (es posible que deba dividir los lados del rectángulo en secuencias de vértices más espaciados). Según sus requisitos de precisión, puede considerar enfoques basados ​​en Montecarlo (por ejemplo, el trazado de rayos propugna en otra respuesta) una vez que tenga más de varios cientos de miles de vértices, es decir, una vez que el espectador esté completamente rodeado (y pueda ver partes de) decenas de miles de edificios :-).


Hice una encuesta por satélite y calculé la altura de los edificios y la distancia entre ellos. ¿Cómo uso esos datos para calcular el porcentaje de cielo visible de acuerdo con mi posición? y si es posible, ¿podría mostrar un ejemplo? Debería haber escrito esto en primer lugar, lo siento

@chris Está bien editar tu pregunta original. Simplemente indique qué aspectos de la pregunta ha modificado para que las personas entiendan el contexto de las respuestas y comentarios existentes.
whuber

¿Es posible que desee hacer más explícito que se requiere un paso de unión después de la proyección para evitar oclusores superpuestos de doble conteo?
Dan S.

@Dan La palabra "unión" está allí en el original en el paso 1 :-).
whuber

@whuber Así es; Creo que mi comentario llegó antes de su edición. O eso o es el resultado de una grave escasez de cafeína ayer.
Dan S.

5

Aquí hay una respuesta que proviene del mundo de los gráficos por computadora en lugar de SIG; por lo tanto, es una descripción de un algoritmo en lugar de instrucciones sobre qué herramienta (s) usar.

Definición: un rayo es un origen + una dirección; Es la línea que comienza en el origen y continúa hasta el infinito en esa dirección.

Necesita los siguientes ingredientes básicos:

  • Capacidad de probar para ver si un rayo determinado toca el suelo.

  • Capacidad para probar si un rayo determinado golpea un edificio.

  • Todos sus datos (los edificios, información que representa el suelo) en un espacio cartesiano de coordenadas 3D.

Las fórmulas exactas para implementar las pruebas de rayos dependen de cómo se representa "el suelo" (¿una esfera perfecta? ¿Terreno?) Y "un edificio" (¿un rectángulo extruido? ¿Un modelo 3D completo?). Para una geometría simple, son fáciles de encontrar y de implementar. (p. ej., busque "intersección del cubo de rayos").

En cualquier caso, desde allí, la respuesta en cuanto al% de visibilidad del cielo desde un punto es trivial: dispare muchos rayos con direcciones aleatorias desde su punto de consulta. La proporción de cielo que es visible desde su punto de prueba es igual a la cantidad de rayos que no golpearon un edificio o el suelo.

La respuesta no es exacta, pero puede calcularla con cualquier nivel de precisión deseado simplemente agregando más rayos.

Como se describió anteriormente, no es necesariamente muy rápido; pero hay una gran cantidad de optimizaciones bien documentadas que puede aplicar.

(Esperaría que, para calcular la visibilidad del cielo a través de varios puntos y el mismo conjunto de datos de edificios, este enfoque expulsaría del agua enfoques basados ​​en la reproyección después de la adición de un índice espacial simple).


El principal problema es que la precisión aumenta solo con la raíz cuadrada del número de rayos. Si el porcentaje de cielo es del 50%, por ejemplo, necesita 100 rayos para obtener una precisión del 5% (lo que realmente significa que tiene aproximadamente un 95% de confianza de estar dentro de + -10%), 10,000 rayos para obtener 0.5%, 1,000,000 para obtener 0.05 %, (tres dígitos), etc.
whuber

@whuber Estoy de acuerdo, pero (1) para la pregunta como se describe, la precisión más allá de un dígito o dos es una tarea de tontos, y (2) el muestreo adaptativo caería en el "gran cuerpo de optimizaciones bien documentadas". pasado ;). Sin embargo, si es el "mejor" enfoque es ciertamente bastante situacional.
Dan S.

@Dan OK, el muestreo adaptativo es una buena idea. Pero, ¿cómo se lleva a cabo en la práctica? Supongamos que tiene un DEM y, por ejemplo, unas pocas docenas de edificios en las cercanías. ¿Cómo funcionaría el algoritmo, precisamente? Es difícil imaginar un algoritmo efectivo que sea más simple o más preciso que un cálculo directo de la cobertura del cielo.
whuber

@whuber responderé en un par de partes ... La primera: el muestreo adaptativo se reduce a los rayos de polarización, donde es más probable que proporcionen información y luego tengan en cuenta el sesgo al integrarse. Un enfoque simple y efectivo sería realizar un muestreo inicial uniforme, luego subdividir recursivamente y volver a muestrear medios espacios que fueran suficientemente no uniformes. Respuesta final = promedio ponderado de muestras (peso = área del espacio de búsqueda que contiene la muestra).
Dan S.

Sobre la precisión: el muestreo adaptativo significa que la precisión es más difícil de razonar. Obtiene la misma precisión de línea de base que obtendría de las muestras uniformes iniciales, además de una precisión adicional que depende en gran medida de la técnica de adaptación y la escala de las características de alta frecuencia en la geometría de la escena. Sin embargo, creo que en una situación del "mundo real" podría converger a un error% menos que el de los datos de origen con bastante rapidez.
Dan S.

3

El factor de vista del cielo (SVF) se define por la parte del cielo visible (Ω) por encima de cierto punto de observación como se ve desde una representación bidimensional (ver figura a). El algoritmo calcula el ángulo de elevación vertical del horizonte γi en n (ocho se presentan aquí) direcciones al radio especificado R (b).

Definición del factor de vista del cielo Se ha propuesto el factor de vista del cielo para superar los inconvenientes de las técnicas de visualización existentes, por ejemplo, problemas de iluminación direccional en el sombreado analítico de colinas.

La medida más conveniente para expresar la parte del cielo visible es el ángulo sólido Ω. Esta es una medida de qué tan grande le parece un objeto a un observador. El ángulo sólido de un objeto es proporcional al área A de la proyección del objeto sobre la esfera de unidad centrada en el punto de observación.

SVF varía entre 0 y 1. Los valores cercanos a 1 significan que casi todo el hemisferio es visible, como es el caso en las características expuestas (planos y picos), mientras que los valores cercanos a 0 están presentes en sumideros profundos y partes inferiores de valles profundos desde donde casi no se ve el cielo. SVF es una cantidad física (si no manipulamos los datos de elevación por exageración vertical).

Como señaló @mic_cord, hay un artículo publicado sobre visualización de datos con SVF en Remote Sens. 2011, 3 (2), 398-415; doi: 10.3390 / rs3020398.

Una herramienta gratuita para calcular SVF (y más) está disponible en http://iaps.zrc-sazu.si/en/rvt#v


+1 Las ilustraciones y referencias agregan claridad y autoridad a esto, tu primera publicación aquí. ¡Bienvenido a nuestro sitio!
whuber

2

Ecotect (ahora una herramienta de AutoDesk ) le permite hacer esto. En términos más generales, esto se examina con frecuencia en el área de la luz del día y una herramienta de este campo podría ser más fácil de usar que el SIG. (Aunque he oído hablar de un complemento SIG que puede hacer esto y calcular la exposición solar, pero nunca he logrado encontrarlo).


El analista solar de ESRI? (Funciona creando una cuadrícula del cielo proyectado y luego resumiendo la cuadrícula.)
whuber

1
Pensé que solo era adecuado para la vegetación y no consideré el ensombrecimiento de los edificios, etc. esri.com/software/arcgis/extensions/spatialanalyst/solar.html El archivo de ayuda menciona que considera la topografía, pero no los edificios, por ejemplo: ayuda. arcgis.com/en/arcgisdesktop/10.0/help/index.html#/…
djq

Los edificios (al menos aquellos sin voladizos) pueden ser fácilmente "quemados" en rejillas. Probablemente no sea una forma eficiente de hacerlo porque necesita un tamaño de celda pequeño (y Solar Analyst tiene sus propias limitaciones ...). Solo pensé que podrías haber estado pensando en eso.
whuber

@whuber Estaba pensando más en la exposición solar de las paredes (por ejemplo, qué área está orientada al sur). Supuse que el cálculo solo considera el área de la celda de la cuadrícula, y no el 'muro' (los píxeles, en lugar de los vóxeles, podrían ser otra forma de describirlo).
djq

2

En GRASS GIS versión 7 (en realidad no es estable) existe el comando r.skyview (basado en el comando r.horizon , disponible también en el estable GRASS v.6).

Lee una imagen ráster que representa un modelo de terreno, con un valor de píxel correspondiente a las alturas de las características del terreno (por ejemplo, alturas de construcción) y calcula, para cada píxel, el "factor de vista del cielo".

Primero debe convertir sus datos (formato desconocido) en un dataset ráster.

Ver:

http://grass.osgeo.org/grass70/manuals/addons/r.skyview.html

http://www.mdpi.com/2072-4292/3/2/398

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.