¿Cómo generarías sombras de edificios a partir de huellas de edificios?
Tengo valores de atributo para las alturas de los edificios.
Por lo tanto, me gustaría que los tamaños de las sombras varíen en función de eso.
La mejor sugerencia que he encontrado al usar ArcGIS son las sombras paralelas : http://blogs.esri.com/Support/blogs/mappingcenter/archive/2008/10/21/3d-effect-for-a-building-footprints.aspx
arcgis-desktop
arcmap
polygon-creation
shadow
Ochenta y veinte
fuente
fuente
Respuestas:
Un método rápido y sucio es dibujar solo las sombras de los techos de los edificios, renderizarlos en gris oscuro (preferiblemente semitransparente si hay capas de suelo subyacentes) y dibujar los polígonos del edificio sobre ellos. Las sombras del techo se obtienen traduciendo los polígonos del edificio por las distancias determinadas por las alturas del edificio en la dirección establecida por el acimut y la altitud de la fuente de luz (considerada infinitamente lejos). (Una fórmula para la cantidad de traducción aparece a continuación).
Esto tiende a funcionar bien, excepto en altitudes bajas o edificios altos (como rascacielos): vea cómo las sombras de los edificios aislados más altos en el lado derecho se separan de los edificios mismos.
Para conectar las sombras correctamente a los edificios, debe incluir las sombras de las paredes del edificio . Esto no es difícil de hacer. La sombra de la pared que se extiende entre un punto ubicado en P y otro punto ubicado en Q será el cuadrilátero delineado por {P, Q, Q ', P'} donde Q 'es la sombra de Q y P' es la sombra de P. Un edificio poligonal será una colección de polígonos conectados representados por secuencias cerradas de puntos (P (1), P (2), ..., P (n)). Para cada uno de estos polígonos, forme la unión de las sombras de los bordes (P (1), P (2)), (P (2), P (3)), ..., (P (n), P ( 1)). Esto es fácil de hacer mediante un bucle sobre los bordes.
Para una luz en un azimut de un grados (al este del norte) y una altitud de s grados (desde el horizonte), la sombra de un punto P con coordenadas proyectadas (x, y) y la altura h (expresados en las mismas unidades , como metros) se encuentra en P '= (x - h sin (a) / tan (s), y - h cos (a) / tan (s)). Solo tiene que calcular sin (a) / tan (s) y cos (a) / tan (s) una vez para toda la capa, y para cada polígono solo tiene que multiplicar esos factores por la altura una vez para obtener las compensaciones para cada punto de sombra en el polígono. (La carga de trabajo computacional real la lleva el SIG, no su código, ya que forma las uniones de todos estos cuadriláteros).
Aquí hay un ejemplo del efecto. (El acimut y la altitud han cambiado ligeramente en comparación con la primera figura, pero los polígonos y las alturas de los edificios, que varían, son los mismos que antes).
Apéndice
En respuesta a una solicitud, aquí está el código utilizado para crear el segundo ejemplo. Aunque ya casi nadie usa este lenguaje (Avenue), bien podría servir como pseudocódigo para crear una solución en su SIG favorito. (Sin embargo, a diferencia de la mayoría de los pseudocódigos, se ha probado ejecutándolo realmente. :-) Es tan simple que no se necesita ninguna explicación; solo tenga en cuenta que la indexación comienza con 0, no con 1, y que los anillos de polígono están explícitamente cerrados (el último punto de la lista coincide con el primer punto).
fuente
No creo que de lo que estés hablando (buscando) vaya a ser una capbability en arcmap (¿versión?)
Mira esta pregunta para probablemente la limitación que no deseas.
Utilizando la extensión 3d Analyst y arcscene , puede agregar luz, pero todavía hay algunas limitaciones.
Hay algún movimiento de esri al respecto con cityengine .
Desplácese hacia abajo hasta la sección de precisión de sombra.
Anteriormente me asociaron con Lightscape (que se retiró y estoy seguro de que vive dentro de 3dsmax).
Ahora el camino probablemente sería a través de la línea de productos de visualización de ingeniería ...
3ds Max
fuente
La extensión 3D Analyst tiene algunas herramientas ( Skyline y Skyline Barrier ) para producir siluetas y volúmenes de sombra, pero está en el contexto de ser proyectada contra un plano vertical como en un horizonte, por lo que no estoy seguro de cómo o si podría adaptarse fácilmente en este caso (proyectándose contra un plano horizontal, el suelo).
fuente