Краткая информация
Объект ElevationSurface предоставляет доступ к слою поверхности высот земли или пользовательской поверхности, а также к ее методам и свойствам.
Обсуждение
2D-карта или 3D-сцена могут содержать только один слой поверхности земли, но могут содержать ноль, одну или несколько пользовательских поверхностей. Каждая новая локальная или глобальная сцена содержит поверхность земли и сервис высот WorldElevation3D/Terrain3D, если активным порталом является ArcGIS Online. По умолчанию каждая новая карта не содержит поверхности земли. Чтобы добавить поверхность земли на карту, можно использовать диалоговое окно Добавить слой источника высот. Используйте поверхности высот на картах для редактирования рабочих процессов при создании или редактировании объектов, вам потребуется задать z-значение на основе базовой поверхности высот.
Поверхность высот может не иметь источников (поверхность нулевых высот), или она может содержать один или несколько источников высот, которые вносят на поверхность значения высот. С помощью метода listElevationSources можно получить доступ к слоям источника высот на поверхности высот.
Свойства
Свойство | Описание | Тип данных |
name (чтение и запись) | Получает и задает имя поверхности высот. Поверхность Ground предназначена только для чтения. | String |
verticalExaggeration (чтение и запись) | Получает и задает вертикальное преувеличение для поверхности высот. Значение по умолчанию равно 1.0 для всех поверхностей высот и применяется только к поверхности высот. Это вертикальное преувеличение не применяется к другим слоям карты. Задание для этого значения большого числа может повлиять на производительность, так как сцена будет отображаться с сильно преувеличенными объектами. | Double |
Обзор метода
Метод | Описание |
listElevationSources ({wildcard}) |
Возвращает список Python объектов ElevationSource, связанных с объектом ElevationSurface. |
Методы
listElevationSources ({wildcard})
Параметр | Описание | Тип данных |
wildcard | A wildcard is based on the elevation surface name and is not case sensitive. A combination of asterisks (*) and characters can be used to help limit the resulting list. (Значение по умолчанию — None) | String |
Тип данных | Описание |
List | Возвращает список Python объектов ElevationSurface на карте. |
Метод listElevationSources возвращает объект списка, даже если возвращается только одна поверхность высот. Используйте соответствующий параметр wildcard, за которым следует индекс для ссылки на объект ElevationSurface.
На карте может быть несколько слоев с одинаковым названием. В этом случае вам, возможно, потребуется использовать другие свойства, чтобы изолировать определенный слой. Для этого можно использовать свойства слоя, например, datasource. Наилучшей практикой является присвоение всем слоям карты уникальных имен.
Пример кода
Следующий сценарий задает новое вертикальное преувеличение для поверхности высот земли.
p = arcpy.mp.ArcGISProject('current')
m = p.listMaps('Scene')[0]
for surface in m.listElevationSurfaces():
if surface.name == 'Ground':
surface.verticalExaggeration = 3.0
p.save()
Следующий сценарий печатает источник данных высот на каждой поверхности высот.
p = arcpy.mp.ArcGISProject('current')
m = p.listMaps('Scene')[0]
for surface in m.listElevationSurfaces():
for source in surface.listElevationSources():
print(source.dataSource)