Интерполировать полигон в мультипатч (3D Analyst)

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

Создает соответствующие поверхности объекты мультипатч путем драпировки объектов на поверхности.

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

  • Каждый полигональный объект имеет границу, обозначенную на поверхности. Высоты получаются с помощью линейной интерполяции путем взятия значений в каждой входной вершине, а также в местах, где линия границы пересекает ребра и узлы треугольников поверхности. Такая естественная плотность данных фиксирует полное определение линейной поверхности, используя минимальное количество выборок. Затем извлекаются все узлы, попадающие в пределы полигонов. Узлы заново триангулируются в новой TIN, хранящейся в оперативной памяти, а граница 3D полигона используется как вырезающий полигон. Затем треугольники этой новой TIN извлекаются в виде серии полос, которые используются для построения объектов мультипатч.

  • Получившийся мультипатч в своей геометрии будет содержать 3D представление поверхности. Вычисления площади на плоскости и площади поверхности включаются в выходные данные вместе с другими атрибутами из входного полигона.

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

  • Значение Максимального размера полосы треугольников должно быть не менее 3. Этот параметр задает максимальное количество вершин, которое может находиться в любой полосе, использующейся для построения объектов мультипатч. В ArcGIS нет определенного предела для размера или предпочтительного значения, но у некоторых 3D графических карт они могут быть, так как полосы треугольников напрямую загружаются в программный интерфейс API 3D для отображения. Рекомендованный диапазон находится между 128 и 2048.

Параметры

ПодписьОписаниеТип данных
Входная поверхность

Входная поверхность может быть триангуляционной нерегулярной сетью (TIN) или набором данных terrain.

Terrain Layer; TIN Layer
Входной класс пространственных объектов

Входной полигональный объект.

Feature Layer
Выходной класс объектов

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

Feature Class
Максимальный размер полосы
(Дополнительный)

Обеспечивает управление максимальным числом точек для создания отдельной полосы треугольников. Обратите внимание, каждый мультипатч обычно состоит из нескольких полос. Значение по умолчанию равно 1 024.

Long
Коэффициент Z
(Дополнительный)

Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных z-единиц для соответствия линейным единицам x,y. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр недоступен, если пространственная привязка входной поверхности имеет z-датум с указанными линейными единицами.

Double
Поле площади
(Дополнительный)

Имя выходного поля, содержащего планиметрическую или 2D площадь полученных мультипатчей.

String
Поле площади поверхности
(Дополнительный)

Имя выходного поля, содержащего 3D площадь из полученных мультипатчей. Эта площадь принимает во внимание обособленности поверхности и всегда больше планиметрической площади, либо они равны в том случае, если поверхность плоская.

String
Разрешение уровня пирамидных слоев
(Дополнительный)

Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, полное разрешение.

Double

arcpy.ddd.InterpolatePolyToPatch(in_surface, in_feature_class, out_feature_class, {max_strip_size}, {z_factor}, {area_field}, {surface_area_field}, {pyramid_level_resolution})
ИмяОписаниеТип данных
in_surface

Входная поверхность может быть триангуляционной нерегулярной сетью (TIN) или набором данных terrain.

Terrain Layer; TIN Layer
in_feature_class

Входной полигональный объект.

Feature Layer
out_feature_class

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

Feature Class
max_strip_size
(Дополнительный)

Обеспечивает управление максимальным числом точек для создания отдельной полосы треугольников. Обратите внимание, каждый мультипатч обычно состоит из нескольких полос. Значение по умолчанию равно 1 024.

Long
z_factor
(Дополнительный)

Коэффициент, на который будут умножаться z-значения. Этот способ обычно используется для конвертации линейных z-единиц для соответствия линейным единицам x,y. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр недоступен, если пространственная привязка входной поверхности имеет z-датум с указанными линейными единицами.

Double
area_field
(Дополнительный)

Имя выходного поля, содержащего планиметрическую или 2D площадь полученных мультипатчей.

String
surface_area_field
(Дополнительный)

Имя выходного поля, содержащего 3D площадь из полученных мультипатчей. Эта площадь принимает во внимание обособленности поверхности и всегда больше планиметрической площади, либо они равны в том случае, если поверхность плоская.

String
pyramid_level_resolution
(Дополнительный)

Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, полное разрешение.

Double

Пример кода

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

В следующем примере показано использование этого инструмента в окне Python.

arcpy.env.workspace = "C:/data"
arcpy.ddd.InterpolatePolyToPatch("sample.gdb/featuredataset/terrain", "polygon.shp", "out_multipatch.shp", 1024, 1, "Area", "SArea", 5)
InterpolatePolygonToMultipatch, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента как автономного скрипта Python.

'''****************************************************************************
Name: InterpolatePolyToPatch Example
Description: This script demonstrates how to use the
             InterpolatePolyToPatch tool.
****************************************************************************'''

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set Local Variables
inTerrain = "sample.gdb/featuredataset/terrain"
inPoly = "polygon.shp"
outMP = arcpy.CreateUniqueName("out_multipatch.shp")

#Execute InterpolatePolyToPatch
arcpy.ddd.InterpolatePolyToPatch(inTerrain, inPoly, outMP, 1024, 1, "Area", "SArea", 5)

Связанные разделы