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

Сводка

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

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

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

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

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

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

Синтаксис

arcpy.3d.InterpolatePolyToPatch(in_surface, in_feature_class, out_feature_class, {max_strip_size}, {z_factor}, {area_field}, {surface_area_field}, {pyramid_level_resolution})
ParameterОбъяснениеТип данных
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-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 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.InterpolatePolyToPatch_3d("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.InterpolatePolyToPatch_3d(inTerrain, inPoly, outMP, 1024, 1, "Area", "SArea", 5)

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

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst

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