ArcGIS for Desktop

  • Документация
  • Стоимость
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS for Desktop

Полноценная профессиональная ГИС

ArcGIS for Server

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Стоимость
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

Справка

  • Главная
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительно...

Объемный теневой объект

  • Краткая информация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензировании

Краткая информация

Создает замкнутые объемы, которые моделируют затенение по каждому объекту, используя положение солнца в заданную дату и время.

Использование

  • Полигональные и линейные объекты можно использовать в качестве входных данных, если они являются вытянутыми слоями 3D. Свойства вытягивания можно применить к векторному слою в ArcScene или ArcGlobe, при этом объект станет похож на мультипатч.

    Более подробно об использовании вытягивания для моделирования 3D символов

  • Все входные объекты должны располагаться в одном местоположении, поскольку соответствующие расчеты положения солнца основываются на положении первого объекта в первом классе объектов.

  • Тени, моделирующие состояние при восходе и заходе солнца можно создать, указав только дату в параметрах Дата и время начала и Дата и время окончания, соответственно. Теневые объемы не будут созданы, если в заданную дату и время солнца не видно, или если оно расположено под вертикальным углом 90 градусов к входным объектам.

  • Тени моделируются как замкнутые объекты-мультипатчи, путем вытягивания входных объектов в направлении солнечного света. Солнечные лучи считаются параллельными и движущимися в направлении, вычисленном для относительного положения солнца. Каждый теневой объем начинается и заканчивается на вертикальной плоскости, перпендикулярной горизонтальной проекции солнечных лучей.

  • Следующие поля будут добавлены в таблицу атрибутов объемных теневых объектов:

    • SOURCE – имя класса объектов, для которых рассчитывается объем тени.
    • SOURCE_ID – уникальный ID объекта, для которого рассчитывается объем тени.
    • DATE_TIME – местные дата и время, использующиеся для расчета положения солнца.
    • AZIMUTH – угол в градусах между истинным севером и перпендикулярной проекцией относительного положения солнца к земному горизонту. Значения находятся в диапазоне от 0 до 360.
    • VERT_ANGLE – угол в градусах между земным горизонтом и относительным положением солнца, где горизонт определяется как 0 градусов, а 90 градусов – это положение непосредственно над ним.
    Примечание:

    Обычно каждый теневой объем выглядит так, что тень огибает исходный объект. Если тень нельзя создать таким способом, она будет создана, начиная от границы внешнего экстента объекта. Если хотя бы одна тень создается таким способом, добавляется поле HUGS_FEATR, в котором обозначаются тени, созданные вплотную к своим объектам.

Синтаксис

SunShadowVolume_3d (in_features, start_date_and_time, out_feature_class, {adjusted_for_dst}, {time_zone}, {end_date_and_time}, {iteration_interval}, {iteration_unit})
ПараметрОбъяснениеТип данных
in_features
[in_features,...]

Объекты-мультипатчи, которые будут использоваться для моделирования теней. Также можно использовать полигональные и линейные объекты, если они добавляются как вытянутый слой 3D.

Feature Layer
start_date_and_time

Дата и время, по которым будет вычисляться траектория солнечного света для моделирования теней.

Date
out_feature_class

Класс пространственных объектов-мультипатчей, который будет хранить полученные объемы теней.

Feature Class
adjusted_for_dst
(дополнительно)

Указывает, устанавливается ли значение времени в формате "летнего времени" (DST).

  • ADJUSTED_FOR_DST —Летнее время соблюдается.
  • NOT_ADJUSTED_FOR_DST —Летнее время не соблюдается. Это значение используется по умолчанию.
Boolean
time_zone
(дополнительно)

Часовой пояс, в котором размещен задействованный входной объект. Значением по умолчанию является часовой пояс, на который настроена операционная система.

String
end_date_and_time
(дополнительно)

Конечные дата и время для расчета положения солнца. Если предоставлена только дата, в качестве конечного времени будет взят заход.

Date
iteration_interval
(дополнительно)

Значение, используемое для определения итерации времени с даты начала.

Double
iteration_unit
(дополнительно)

Единицы, определяющие значение итерации, применяемое к Дате и времени начала.

  • DAYS —Значение итерации будет представлять дни. Это значение используется по умолчанию.
  • HOURS —Значение итерации будет представлять один или несколько часов.
  • MINUTES —Значение итерации равно одной или нескольким минутам.
String

Пример кода

SunShadowVolume пример 1 (окно Python)

В следующем примере показано использование этого инструмента в окне 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)
SunShadowVolume, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте 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)

Параметры среды

  • Текущая рабочая область (Current Workspace)
  • Экстент (Extent)
  • Выходная система координат (Output Coordinate System)
  • Географические преобразования (Geographic Transformations)
  • Выходной XY домен (Output XY Domain)
  • Выходной домен Z (Output Z Domain)
  • Выходное ключевое слово CONFIG (Output CONFIG Keyword)
  • Автоподтверждение (Auto Commit)

Информация о лицензировании

  • ArcGIS for Desktop Basic: Требует 3D Analyst
  • ArcGIS for Desktop Standard: Требует 3D Analyst
  • ArcGIS for Desktop Advanced: Требует 3D Analyst

Связанные темы

  • Обзор группы инструментов Видимость
  • Теоретические основы поверхностей
  • Анализ видимости
Отзыв по этому разделу?

ArcGIS for Desktop

  • На главную
  • Документация
  • Стоимость
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация