ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Вычислить положения

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

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

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

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

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

  • Это инструмент также можно использовать для пересчета сетевых положений, не расположенных в слое сетевого анализа при использовании другого набора параметров поиска. Например, если остановки на маршруте изначально были добавлены в слой сетевого анализа с допуском при поиске в 500 метров, и некоторые из них не были размещены с точными координатами, можно выбрать эти неразмещенные остановки, например, с помощью инструмента Выбрать в слое по атрибуту и выполнить операцию повторно, указав подслой остановок в качестве входного объекта с повышенной точностью поиска.

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

Синтаксис

CalculateLocations(in_point_features, in_network_dataset, search_tolerance, search_criteria, {match_type}, {source_ID_field}, {source_OID_field}, {position_field}, {side_field}, {snap_X_field}, {snap_Y_field}, {distance_field}, {snap_Z_field}, {location_field}, {exclude_restricted_elements}, {search_query})
ПараметрОбъяснениеТип данных
in_point_features

Входные объекты, на основании которых будут вычислены сетевые положения.

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

Table View
in_network_dataset

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

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

Network Dataset Layer
search_tolerance

Допуск поиска для расположения входных объектов в сети. Объекты, находящиеся вне диапазона поиска, остаются неразмещенными. Параметр включает значение и единицы измерения допуска.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Linear Unit
search_criteria
[[Source, SnapType],...]

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

Значение параметра указывается в виде списка с вложенными списками. Вложенный список состоит из двух значений, указывающих на имя и тип замыкания для каждого источника сети. Тип замыкания указывается с использованием ключевых слов SHAPE, MIDDLE, END или NONE.

  • SHAPE – точка будет расположена на ближайшей точке элемента этого сетевого источника.
  • MIDDLE – точка будет расположена на ближайшей средней точке элемента этого сетевого источника.
  • END – точка будет расположена на ближайшей конечной точке элемента этого сетевого источника.
  • NONE – точка не будет расположена на элементах этого сетевого источника.
Например, при поиске положений, значение параметра [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] указывает, что поиск может быть выполнен по геометрии источника Streets, но не источника Streets_ND_Junctions.

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

Для наборов сетевых данных базы геоданных типы замыкания могут быть указаны для каждого подтипа источника сети (["Streets : Local Streets","SHAPE"]).

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

Любой не включенный в этот список сетевой источник будет использовать тип замыкания по умолчанию. Самый безопасный способ – включить все сетевые источники в ваш список и явно задать тип замыкания для каждого из них.

Value Table
match_type
(Дополнительный)
  • MATCH_TO_CLOSEST —Сопоставляет новые сетевые положения с ближайшим источником сети среди всех источников, которые имели тип замыкания, указанный в критерии поиска. Используется по умолчанию.
  • PRIORITY —Сопоставляет новые сетевые положения с первым источником сети, имеющим тип замыкания, указанный в критерии поиска. Поиск источников выполняется в приоритетном порядке, поиск останавливается после нахождения положения в пределах допуска поиска.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Boolean
source_ID_field
(Дополнительный)

Имя поля, которое будет создаваться или обновляться с помощью ID источника для вычисленного сетевого положения. Поле SourceID создается и обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
source_OID_field
(Дополнительный)

Имя поля, которое будет создаваться или обновляться с помощью OID источника для вычисленного сетевого положения. Поле SourceOID создается и обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
position_field
(Дополнительный)

Имя поля, которое будет создано или обновлено в процентах вместе с вычисленным сетевым положением. Поле PosAlong создается и обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
side_field
(Дополнительный)

Имя поля, которое будет создано или обновлено с использованием стороны ребра, на котором расположен точечный объект в вычисленном сетевом положении. Поле SideOfEdge создается и обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
snap_X_field
(Дополнительный)

Имя поля, которое будет создаваться или обновляться с помощью координаты х вычисленного сетевого положения. Поле SnapX создается и обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
snap_Y_field
(Дополнительный)

Имя поля, которое будет создаваться или обновляться с помощью координаты у вычисленного сетевого положения. Поле SnapY создается и обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
distance_field
(Дополнительный)

Имя поля, которое будет создано или обновлено с учетом расстояния точечного объекта от вычисленного сетевого положения. Поле Distance создается и обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

Field
snap_Z_field
(Дополнительный)

Имя поля, которое будет создаваться или обновляться с помощью координаты z вычисленного сетевого положения. Поле SnapZ создается и обновляется по умолчанию.

Этот параметр не используется при вычислении положений для линейных и полигональных объектов. В таких случаях используйте в качестве значения параметра "#".

При вычислении положений для точечных объектов параметры используется только в случае поддержки набором сетевых данных связей на основе значений z-координат источников. В остальных случаях используйте в качестве значения параметра "#".

Field
location_field
(Дополнительный)

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

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

Field
exclude_restricted_elements
(Дополнительный)

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

  • EXCLUDE —Указывает, что сетевые местоположения размещаются только на доступных участках сети. Это предотвратит размещение сетевых положений на элементах, которых нельзя достичь из-за ограничений или барьеров. Чтобы получить ожидаемые результаты, перед перемещением сетевых положений с использованием этого параметра, убедитесь в том, что в слой сетевого анализа уже добавлены все ограничивающие барьеры.
  • INCLUDE —Указывает, что сетевые местоположения размещаются на всех элементах сети. Сетевые положения, перемещаемые с использованием этого параметра, могут быть недоступны в процессе решения, если они размещены на ограниченных элементах.
Boolean
search_query
[[Source, Expression],...]
(Дополнительный)

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

Значение параметра указывается в виде списка с вложенными списками. Вложенный список состоит из двух значений, указывающих имя и выражение SQL для всех источников сети. Синтаксис выражения SQL несколько различается в зависимости от типа класса объектов источника сети. Например, если вы выполняете запрос к исходному классу объектов, хранящемуся в файловой или многопользовательской базе геоданных, шейп-файлам, SDC, то имена полей необходимо заключить в двойные кавычки: "CFCC". Если вы выполняете запрос к исходному классу объектов, хранящемуся в персональной базе геоданных, заключите поля в квадратные скобки: [CFCC].

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

Например, значение параметра [["Streets","\"CFCC\" = 'A15'"], ["Streets_ND_Junctions",""]] определяет выражение SQL для исходного класса объектов Streets и отсутствие выражения для исходного класса объектов Streets_ND_Junctions. Обратите внимание, что двойные кавычки, окружающие имя поля CFCC, можно проигнорировать, добавив символы обратной косой черты, что позволит избежать ошибки анализа в интерпретаторе Python.

По умолчанию запрос не используется.

Value Table

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

ИмяОбъяснениеТип данных
out_point_feature_class

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

Представление таблицы

Пример кода

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

Использование параметра Вычислить положения для точечных объектов только с обязательными параметрами.

stores = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Analysis/Stores"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(stores, network, "5000 Meters",
                            [["Streets", "SHAPE"],
                            ["Streets_ND_Junctions", "NONE"]])
CalculateLocations, пример 2 (окно Python)

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

warehouses = "C:/Data/Paris.gdb/Analysis/Warehouses"
network = "C:/Data/Paris.gdb/Transportation/ParisMultimodal_ND"
arcpy.na.CalculateLocations(warehouses, network, "5000 Meters",
    [["Metro_Lines", "NONE"], ["Streets", "SHAPE"],
    ["Transfer_Stations", "NONE"], ["Metro_Entrances", "NONE"],
    ["Metro_Stations", "NONE"], ["ParisMultimodal_ND_Junctions", "NONE"]],
    "MATCH_TO_CLOSEST", "SID", "SOID", "PA", "SOE", "SnapX", "SnapY",
    "Distance")
CalculateLocations, пример 3 (окно Python)

Использование Вычислить положения для полигональных объектов.

parks = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals/Basemap/Parks"
network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.CalculateLocations(parks, network, "", [["Streets", "SHAPE"],
                            ["Streets_ND_Junctions", "NONE"]],
                            location_field="Locations")
CalculateLocations, пример 4 (автономный скрипт Python)

Следующий скрипт Python является примером использования инструмента CalculateLocations в автономном скрипте.

# Name: CalculateLocations_ex04.py
# Description: Calculate network locations for fire stations. Make sure that the 
#              fire stations are not located on the freeways.
# Requirements: Network Analyst Extension 

#Import system modules
import arcpy
from arcpy import env


#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")

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

#Set local variables
inFeatures = "Analysis/FireStations"
inNetworkDataset = "Transportation/Streets_ND"
searchTolerance = "2000 Meters"
searchCriteria = [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]]
searchQuery = [["Streets",'"FREEWAY" = 0'],["Streets_ND_Junctions",""]]

#Calculate network locations and store them in defaut field names
arcpy.na.CalculateLocations(inFeatures,inNetworkDataset,searchTolerance,
                            searchCriteria,"MATCH_TO_CLOSEST", 
                            exclude_restricted_elements="EXCLUDE",
                            search_query=searchQuery)
print "Script completed successfully."

Параметры среды

  • Текущая рабочая область

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

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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

  • Обзор группы инструментов Анализ

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2019 Esri. | Конфиденциальность | Правовая информация