Сводка
Создает соответствующие поверхности объекты мультипатч путем драпировки объектов на поверхности.
Использование
Каждый полигональный объект имеет границу, обозначенную на поверхности. Высоты получаются с помощью линейной интерполяции путем взятия значений в каждой входной вершине, а также в местах, где линия границы пересекает ребра и узлы треугольников поверхности. Такая естественная плотность данных фиксирует полное определение линейной поверхности, используя минимальное количество выборок. Затем извлекаются все узлы, попадающие в пределы полигонов. Узлы заново триангулируются в новой TIN, хранящейся в оперативной памяти, а граница 3D полигона используется как вырезающий полигон. Затем треугольники этой новой TIN извлекаются в виде серии полос, которые используются для построения объектов мультипатч.
Получившийся мультипатч в своей геометрии будет содержать 3D представление поверхности. Вычисления площади на плоскости и площади поверхности включаются в выходные данные вместе с другими атрибутами из входного полигона.
Используйте конвертацию полигонов в мультипатчи в случае возникновения проблем при отображении объемных полигонов с драпированной поверхностью.
Значение Максимального размера полосы треугольников должно быть не менее 3. Этот параметр задает максимальное количество вершин, которое может находиться в любой полосе, использующейся для построения объектов мультипатч. В ArcGIS нет определенного предела для размера или предпочтительного значения, но у некоторых 3D графических карт они могут быть, так как полосы треугольников напрямую загружаются в программный интерфейс API 3D для отображения. Рекомендованный диапазон находится между 128 и 2048.
Синтаксис
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-единиц для соответствия линейным единицам XY. Значение по умолчанию равно 1, при нем значения высоты не изменяются. Этот параметр отключен, если пространственная привязка входной поверхности имеет Z-датум с заданными линейными единицами измерения. | Double |
area_field (Дополнительный) | Имя выходного поля, содержащего планиметрическую или 2D площадь полученных мультипатчей. | String |
surface_area_field (Дополнительный) | Имя выходного поля, содержащего 3D площадь из полученных мультипатчей. Эта площадь принимает во внимание обособленности поверхности и всегда больше планиметрической площади, либо они равны в том случае, если поверхность плоская. | String |
pyramid_level_resolution (Дополнительный) | z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться этим инструментом. Значением по умолчанию является 0, полное разрешение. | Double |
Пример кода
InterpolatePolygonToMultipatch, пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
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
arcpy.CheckOutExtension("3D")
# 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