Вычислить сумму длин в системе линейных координат (Location Referencing)

Доступно с лицензией Location Referencing.

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

Cоздает продукт данных длины для маршрутов в сети LRS без шаблона данных LRS.

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

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

  • Этот инструмент не изменяет входные данные и создает файл .csv или таблицу базы геоданных в качестве выходных данных.

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

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

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

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

  • Значение Неклассифицированный будет включено в выходное поле суммирования для маршрутов, которые не пересекаются со слоями суммирования.

  • Вы можете добавить несколько полей суммирования.

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

  • Вы можете добавить несколько полей длины из одного и того же класса объектов, создав слои выборки и указав каждый слой выборки в качестве поля длины. Например, если у вас есть класс объектов линейных событий LRS, вы можете создать два слоя выборки - класс A и класс B - и указать каждый из этих слоев выборки в качестве поля длины.

Параметры

ПодписьОписаниеТип данных
Входные объекты-маршруты

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

Feature Layer
Дата вступления в силу

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

Значение по умолчанию — сегодняшняя дата.

Date
Единицы длины

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

  • Дюймы (США)Единицами измерения будут дюймы.
  • Футы (США)Единицами измерения будут футы.
  • Ярды (США)Единицами измерения будут ярды.
  • Мили (США)Единицами измерения будут мили.
  • Морские мили (США)Единицами измерения будут морские мили.
  • Футы (Международные)Единицами измерения будут международные футы.
  • Сухопутные милиЕдиницами измерения будут сухопутные мили.
  • МиллиметрыЕдиницами измерения будут миллиметры.
  • СантиметрыЕдиницами измерения будут сантиметры.
  • МетрыЕдиницами измерения будут метры.
  • КилометрыЕдиницами измерения будут километры.
  • ДециметрыЕдиницами измерения будут дециметры.
String
Поля суммирования
(Дополнительный)

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

  • Слой - векторный слой, который будет использоваться в качестве слоя суммирования.
  • Поле - поле, которое будет использоваться для суммирования длины.
  • Имя выходного поля - отображаемое имя поля суммирования в выходных данных.
Value Table
Поля длины
(Дополнительный)

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

  • Слой - векторный слой, который будет использоваться в качестве основы для расчета длины.
  • Имя выходного поля - отображаемое имя поля длины в выходных данных.
Value Table
Исключить пустые суммарные строки
(Дополнительный)

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

  • Отмечено - строки с нулевой длиной (пустые суммарные строки) будут исключены из выходных данных. Это значение по умолчанию
  • Не отмечено - строки с нулевой длиной (пустые суммарные строки) не будут исключены из выходных данных.
Boolean
Вычислить длину доминирующих маршрутов
(Дополнительный)
Примечание:

Поддержка этого параметра появится в будущих версиях.

Boolean
Выходной формат
(Дополнительный)

Задает формат выходных данных.

  • CSVВыходными данными будет файл .csv. Это значение по умолчанию
  • ТаблицаВыходными данными будет таблица базы геоданных.
String
Выходной файл
(Дополнительный)

Выходной файл .csv, который будет содержать продукт данных длины.

File
Выходная таблица
(Дополнительный)

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

Table

arcpy.locref.GenerateLRLengthSummary(in_route_features, effective_date, units, {summary_fields}, {length_fields}, {exclude_null_summary_rows}, {calculate_length_for_dominant_routes}, {output_format}, {out_file}, {out_table})
ИмяОписаниеТип данных
in_route_features

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

Feature Layer
effective_date

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

Значение по умолчанию — сегодняшняя дата.

Date
units

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

  • INCHESЕдиницами измерения будут дюймы.
  • FEETЕдиницами измерения будут футы.
  • YARDSЕдиницами измерения будут ярды.
  • MILESЕдиницами измерения будут мили.
  • NAUTICAL_MILESЕдиницами измерения будут морские мили.
  • INTFEETЕдиницами измерения будут международные футы.
  • INTMILESЕдиницами измерения будут сухопутные мили.
  • MILLIMETERSЕдиницами измерения будут миллиметры.
  • CENTIMETERSЕдиницами измерения будут сантиметры.
  • METERSЕдиницами измерения будут метры.
  • KILOMETERSЕдиницами измерения будут километры.
  • DECIMETERSЕдиницами измерения будут дециметры.
String
summary_fields
[summary_fields,...]
(Дополнительный)

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

  • Слой - векторный слой, который будет использоваться в качестве слоя суммирования.
  • Поле - поле, которое будет использоваться для суммирования длины.
  • Имя выходного поля - отображаемое имя поля суммирования в выходных данных.
Value Table
length_fields
[length_fields,...]
(Дополнительный)

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

  • Слой - векторный слой, который будет использоваться в качестве основы для расчета длины.
  • Имя выходного поля - отображаемое имя поля длины в выходных данных.
Value Table
exclude_null_summary_rows
(Дополнительный)

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

  • EXCLUDEСтроки с нулевой длиной (пустые суммарные строки) будут исключены из выходных данных. Это значение по умолчанию
  • DO_NOT_EXCLUDEСтроки с нулевой длиной (пустые суммарные строки) не будут исключены из выходных данных.
Boolean
calculate_length_for_dominant_routes
(Дополнительный)
Примечание:

Поддержка этого параметра появится в будущих версиях.

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

Задает формат выходных данных.

  • CSVВыходными данными будет файл .csv. Это значение по умолчанию
  • TABLEВыходными данными будет таблица базы геоданных.
String
out_file
(Дополнительный)

Выходной файл .csv, который будет содержать продукт данных длины.

File
out_table
(Дополнительный)

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

Table

Пример кода

GenerateLRLengthSummary, пример 1 (автономный скрипт)

Этот автономный скрипт демонстрирует пример использования функции GenerateLRLengthSummary.

# Name: GenerateLRLengthSummary_ex1.py 
# Description: Create a length data product that provides the length of routes for three class types, summarized by counties with a population of more than 50,000
# Requirements: ArcGIS Location Referencing 
 
# Import arcpy module 
import arcpy 
 
# Check out any necessary licenses 
arcpy.CheckOutExtension("LocationReferencing")

# Set current workspace  
arcpy.env.workspace = r"C:\Data\SampleData.gdb" 

# Create a feature layer of counties that have more than 50,000 population, to be used as summary field
arcpy.management.MakeFeatureLayer("counties", "counties_50K", "POPULATION > 50000")

# Create 3 feature layers, each representing a class type, to be used as length fields
arcpy.management.MakeFeatureLayer("Class", "Class_A", "classtype = 1") 
arcpy.management.MakeFeatureLayer("Class", "Class_B", "classtype = 2")   
arcpy.management.MakeFeatureLayer("Class", "Class_C", "classtype = 3") 

# Set tool variables 
in_route_features = "Network" 
effective_date = "12/31/2024" 
units = "METERS" 
summary_fields = "counties_50K NAME Counties"
length_fields = "Class_A 'Class A'; Class_B 'Class B'; Class_C 'Class C'"
exclude_null_summary_rows = "EXCLUDE"
calculate_length_for_dominant_routes = None
output_format = "CSV" 
out_file = r"C:\Data\LP1.csv" 
out_table = None 

# Run the tool 
arcpy.locref.GenerateLRLengthSummary(in_route_features, effective_date, units, summary_fields, length_fields,
                                     exclude_null_summary_rows, calculate_length_for_dominant_routes,
                                     output_format, out_file, out_table) 

# Check in licenses 
arcpy.CheckInExtension("LocationReferencing")
GenerateLRLengthSummary, пример 2 (окно Python)

В следующем скрипте показано, как использовать функцию GenerateLRLengthSummary в окне Python.

# Name: GenerateLRLengthSummary_ex2.py 
# Description: Create a length data product that provides the length of routes for all class types, summarized by counties
# Requirements: ArcGIS Location Referencing 
 
# Set tool variables 
in_route_features = "Network" 
effective_date = "12/31/2024" 
units = "METERS" 
summary_fields = "Counties NAME Counties" 
length_fields = "'Class' 'Class'"  
exclude_null_summary_rows = "DO_NOT_EXCLUDE" 
calculate_length_for_dominant_routes = None 
output_format = "CSV" 
out_file = r"C:\Data\LP2.csv" 
out_table = None 
 
# Run the tool 
arcpy.locref.GenerateLRLengthSummary(in_route_features, effective_date, units, summary_fields, length_fields,
                                     exclude_null_summary_rows, calculate_length_for_dominant_routes,
                                     output_format, out_file, out_table)
GenerateLRLengthSummary, пример 3 (автономный скрипт)

Следующий автономный скрипт показывает, как использовать функцию GenerateLRLengthSummary с данными сервиса объектов.

# Name: GenerateLRLengthSummary_ex3.py 
# Description: Using LRS data in a feature service, create a length data product that provides the length of routes
# for three class types, summarized by counties with a population of more than 50,000
# Requires: ArcGIS Location Referencing 
 
# Import arcpy module 
import arcpy 
 
# Check out the license 
arcpy.CheckOutExtension("LocationReferencing") 
 
# Data is in a feature service. Signing in to the Enterprise portal is required to access the feature service
arcpy.SignInToPortal('https://yourdomain.com/portal', 'username', 'password') 
 
# Map the LRS Network from the feature service. Here, 1 corresponds to the LRS Network's layer ID
in_route_features = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/1"

# Map the Counties layer from the feature service. Here, 39 corresponds to the Counties layer's layer ID
counties = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/39"

# Create a feature layer of counties that have more than 50,000 population, to be used as summary field 
arcpy.management.MakeFeatureLayer(counties, "counties_50K", "POPULATION > 50000")

# Map the Class layer from the feature service. Here, 22 corresponds to the Class layer's layer ID
classlayer = r"https://yourdomain.com/server/rest/services/FeatureServiceName/FeatureServer/22"

# Create 3 feature layers, each representing a class type, to be used as length fields 
arcpy.management.MakeFeatureLayer(classlayer, "Class_A", "classtype = 1") 
arcpy.management.MakeFeatureLayer(classlayer, "Class_B", "classtype = 4")   
arcpy.management.MakeFeatureLayer(classlayer, "Class_C", "classtype = 7")

# Set tool variables 
effective_date = "12/31/2024" 
units = "METERS" 
summary_fields = "counties_50K NAME Counties" 
length_fields = "Class_A 'Class A'; Class_B 'Class B'; Class_C 'Class C'"
exclude_null_summary_rows = "EXCLUDE"
calculate_length_for_dominant_routes = None
output_format = "CSV" 
out_file = r"C:\Data\LP3.csv" 
out_table = None 
 
# Run the tool 
arcpy.locref.GenerateLRLengthSummary(in_route_features, effective_date, units, summary_fields, length_fields,
                                     exclude_null_summary_rows, calculate_length_for_dominant_routes,
                                     output_format, out_file, out_table) 
 
# Check in the license 
arcpy.CheckInExtension("LocationReferencing")

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

  • Basic: Обязательно ArcGIS Location Referencing (ArcGIS Pipeline Referencing или ArcGIS Roads and Highways)
  • Standard: Обязательно ArcGIS Location Referencing (ArcGIS Pipeline Referencing или ArcGIS Roads and Highways)
  • Advanced: Обязательно ArcGIS Location Referencing (ArcGIS Pipeline Referencing или ArcGIS Roads and Highways)

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