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 линии мультипатчем

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

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

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

Рисунок

Пример работы Пересечение 3D линии мультипатчем

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

  • Число пересечений будет возвращено в окне сообщений, и его можно в дальнейшем использовать как предварительное условие в модели или в скрипте.

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

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

    • LINE_OID – OBJECTID исходной линии, вдоль которой найдено пересечение.
    • MPATCH_OID – OBJECTID объекта-мультипатча, который пересек линию в данном месте.
    • DIST_3D – 3D расстояние вдоль исходной линии, на которой найдено пересечение.
  • Также возможен результат в виде линий, полученных путем разделения входного линейного объекта в точках пересечения, эти линии будут иметь следующие атрибуты:

    • LINE_OID – OBJECTID исходной линии, из которой была получена новая линия.
    • FROM_MP_ID – OBJECTID объекта-мультипатча, пересекающего данную линию в ее начале. Значение -1 означает, что начало линии не является точкой пересечения.
    • TO_MP_ID – OBJECTID объекта-мультипатча, пересекающего данную линию в ее конце. Значение -1 означает, что начало линии не является точкой пересечения.
      Примечание:

      Если линия не пересекается с мультипатчем, то она копируется прямо в выходные данные, а ее поля FROM_MP_ID и TO_MP_ID принимают значение -1.

    • DIST_3D – 3D расстояние вдоль исходной линии, на котором найдено пересечение и которое представляет начало этой новой линии.
    • LENGTH_3D – 3D длина этой новой линии. Сумма длин всех линий, полученных из исходной линии, будет равна 3D-длине исходной линии.
  • Полученные в результате объекты (если они есть) могут ссылаться на атрибутивные значения исходной линии посредством установки параметра Соединяемые атрибуты (Join Attributes) в выходном классе линейных объектов.

Синтаксис

Intersect3DLineWithMultiPatch_3d (in_line_features, in_multipatch_features, {join_attributes}, {out_point_feature_class}, {out_line_feature_class})
ПараметрОбъяснениеТип данных
in_line_features

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

Feature Layer
in_multipatch_features

Объекты-мультипатчи, с которыми будут пересекаться линии.

Feature Layer
join_attributes
(дополнительно)

Атрибуты входных линейных объектов, которые будут сохранены с дополнительными (необязательными) выходными объектами.

  • IDS_ONLY — Будут сохранены только идентификационные номера объектов. Это значение используется по умолчанию.
  • ALL —Будут сохранены все атрибуты.
String
out_point_feature_class
(дополнительно)

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

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

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

Feature Class

Пример кода

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Intersect3DLineWithMultiPatch_3d('inLine.shp', 'inMultipatch.shp', 
                                     'IDS_ONLY', 'outPts.shp', 'outLine.shp')
Intersect3DLineWithMultipatch, пример 2 (автономный скрипт)

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

'''****************************************************************************
Name: Intersect3DLineWithMultiPatch Example
Description: This script demonstrates how to
             use the Intersect3DLine tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # Set Local Variables
    inLineFC = 'sample.gdb/lines_3d'
    inMP = 'sample.gdb/test_MP'
    # Ensure a unique name is produced for output files
    outPoint = arcpy.CreateUniqueName('OutPt_3DIntersect', 'sample.gdb')
    outLine = arcpy.CreateUniqueName('OutLine_3DIntersect', 'sample.gdb')
    
    # Execute Intersect 3D Line with Multipatch
    arcpy.Intersect3DLineWithMultiPatch_3d(inLineFC, inMP, 'IDS_ONLY', 
                                        outPoint, outLine)

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 (XY Resolution)
  • Допуск XY (XY Tolerance)
  • Разрешение Z (Z Resolution)
  • Допуск Z (Z Tolerance)
  • Выходное ключевое слово CONFIG (Output CONFIG Keyword)
  • Автоподтверждение (Auto Commit)
  • Выходной XY домен (Output XY Domain)
  • Выходной домен Z (Output Z Domain)

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

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

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

  • Обзор группы инструментов 3D объекты.
  • О 3D объектах
  • Основы геообработки с помощью дополнительного модуля ArcGIS 3D Analyst
  • Работа с операциями пересечения 3D объектов.
  • Как импортировать существующую 3D модель в класс объектов мультипатч
  • Мультипатчи
Отзыв по этому разделу?

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. | Конфиденциальность | Правовая информация