Ближайший 3D (3D Analyst)

Сводка

Вычисляет трехмерное расстояние от каждого входного объекта до ближайших, находящихся в одном или нескольких классах объектов.

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

  • У всех входных объектов должны быть Z-значения. Поддерживаются все типы геометрии. Входные объекты можно также задавать в качестве ближайших для определения ближайших объектов в пределах того же класса.

  • В таблицу атрибутов входных объектов можно добавить следующие поля:

    • NEAR_FID – FID ближайшего объекта. Значение, равное -1, означает, что не было найдено соответствия в пределах указанного радиуса поиска
    • NEAR_DIST – 2D-расстояние (по горизонтали) между ближайшей точкой входного объекта и ближайшей точкой ближайшего найденного объекта.
    • NEAR_DIST3 – 3D-расстояние (по склону) между ближайшей точкой входного объекта и ближайшей точкой ближайшего найденного объекта.
    • NEAR_DELTX – расстояние вдоль оси X между ближайшей точкой входного объекта и ближайшей точкой найденного ближайшего объекта.
    • NEAR_DELTY – расстояние вдоль оси Y между ближайшей точкой входного объекта и ближайшей точкой найденного ближайшего объекта.
    • NEAR_DELTZ – расстояние вдоль оси Z между ближайшей точкой входного объекта и ближайшей точкой ближайшего найденного объекта.
    • NEAR_FROMX – X-координата точки входного объекта, наиболее близко расположенной ко входному объекту.
    • NEAR_FROMY – Y-координата точки входного объекта, наиболее близко расположенной ко входному объекту.
    • NEAR_FROMZ – Z-координата точки входного объекта, наиболее близко расположенной ко входному объекту.
    • NEAR_X – X-координата ближайшей точки ближайшего объекта.
    • NEAR_Y – Y-координата ближайшей точки ближайшего объекта.
    • NEAR_Z – Z-координата ближайшей точки ближайшего объекта.
    • NEAR_ANG_H – горизонтальный арифметический угол направления к ближайшей точке, выраженный в градусах.
    • NEAR_ANG_V – вертикальный угол направления к ближайшей точке, выраженный в градусах. Горизонтальному направлению соответствует 0, направлению вертикально вверх – 90, вертикально вниз – -90.
    • NEAR_FC – путь к классу объектов, содержащему ближайший найденный объект. Это поле добавляется если выбрано несколько ближайших объектов.
    Примечание:

    Если эти поля уже существуют, их значения обновляются.

Синтаксис

Near3D(in_features, near_features, {search_radius}, {location}, {angle}, {delta})
ParameterОбъяснениеТип данных
in_features

Входной класс, к объектам которого будут присоединены атрибуты с информацией о ближайшем объекте.

Feature Layer
near_features
[near_features,...]

Один или несколько объектов, для которых будет вычисляться близость к входным объектам. Если задано несколько классов объектов, во входной класс объектов добавляется поле NEAR_FC для определения класса объектов, в котором находится ближайший объект.

Feature Layer
search_radius
(Дополнительный)

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

Linear Unit
location
(Дополнительный)

Определяет, будут ли добавлены во входную таблицу атрибутов координаты ближайшей точки входного и ближайшего объекта.

  • NO_LOCATIONКоординаты не будут добавлены ко входному объекту. Используется по умолчанию.
  • LOCATIONКоординаты будут добавлены ко входному объекту.
Boolean
angle
(Дополнительный)

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

  • NO_ANGLEУглы не будут добавлены во входную таблицу атрибутов. Используется по умолчанию.
  • ANGLEГоризонтальный арифметический и вертикальный углы будут добавлены, соответственно, в поля NEAR_ANG_H и NEAR_ANG_V входной таблицы атрибутов.
Boolean
delta
(Дополнительный)

Определяет, будут ли добавлены во входную таблицу атрибутов значения расстояний от входного объекта до ближайшего вдоль осей X, Y и Z.

  • NO_DELTAРасстояния не будут добавлены во входную таблицу атрибутов. Используется по умолчанию.
  • DELTAРасстояния вдоль осей X, Y и Z будут добавлены, соответственно, в поля NEAR_DELTX, NEAR_DELTY и NEAR_DELTZ.
Boolean

Производные выходные данные

NameОбъяснениеТип данных
out_feature_class

Обновленные входные объекты

Векторный слой

Пример кода

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

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

arcpy.env.workspace = "C:/data"
arcpy.Near3D_3d("points_3D.shp", "buildings_multipatch.shp", "30", "LOCATION", "ANGLE", "DELTA")
Near3D, пример 2 (автономный скрипт)

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

'''****************************************************************************
Name: Near 3D Example
Description: This script demonstrates how to use
             the Near 3D tool to identify the nearest z-aware features
             that satisfy the results from a queried feature.
****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = 'C:/data'
# Set Local Variables
inFC = 'homes.shp'
nearFC = 'radiotowers.shp'
# See the 'Building an SQL expression' topic for more information
# Query the field 'MATERIAL' for the string 'Reinforced Concrete'
SQL_Expression = "'"'MATERIAL'"' = 'Reinforced Concrete'"
#Execute Make Feature Layer
arcpy.MakeFeatureLayer_management(nearFC, 'Near Layer', SQL_Expression)
result = arcpy.GetCount_management('Near Layer')
if int(result.getOutput(0)) == 0:
    arcpy.AddMessage('{0} has no features that satisfy the query: {1}'\
         .format(nearFC, SQL_Expression))
else:
    #Execute Near3D
    arcpy.Near3D_3d(inFC, 'nearLayer', '', 'LOCATION', 'ANGLE')

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

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

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