ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Volumen de sombra del sol

  • Resumen
  • Uso
  • Sintaxis
  • Muestra de código
  • Entornos
  • Información de licenciamiento

Resumen

Crea volúmenes cerrados que modelan las sombras proyectadas por cada entidad usando la luz solar para una fecha y hora determinadas.

Uso

  • Las entidades de línea y polígono se pueden utilizar como entrada si son capas en 3D extruidas. Las propiedades de extrusión se pueden aplicar a una capa de entidades en ArcScene o ArcGlobe, y tienen el efecto de transformar la entidad en un multiparche.

    Más información acerca de usar la extrusión como simbología 3D

  • Todas las entidades de entrada deben residir en la misma ubicación, ya que los cálculos de la posición relativa del sol se basan en la posición de la primera entidad de la primera clase de entidad.

  • Las sombras que modelan las condiciones de la salida y la puesta del sol se pueden crear proporcionando solo una fecha en los parámetros Fecha y hora de inicio y Fecha y hora de finalización, respectivamente. Los volúmenes de sombras no se generarán si el sol no está visible para una fecha y hora dadas, o si la posición relativa del sol se encuentra en un ángulo vertical de 90 grados desde las entidades de entrada.

  • Las sombras se modelan como multiparches cerrados creados mediante la extrusión de las entidades de entrada en la dirección de la luz del sol. Se considera que los rayos de luz son paralelos y viajan en la dirección calculada para la posición relativa del sol. Cada volumen de sombra comienza y termina en un plano vertical que es perpendicular a la proyección horizontal de los rayos del sol.

  • Los campos siguientes se asociarán a las entidades de volumen de sombra:

    • SOURCE: nombre de la clase de entidad que proyecta el volumen de sombra.
    • SOURCE_ID: Id. único de la entidad que proyecta el volumen de sombra.
    • DATE_TIME: fecha y hora local utilizadas para calcular la posición del sol.
    • AZIMUTH: ángulo en grados entre el norte verdadero y la proyección perpendicular de la posición relativa del sol sobre el horizonte de la Tierra. Los valores varían de 0 a 360.
    • VERT_ANGLE: ángulo en grados entre el horizonte de la Tierra y la posición relativa del sol en la que el horizonte define 0 grados, y la posición de 90 grados está justo encima.
    Nota:

    Generalmente, cada volumen de sombra parece abrazar o proyectarse prácticamente sobre la entidad que lo origina. Si no se puede generar una sombra de esta manera, se creará desde el límite de la extensión más externa de la entidad. Cuando al menos una sombra se crea de esta forma, se incluye un campo denominado HUGS_FEATR para indicar qué sombras abrazan a las entidades correspondientes.

Sintaxis

arcpy.ddd.SunShadowVolume(in_features, start_date_and_time, out_feature_class, {adjusted_for_dst}, {time_zone}, {end_date_and_time}, {iteration_interval}, {iteration_unit})
ParámetroExplicaciónTipo de datos
in_features
[in_features,...]

Las entidades multiparche que se usarán para modelar las sombras. Las entidades de línea y poligonales también se pueden utilizar si se agregan como una capa 3D extruida.

Feature Layer
start_date_and_time

La fecha y hora de la trayectoria de la luz solar se calculará para modelar las sombras.

Date
out_feature_class

La clase de entidad multiparche que almacenará los volúmenes de sombras resultantes.

Feature Class
adjusted_for_dst
(Opcional)

Especifica si el valor de tiempo se ajusta para el horario de verano (DST).

  • ADJUSTED_FOR_DST —Se observa el DST.
  • NOT_ADJUSTED_FOR_DST —No se observa el DST. Esta es la opción predeterminada.
Boolean
time_zone
(Opcional)

La zona horaria en la cual se encuentra la entrada participante. La configuración predeterminada es la zona horaria en la cual el sistema operativo está establecido.

String
end_date_and_time
(Opcional)

La última fecha y hora para calcular la posición del sol. Si solo se proporciona una fecha, la hora final se supone que es la puesta de sol.

Date
iteration_interval
(Opcional)

El valor que se utiliza para definir la iteración de tiempo desde la fecha de comienzo.

Double
iteration_unit
(Opcional)

La unidad que define el valor de iteración aplicada a la Fecha y hora de inicio.

  • DAYS —El valor de iteración representará los días. Esta es la opción predeterminada.
  • HOURS —El valor de iteración representará una o más horas.
  • MINUTES —El valor de iteración representará uno o más minutos.
String

Muestra de código

Ejemplo 1 de SunShadowVolume (ventana de Python)

En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.SunShadowVolume_3d(['sample.fgdb/buildings_1', 'buildings_2.shp'], 
                         '12/25/2011 10:00 AM', 'shadows_dec25.shp', 
                         'ADJUSTED_FOR_DST', 'Eastern_Standard_Time', 
                         '12/25/2011 3:00 PM', 'HOURS', 1)
Ejemplo 2 de SunShadowVolume (secuencia de comandos independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.

'''*********************************************************************
Name: Model Shadows For GeoVRML Models
Description: Creates a model of the shadows cast by GeoVRML models 
             imported to a multipatch feature class for a range of dates
             and times. A range of times from the start time and end 
             time can also be specified by setting the EnforceTimes 
             Boolean to True. This sample is designed to be used in a 
             script tool.
*********************************************************************'''
# Import system modules
import arcpy
from datetime import datetime, time, timedelta

#*************************  Script Variables  **************************
inFiles = arcpy.GetParameterAsText(0) # list of input features
spatialRef = arcpy.GetParameterAsText(1) # list of GeoVRML files
outFC = arcpy.GetParameterAsText(2) # multipatch from 3D files
inTimeZone = arcpy.GetParameterAsText(3) # time zone
startDate = arcpy.GetParameter(4) # starting date as datetime
endDate = arcpy.GetParameter(5) # ending date as datetime
dayInterval = arcpy.GetParameter(6) # day interval as long (0-365)
minInterval = arcpy.GetParameter(7) # minute interval as long (0-60)
enforceTime = arcpy.GetParameter(8) # minute interval as Boolean
outShadows = arcpy.GetParameterAsText(9) # output shadow models
outIntersection = arcpy.GetParameterAsText(10) # shadow & bldg intersection

# Function to find all possible date/time intervals for shadow modelling
def time_list():
    dt_result = [startDate]
    if dayInterval:
        if endDate: #Defines behavior when end date is supplied
            while startDate < endDate:
                startDate += timedelta(days=dayInterval)
                dt_result.append(startDate)
            dt_result.append(endDate)
        else: # Behavior when end date is not given
            daymonthyear = datetime.date(startDate)
            while startDate <= datetime(daymonthyear.year, 12, 31, 23, 59):
                startDate += timedelta(days=dayInterval)
                dt_result.append(startDate)
    return dt_result

try:
    arcpy.CheckOutExtension('3D')
    importFC = arcpy.CreateUniqueName('geovrml_import', 'in_memory')
    # Import GeoVRML files to in-memory feature
    arcpy.ddd.Import3DFiles(inFiles, importFC, 'ONE_FILE_ONE_FEATURE', 
                            spatialRef, 'Z_IS_UP', 'wrl')
    # Ensure that building models are closed
    arcpy.ddd.EncloseMultiPatch(importFC, outFC, 0.05)
    # Discard in-memory feature
    arcpy.management.Delete(importFC)
    dt_result = time_list()
    for dt in dt_result:
        if dt == dt_result[0]:
            shadows = outShadows
        else:
            shadows = arcpy.CreateUniqueName('shadow', 'in_memory')
        arcpy.ddd.SunShadowVolume(outFC, dt, shadows, 'ADJUST_FOR_DST', 
                                  inTimeZone, '', minInterval, 'MINUTES')
        if dt is not dt_result[0]:
            arcpy.management.Append(shadows, outShadows)
            arcpy.management.Delete(shadows)
    arcpy.ddd.Intersect3D(outFC, outIntersection, outShadows, 'SOLID')
    arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = "PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}"\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = "ArcPy ERRORS:\n {0}\n".format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

Entornos

  • Espacio de trabajo actual
  • Extensión
  • Sistema de coordenadas de salida
  • Transformaciones geográficas
  • Dominio XY de salida
  • Dominio Z de salida
  • Palabra clave CONFIG de salida
  • Auto ejecución

Información de licenciamiento

  • Basic: Requiere 3D Analyst
  • Standard: Requiere 3D Analyst
  • Advanced: Requiere 3D Analyst

Temas relacionados

  • Información general sobre el conjunto de herramientas Visibilidad
  • Fundamentos de las superficies
  • Analizar visibilidad

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2021 Esri. | Privacidad | Legal