ClosestFacility

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

Класс ArcPy, предназначенный для выполнения анализа ближайшего пункта обслуживания.

Обсуждение

Анализ ближайшего пункта обслуживания позволяет найти ближайший для каждого входного инцидента пункт обслуживания и возвращает кратчайший путь по сети между ними.

Подробнее об анализе ближайшего пункта обслуживания

Более подробно о том, как выполнить сетевой анализ с помощью arcpy.nax

Синтаксис

 ClosestFacility (in_network)
ПараметрОписаниеТип данных
in_network

The network dataset or service that will be used for the network analysis. The argument can be specified using one of the following:

To use a network dataset, the network must have at least one travel mode.

To use a portal URL, you must be signed in to the portal with an account that has routing privileges.

Learn how to sign in to a portal in Python

When using ArcGIS Online or an ArcGIS Enterprise portal whose routing services are configured usingArcGIS Online as the in_network value, solving the analysis will consume credits and will be subject to certain limits, such as the number of allowed inputs.

Learn more about credit consumption and analysis limits in network analysis

String

Свойства

СвойствоОписаниеТип данных
accumulateAttributeNames
(чтение и запись)

Список атрибутов стоимости, которые будут суммироваться во время анализа. Эти накопленные атрибуты могут использоваться только для сведения; алгоритм решения при выполнении анализа использует только атрибут стоимости в соответствии с используемым режимом передвижения.

По умолчанию пустой список.

При задании этого свойства возникнет ошибка, если сетевой источник данных - портал ArcGIS Online или ArcGIS Enterprise, который не поддерживает накопление атрибутов.

String
allowAutoRelocate
(чтение и запись)

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

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

По умолчанию – True.

Это свойство влияет на расположение всех входных типов. Для изменения этого свойства для отдельных входных типов используйте метод setLocateSettingsOverrides.

Дополнительные сведения о полях местоположения сети и способе размещения входных данных в сети

При задании этого свойства возникнет ошибка, если сетевой источник данных - ArcGIS Online, портал ArcGIS Enterprise, который не поддерживает использование сетевого полей местоположений, или портал, работающий под управлением ArcGIS Enterprise более ранней версии, чем 11.0.

Boolean
allowSaveLayerFile
(чтение и запись)

Указывает, разрешается ли сохранение результата анализа в виде файла слоя с использованием метода saveAsLayerFile получившегося объекта. Значение True указывает, что вы можете сохранить файл слоя. Значение False указывает, что вы не можете сохранить файл слоя. Значение по умолчанию True, если в анализе используется набор сетевых данных, и False при использовании сервиса портала. Сохранение файла слоя может замедлить анализ, если в анализе используется сервис портала.

Boolean
allowSaveRouteData
(чтение и запись)

Указывает, будут ли создаваться данные маршрута. Значение True указывает, что данные маршрута будут созданы при решении анализа. Значение False указывает, что данные маршрута не будут создаваться. Данные маршрута сохраняются в виде файла .zip с использованием метода saveRouteData в объекте результата. Генерация данных маршрута может замедлить анализ.

Значение по умолчанию - True, если в анализе используется набор сетевых данных, и False при использовании сервиса портала.

Boolean
defaultImpedanceCutoff
(чтение и запись)

Значение импеданса, при котором следует прекратить поиск пунктов обслуживания для данного инцидента.

Если используемый в анализе режим перемещения применяет основанный на времени атрибут импеданса, считается, что значения defaultImpedanceCutoff выражены в единицах свойства timeUnits. Если используемый в анализе режим перемещения применяет основанный на расстоянии атрибут импеданса, считается, что значения defaultImpedanceCutoff выражены в единицах свойства distanceUnits. Если атрибут импеданса режима передвижения не основан ни на времени, ни на расстоянии, считается, что значения defaultImpedanceCutoff выражены в единицах атрибута импеданса. Значение по умолчанию - None, что означает отсутствие примененного предельного значения.

Если для свойства travelDirection установлено значение TravelDirection.FromFacility, defaultImpedanceCutoff может быть переопределено для каждого объекта с использованием поля Cutoff входных пунктов обслуживания. Если для свойства travelDirection задано значение TravelDirection.ToFacility, defaultImpedanceCutoff может быть переопределено для каждого инцидента с использованием поля Cutoff входных инцидентов.

Double
defaultTargetFacilityCount
(чтение и запись)

Число ближайших пунктов обслуживания, которые нужно найти для каждого инцидента. Значение по умолчанию равно 1.

Значение, установленное в этом свойстве, может быть перезаписано для каждого инцидента с помощью поля TargetFacilityCount входных инцидентов.

Integer
directionsDistanceUnits
(чтение и запись)

Единицы, которые будут использоваться для расстояния перемещения в выходных пошаговых путевых листах. Свойство возвращается и задается в качестве участвующего в перечислении DistanceUnits и применяется, только если значение свойства returnDirectionsTrue. По умолчанию используются единицы измерения атрибута расстояния в режиме перемещения, используемом для анализа.

Примечание:
Это свойство влияет на направления, указанные в выходном классе Directions, но не применимо к выходным данным DirectionPoints и DirectionLines.

Object
directionsLanguage
(чтение и запись)

Язык, на котором будет отображаться выходной текст с указаниями пошаговых направлений. Свойство возвращается и устанавливается в виде строки с использованием одного из двух- или пятизначных кодов языков, представляющих поддерживаемые языки путевых листов. Список доступных языков путевых листов можно получить с помощью функции arcpy.nax.ListDirectionsLanguages. Значение по умолчанию - en (English) или язык активного в данный момент языкового пакета. Свойство применимо, только если свойство returnDirections имеет значение True.

String
directionsStyle
(чтение и запись)

Стиль, который будет использоваться для вывода пошаговых инструкций. Свойство возвращается и задается в качестве участвующего в перечислении DirectionsStyle и применяется, только если значение свойства returnDirectionsTrue.

Значение по умолчанию равно Desktop.

Примечание:
Это свойство влияет на направления, указанные в выходном классе Directions, но не применимо к выходным данным DirectionPoints и DirectionLines.

Object
distanceUnits
(чтение и запись)

Единицы, которые будут использоваться для расстояния перемещения в выходных данных анализа. Независимо от единиц измерения в стоимостных атрибутах набора сетевых данных выходные данные будут трансформированы в единицы, заданные в этом свойстве. Возвращается свойство и задается в качестве значения в перечислении DistanceUnits. По умолчанию – DistanceUnits.Kilometers.

Object
ignoreInvalidLocations
(чтение и запись)

Указывает, будут ли игнорироваться неверные входные местоположения. Значение True указывает, что неверные входные местоположения будут игнорироваться, поэтому анализ будет успешным только при использовании допустимых местоположений. Значение False указывает, что недопустимые местоположения не будут проигнорированы и приведут к сбою анализа.

Прежние версии:

Сервисы маршрутизации на основе портала версий ArcGIS Enterprise старше, чем 10.9, всегда игнорируют некорректные входные местоположения. Метод возвращает исключение ValueError, если для ignoreInvalidLocations вы задали False, а сервис не поддерживает эту опцию.

Boolean
networkDataSource
(только чтение)

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

String
overrides
(чтение и запись)

Примечание:

Это свойство только для внутреннего использования.

String
returnDirections
(чтение и запись)

Задает, будут ли создаваться пошаговые направления. Значение True указывает, что пошаговые путевые листы будут генерироваться при расчете анализа. Значение False указывает, что путевой лист не будет создаваться. Создание путевого листа может замедлить выполнение анализа. Значение по умолчанию равно False.

Boolean
routeShapeType
(чтение и запись)

Тип формы, которая будет создана для отображения выходных маршрутов. Маршруты рассчитываются по сети; однако вы можете представить их в виде форм, которые не отражают сетевые пути. Возвращается свойство и задается в качестве значения в перечислении RouteShapeType.

По умолчанию – RouteShapeType.TrueShapeWithMeasures.

Object
searchQuery
(чтение и запись)

Прежние версии:
Это свойство было заменено свойством searchSources, которое было введено в ArcGIS Pro 3.0. Свойство searchQuery продолжает работать для обеспечения обратной совместимости с существующими скриптами, но вместо него в новых сценариях рекомендуется использовать свойство searchSources.

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

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

Например, значение [["Streets", "ROAD_CLASS <> 3"], ["Streets_ND_Junctions", ""]] задает выражение SQL для класса объектов источника Streets и отсутствие выражения для класса объектов источника Streets_ND_Junctions.

Если сетевой источник не включен в список, он рассматривается, как не имеющий запроса. Значение [["Streets", "ROAD_CLASS <> 3"]] эквивалентно [["Streets", "ROAD_CLASS <> 3"], ["Streets_ND_Junctions", ""]].

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

Дополнительные сведения о способе размещения входных данных в сети

Более подробно о синтаксисе SQL см. Справочник по SQL для выражений запросов, применяемых в ArcGIS.

При задании этого свойства возникнет ошибка, если сетевой источник данных - портал ArcGIS Online или портал, работающий под управлением ArcGIS Enterprise более ранней версии, чем 11.0.

List
searchSources
(чтение и запись)

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

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

Значение параметра указывается как список с вложенными списками, не больше чем с одной записью на источник сети. Каждый внутренний список состоит из двух значений, указывающих имя сетевого источника и выражение SQL, используемое в качестве запроса для этого источника.

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

Запросы полезны, если вы не хотите находить объекты, которые могут не подходить для сетевого положения. Например, если вы не хотите искать съезды с автомагистралей, можно задать запрос, исключающий их. Для корректного синтаксиса компонента запроса см. Основы SQL для выражений запроса, применяемых в ArcGIS. Пустая строка "" означает отсутствие запроса для определенного источника.

Например, значение [["Streets", "ROAD_CLASS <> 3"], ["Streets_ND_Junctions", ""]] указывает, что входные данные могут располагаться как в источниках Streets, так и в Streets_ND_Junctions. Выражение SQL для исходного класса пространственных объектов Streets запрещает входным данным находиться на улицах, где поле ROAD_CLASS имеет значение 3. Для исходного класса пространственных объектов Streets_ND_Junctions запрос не используется. Значение [["Streets", "ROAD_CLASS <> 3"]] указывает на то, что для поиска местоположений будет использоваться только исходный класс пространственных объектов Streets, и не будет использоваться Streets_ND_Junctions. Дополнительно, запрос применяется к Streets.

Это свойство влияет на расположение всех входных типов. Для изменения этого свойства для отдельных входных типов используйте метод setLocateSettingsOverrides.

Дополнительные сведения о способе размещения входных данных в сети

При задании этого свойства возникнет ошибка, если сетевой источник данных - портал ArcGIS Online или портал, работающий под управлением ArcGIS Enterprise более ранней версии, чем 11.0.

String
searchTolerance
(чтение и запись)

Максимальный допуск поиска, который будет использоваться для расположения входных объектов в сети. Свойство возвращается и устанавливается как число двойной точности, и единицы этого значения доступны через свойство searchToleranceUnits. Значение по умолчанию равно 5000.

Это свойство влияет на расположение всех входных типов. Для изменения этого свойства для отдельных входных типов используйте метод setLocateSettingsOverrides.

Дополнительные сведения о способе размещения входных данных в сети

Прежние версии:

При задании этого свойства возникнет ошибка, если сетевой источник данных - портал, работающий под управлением ArcGIS Enterprise более ранней версии, чем 11.0.

Double
searchToleranceUnits
(чтение и запись)

Единицы измерения для свойства searchTolerance. Возвращается свойство и задается в качестве значения в перечислении DistanceUnits. По умолчанию – DistanceUnits.Meters.

Это свойство влияет на расположение всех входных типов. Для изменения этого свойства для отдельных входных типов используйте метод setLocateSettingsOverrides.

Прежние версии:

При задании этого свойства возникнет ошибка, если сетевой источник данных - портал, работающий под управлением ArcGIS Enterprise более ранней версии, чем 11.0.

Object
timeOfDay
(чтение и запись)

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

Свойство задается с помощью объекта datetime. Например, чтобы указать, что маршрут должен начинаться в 17:00 29 марта 2022, следует указать значение параметра, равное datetime.datetime(2022, 3, 29, 17, 0, 0).

Вместо конкретной даты может быть задан день недели, при помощи следующих условных дат:

  • Сегодня – 30.12.1899
  • Воскресенье – 31.12.1899
  • Понедельник – 01.01.1900
  • Вторник – 02.01.1900
  • Среда – 03.01.1900
  • Четверг – 04.01.1900
  • Пятница – 05.01.1900
  • Суббота – 06.01.1900

Например, чтобы указать, что маршрут должен начинаться в 17:00 во вторник, следует указать значение параметра, равное datetime.datetime(1900, 1, 2, 17, 0, 0).

Значение по умолчанию None, означающее, что анализ не будет зависеть от времени.

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

Узнать подробнее о том, как дата и время используется и интерпретируется в сетевом анализе

DateTime
timeOfDayUsage
(чтение и запись)

Указывает, является ли для маршрута значение параметра timeOfDay временем отправления или временем прибытия. Возвращается свойство и задается в качестве значения в перечислении TimeOfDayUsage. По умолчанию – TimeOfDayUsage.DepartureTime.

Object
timeUnits
(чтение и запись)

Единицы, которые будут использоваться для времени перемещения в выходных данных анализа. Независимо от единиц измерения в стоимостных атрибутах набора сетевых данных выходные данные будут трансформированы в единицы, заданные в этом свойстве. Возвращается свойство и задается в качестве значения в перечислении TimeUnits. По умолчанию – TimeUnits.Minutes.

Object
timeZone
(чтение и запись)

Определяет, будет ли указанное в свойстве timeOfDay время интерпретироваться в местном времени входных местоположений или во всемирном координированном времени (UTC). Свойство возвращается и задается в качестве участвующего в перечислении TimeZoneUsage и применяется, только если значение свойства timeOfDay не равно None. По умолчанию – TimeZoneUsage.LocalTimeAtLocations.

Object
travelDirection
(чтение и запись)

Направление движения между пунктами обслуживания и инцидентами. Возвращается свойство и задается в качестве значения в перечислении TravelDirection. По умолчанию – TravelDirection.ToFacility.

Object
travelMode
(чтение и запись)

Режим передвижения, который будет использоваться в этом анализе.

Значение возвращается и устанавливается как объект arcpy.nax.TravelMode, но оно также может быть установлено с использованием текстового имени режима передвижения или строки, содержащей действительное представление JSON режима передвижения. По умолчанию используется режим передвижения, определенный в наборе сетевых данных, используемом для анализа.

Более подробно о режимах передвижения

Object

Обзор метода

МетодОписание
addFields (input_type, field_description)

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

Более подробно об использовании пользовательских полей во входных данных анализа

count (input_type)

Возвращает количество строк, добавленных к входному типу.

fieldMappings (input_type, {use_location_fields}, {list_candidate_fields})

Создает словарь NAClassFieldMappings, который сопоставляет имена полей входного типа с объектами arcpy.nax.NAClassFieldMap, позволяющими вам сопоставлять поля входных данных свойствам механизма расчета. Словарь может использоваться в качестве входных данных аргумента field_mappings метода load.

Более подробно об использовании сопоставления полей при загрузке входных данных

fieldNames (input_type, {use_location_fields})

Получает список имен полей, поддерживаемых заданным входным типом.

insertCursor (input_type, field_names, {append})

Задает курсор записи для заданного типа выходных данных. Этот курсор предназначен для добавления строк непосредственно во входных данных.

Подробнее о том, как можно вставить входные данные

load (input_type, features, {field_mappings}, {append}, {max_features})

Задает входные объекты для использования в анализе.

Подробнее о том, как можно загружать входные данные

setLocateSettingsOverrides (input_type, {search_sources}, {allow_auto_relocate}, {search_tolerance}, {search_tolerance_units})

Установите параметры поиска для назначенного входного класса, переопределяя параметры поиска, заданные по умолчанию для анализа. Это полезно, если вы хотите использовать разные правила для поиска разных входных данных. Например, в анализе матрицы стоимости Источник-Назначение вы можете использовать поисковый запрос, который применяется только к входным источникам, если этот запрос не должен применяться к входным пунктам назначения и барьерам.

Используя этот метод, вы можете переопределить значения свойств searchSources, allowAutoRelocate, searchTolerance и searchToleranceUnits для назначенного входного класса.

Дополнительные сведения о способе размещения входных данных в сети

solve ()

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

Методы

addFields (input_type, field_description)
ПараметрОписаниеТип данных
input_type

The type of input to which the fields will be added.

Задайте этот параметр с помощью перечисленияClosestFacilityInputDataType.

Object
field_description
[field_description,...]

The fields and their properties that will be added to the input class. The value will be constructed as a list of lists with each row containing the following items:

  • Field name—The name of the field that will be added to the input class.
  • Field type—The type of the new field.
  • Field alias—The alternate display name for the field name.
  • Field length—The length of the field being added. This sets the maximum number of allowable characters for each record of the field. This option is only applicable to fields of type text. The default length is 255.
  • Default value—The default value of the field.

Available field types are as follows:

Field typeDescription

TEXT

Тип поля будет установлен на text. Текстовые поля поддерживают строки символов.

FLOAT

Тип поля будет установлен на float. Поля с плавающей точкой поддерживают дробные числа в диапазоне от -3.4E38 до 1.2E38.

DOUBLE

Тип поля будет установлен на double. Поля двойной точности поддерживают дробные числа в диапазоне от -2.2E308 до 1.8E308.

SHORT

Тип поля будет установлен на short. Поля типа Короткое целое поддерживают целые числа в диапазоне от -32768 до 32767.

LONG

Тип поля будет установлен на long. Поля типа Длинное целое поддерживают целые числа в диапазоне от -2147483648 до 2147483647.

DATE

Тип поля будет установлен на date. Поля типа Date поддерживают значения даты и времени.

GUID

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

BIGINTEGER

Типом поля будет большое целочисленное. Поля типа big integer поддерживают целые числа в диапазоне -(253). и 253.

TIMEONLY

Типом поля будет только поле времени. Поля только для времени поддерживают значения времени без значения даты.

DATEONLY

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

TIMESTAMPOFFSET

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

Only the field name and type are required. Use None as a place holder for any of the other parameters to accept the default or if the parameter does not apply to the specified field type.

The method will return an error if the field already exists in the table or if any of the field properties are invalid.

Прежние версии:
The GUID, BIGINTEGER, TIMEONLY, DATEONLY, and TIMESTAMPOFFSET field types are not supported when the network data source is a portal running ArcGIS Enterprise 11.1.x or earlier.

List
count (input_type)
ПараметрОписаниеТип данных
input_type

Тип подсчитываемых входных объектов.

Задайте этот параметр с помощью перечисленияClosestFacilityInputDataType.

Object
Возвращаемое значение
Тип данныхОписание
Integer

Число строк.

fieldMappings (input_type, {use_location_fields}, {list_candidate_fields})
ПараметрОписаниеТип данных
input_type

The type of input for which the field mappings will be returned.

Задайте этот параметр с помощью перечисленияClosestFacilityInputDataType.

See descriptions of the fields available for each input type

Object
use_location_fields

Specifies whether network location fields will be included in the returned field mappings dictionary. Network location fields describe the point on the network where an object is located. You can use network location fields to more precisely control how analysis inputs locate on the network and to save time when calling the solve method because the solver will not have to calculate the location fields from the geometry of the inputs. You can calculate location fields for a feature class using the Calculate Locations tool.

Learn more about network location fields and how inputs are located on the network

When this argument is set to True, the returned field mappings dictionary will include network location fields. The default is False, which means the field mapping dictionary will not include network location fields.

(Значение по умолчанию — False)

Boolean
list_candidate_fields
[list_candidate_fields,...]

Use this parameter to map additional, nondefault fields from the input data to the analysis inputs. For example, if the input feature class contains a field named MyField, and you want it to be included in the analysis inputs, pass the MyField field object to the list_candidate_fields parameter. MyField will be included in the returned field mapping dictionary and automatically mapped. When you call the load method using these field mappings, MyField will be included in the analysis inputs along with all the default fields. In many cases, these extra fields will be passed to the analysis output as well.

Specify this parameter as a list of arcpy.Field objects, which can be obtained from a specified feature class or table using the arcpy.ListFields function.

Learn more about best practices for setting up analysis inputs

Прежние версии:
If the network data source is an ArcGIS Enterprise portal, the method will return an error if any of the fields specified are of a type that is not supported by the portal version.

(Значение по умолчанию — None)

Field
Возвращаемое значение
Тип данныхОписание
Dictionary

Словарь NAClassFieldMappings, в котором ключами являются имена полей, а значениями - объекты arcpy.nax.NAClassFieldMap.

fieldNames (input_type, {use_location_fields})
ПараметрОписаниеТип данных
input_type

Тип входных данных, для которых возвращаются поддерживаемые имена полей.

Задайте этот параметр с помощью перечисленияClosestFacilityInputDataType.

See descriptions of the fields available for each input type

Object
use_location_fields

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

Дополнительные сведения о полях местоположения сети и способе размещения входных данных в сети

Если значение аргумента - True, возвращаемый словарь сопоставления полей будет содержать только поля местоположения в сети. Значение по умолчанию - False; список имён полей не будет содержать поля местоположения в сети.

(Значение по умолчанию — False)

Boolean
Возвращаемое значение
Тип данныхОписание
String

Список имен полей, поддерживаемых заданным входным типом.

insertCursor (input_type, field_names, {append})
ПараметрОписаниеТип данных
input_type

The type of input into which the cursor can be used to insert rows.

Задайте этот параметр с помощью перечисленияClosestFacilityInputDataType.

Object
field_names
[field_names,...]

A list of field names of the input type whose values you want to set when inserting rows using the cursor. You can get the names of the fields supported by an input type using the fieldNames method.

See descriptions of the fields available for each input type

In addition to regular fields, you can also set the geometry of the input using one of the following geometry tokens:

  • SHAPE@XYКортеж x, y координат центроида объекта.
  • SHAPE@XYZКортеж x, y, z координат центроида объекта.
  • SHAPE@JSONСтрока Esri JSON, представляющая геометрию.
  • SHAPE@WKBСтандартное двоичное (well-known binary, WKB) представление для геометрии OGC. Он обеспечивает портативное представление значения геометрии в виде непрерывного потока байтов.
  • SHAPE@WKTСтандартное текстовое (well-known text, WKT) представление для геометрии OGC. Он обеспечивает портативное представление значения геометрии в виде текстовой строки.
  • SHAPE@Объект geometry (геометрия) для пространственного объекта.

The SHAPE@XY and SHAPE@XYZ tokens are only supported for point-based input types. When using the SHAPE@XY and SHAPE@XYZ tokens, specify the x-, y-, and z-values in the spatial reference of the network data source being used in the analysis.

String
append

Specifies whether the features being inserted will be appended to the existing set of features for the input type. A value of True indicates that the new features will be appended; the existing features will be preserved. This is the default. A value of False indicates that any existing features for the input type will be deleted and replaced with the features being inserted.

(Значение по умолчанию — True)

Boolean
Возвращаемое значение
Тип данныхОписание
Object

Объект SolverInsertCursor, который можно использовать для записи объектов.

load (input_type, features, {field_mappings}, {append}, {max_features})
ПараметрОписаниеТип данных
input_type

The type of input feature that will be loaded.

Задайте этот параметр с помощью перечисленияClosestFacilityInputDataType.

Object
features

The input features that will be loaded. This parameter accepts the following input types:

  • The catalog path to a feature class or a table
  • A Layer object
  • The string representing the name of a layer
  • A FeatureSet or RecordSet object

For layer inputs, only selected features will be loaded. If a layer has a definition query, only the subset of features visible with the definition query will be loaded. The method also honors the Extent geoprocessing environment; only features in the specified extent will be loaded.

String
field_mappings

An NAClassFieldMappings dictionary that maps the field names of the input type to arcpy.nax.NAClassFieldMap objects representing the mapping of fields from the input features. Valid input for this parameter can be constructed using the fieldMappings method.

If no field mappings are specified, all fields from the input features that have the same name as the supported fields for the input type will be mapped.

See descriptions of the fields available for each input type

(Значение по умолчанию — None)

Dictionary
append

Specifies whether the features being loaded will be appended to the existing set of features for the input type. A value of True indicates that the new features will be appended, and existing features will be preserved. This is useful when loading inputs from multiple feature classes or tables to use in a single analysis. This is the default. A value of False indicates that any existing features for the input type will be deleted and replaced with the features currently being loaded.

(Значение по умолчанию — True)

Boolean
max_features

The maximum number of features that can be loaded into the input type. This is useful if you are creating a tool or service and want an error returned if the size of the input exceeds the available resources. The load method will return an arcpy.nax.LimitError if the number of input features exceeds the max_features limit.

If no value is provided, no limit will be enforced for the count of the input features.

(Значение по умолчанию — None)

Integer
setLocateSettingsOverrides (input_type, {search_sources}, {allow_auto_relocate}, {search_tolerance}, {search_tolerance_units})
ПараметрОписаниеТип данных
input_type

The type of input for which to override default locate settings.

Задайте этот параметр с помощью перечисленияClosestFacilityInputDataType.

Object
search_sources
[[Source, Expression],...]

The list of network sources to be used when locating inputs of the designated type on the network, and, optionally, a query to restrict the search to a subset of the features within a source feature class.

See the documentation for the searchSources property for examples of proper syntax for this parameter.

Specifying a value for this parameter overrides the default searchSources property value for the designated input type.

If this parameter is not specified or is set to None, the searchSources value will be used for this input type.

The method returns an error if this parameter is used and the network data source is ArcGIS Online.

String
allow_auto_relocate

Specifies whether inputs of the designated type with existing network location fields can be automatically relocated at solve time to ensure valid, routable location fields for the analysis. If the value is True, points located on restricted network elements and points affected by barriers will be relocated to the closest routable location. If the value is False, network location fields will be used as is, even if the points are unreachable, and this may cause the solve to fail.

Even if the value is False, inputs with no location fields or incomplete location fields will be located at solve time.

Specifying a value for this parameter overrides the default allowAutoRelocate property value for the designated input type.

If this parameter is not specified or is set to None, the allowAutoRelocate value will be used for this input type.

The method returns an error if the network data source is ArcGIS Online.

The method returns an error if the network data source is an ArcGIS Enterprise portal that does not support using network location fields.

Boolean
search_tolerance

The maximum search distance to use when locating inputs of the designated type on the network.

Specifying a value for this parameter overrides the default searchTolerance property value for the designated input type.

If this parameter is not specified or is set to None, the searchTolerance value will be used for this input type.

The units of this parameter value are set using the search_tolerance_units parameter; however, if no value is set for that parameter, the search_tolerance value will be interpreted in the units specified in the searchToleranceUnits property.

This parameter does not apply to line and polygon barriers; the method will return an error if this parameter is specified when the input_type value is one of these barrier types.

Double
search_tolerance_units

The units of the maximum search distance when locating inputs of the designated type of the network. The parameter is specified using a member of the DistanceUnits enumeration.

Specifying a value for this parameter overrides the default searchToleranceUnits property value for the designated input type.

If this parameter is not specified or is set to None, the searchToleranceUnits will be used for this input type.

The value specified using the search_tolerance parameter is interpreted using these units. If that parameter is not specified, the value of the searchTolerance property will be interpreted using these units for the designated input type only.

This parameter does not apply to line and polygon barriers; the method will return an error if this parameter is specified when the input_type value is one of these barrier types.

Double
solve ()
Возвращаемое значение
Тип данныхОписание
Object

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

Пример кода

Пример ClosestFacility

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

# An example showing how to perform closest facility analysis using inputs from feature classes.
import arcpy
arcpy.CheckOutExtension("network")

nds = "C:/data/NorthAmerica.gdb/Routing/Routing_ND"
nd_layer_name = "Routing_ND"
input_facilities = "C:/data/io.gdb/Facilities"
input_incidents = "C:/data/io.gdb/Incidents"
output_routes = "C:/data/io.gdb/ClosestRoutes"

# Create a network dataset layer and get the desired travel mode for analysis
arcpy.nax.MakeNetworkDatasetLayer(nds, nd_layer_name)
nd_travel_modes = arcpy.nax.GetTravelModes(nd_layer_name)
travel_mode = nd_travel_modes["Driving Time"]

# Instantiate a ClosestFacility solver object
closest_facility = arcpy.nax.ClosestFacility(nd_layer_name)
# Set properties
closest_facility.travelMode = travel_mode
closest_facility.timeUnits = arcpy.nax.TimeUnits.Minutes
closest_facility.defaultImpedanceCutoff = 15
closest_facility.defaultTargetFacilityCount = 2
closest_facility.routeShapeType = arcpy.nax.RouteShapeType.TrueShapeWithMeasures
# Load inputs
closest_facility.load(arcpy.nax.ClosestFacilityInputDataType.Facilities, input_facilities)
closest_facility.load(arcpy.nax.ClosestFacilityInputDataType.Incidents, input_incidents)
# Solve the analysis
result = closest_facility.solve()

# Export the results to a feature class
if result.solveSucceeded:
    result.export(arcpy.nax.ClosestFacilityOutputDataType.Routes, output_routes)
else:
    print("Solve failed")
    print(result.solverMessages(arcpy.nax.MessageSeverity.All))