Замкнуть треки (GeoAnalytics Desktop)

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

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

Иллюстрация

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

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

  • В следующей таблице приведена терминология, используемая в инструменте Замкнуть треки:

    ТерминОписание

    Трек

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

    Наблюдение

    Точка в треке.

    Узел

    Узлы - это конечные вершины линейных объектов, используемые для указания направления линии. Начало линии – это узел От, а конец – узел До.

    Направление

    Направление линии. Направление указывает, как можно пройти линию между узлами От и До.

    Связность

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

    Проходимо

    Линии являются проходимыми, если они соединены по общим узлам. Например, если узел От линии А совпадает с узлом До линии В, они проходимы.

  • Для инструмента необходимы следующие входные слои параметров:

    • Входной точечный слой — должен быть наблюдениями, поддерживающими время, которые представляют мгновение во времени. Наблюдения трека, не содержащие корректные временные метки, будут исключены из анализа.
    • Входной линейный слой — должен содержать поля со следующей информацией о связности, и он должен быть указан в параметре Сопоставление полей связности:
      • Unique ID- Уникальный идентификатор линии.
      • From nodeУзел, из которого начинается перемещение по линии
      • To node- Узел, в который приводит перемещение по линии

  • Примечание:

    Лицензированные StreetMap Premium векторные слои баз геоданных не поддерживаются в качестве входных данных для ArcGIS Pro 3.0.

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

  • Вы можете указать одно или более полей для идентификации треков. Треки представлены с помощью уникальной комбинации одного или нескольких полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, объекты ID007, Solden и ID007, Tokyo попадут в два отдельных трека, поскольку содержат разные значения в поле Destination.

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

  • Сопоставление точки к линии выполняется при соблюдении следующих условий:

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

  • Используйте параметр Расстояние поиска, чтобы указать максимально допустимое расстояние между наблюдением и линией. Например, если вы знаете, что точность точек GPS составляет приблизительно 100 метров, укажите расстояние поиска в 100 метров.

  • Параметр Метод расстояния определяет, как будут вычисляться расстояния поиска. Доступно два метода расстояния:

    • Геодезический — если в пространственной привязке включен переход через линию перемены дат, треки могут пересекать эту линию, когда необходимо. В противном случае треки будут ограничены экстентом системы координат и могут обрываться. Это значение по умолчанию
    • Планарный — треки не будут пересекать линию перемены дат (антимеридиан). Применяйте эту опцию, если входные данные используют система координат проекции

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

  • Используйте параметр Сопоставление значения направления, чтобы задать поддерживаемые направления для каждого линейного объекта. Например, в линейном слое есть поле с именем direction со значениями T (назад), F (вперед), B (в обоих) и "" (нет). Сопоставление направления не является обязательным, но рекомендуется для получения точных результатов. Если сопоставление направления не указано, линия рассматривается как двунаправленная.

  • Инструмент возвращает точки, замкнутые на ближайшее местоположение вдоль линии, с которой они сопоставлены. Линейные объекты не возвращаются. Уникальный идентификатор набора данных линий будет доступен для сопоставленных результатов. Поле уникального идентификатора указывается при помощи параметра Сопоставление полей связности. Вы можете определить сопоставленные линии, обратившись к этому полю.

  • Разбивать треки можно следующими способами:

    • Разбиение по времени - основано на времени между входными данными. Применение времени разбиения приводит к разделению любого трека, если входные данные выходят за указанное время. Например, если у вас есть пять объектов с одним и тем же идентификатором трека и временами [01:00, 02:00, 03:30, 06:00, 06:30], и вы установите время разбиения равным 2 часам, любые объекты длительностью более двух часов друг от друга будут разделены. В данном примере, результатом будет трек с [01:00, 02:00, 03:30] и трек с [06:00, 06:30], поскольку разница между 03:30 и 6:00 больше, чем два часа.
    • Разделение по временной границе - основано на заданных интервалах. Применение временного интервала разделяет треки на заданные интервалы. Например, если вы выбрали в границу в 1 день, начиная с 9:00 1 января , 1990 каждый трек будет обрезан в 9:00 утра AM каждого дня. Такое разбиение позволяет ускорить обработку, так как небольшие треки для анализа создаются быстрее. Если разбиение на повторяющиеся интервалы может влиять на результаты анализа и рекомендуется для обработки больших данных.
    • Разбиение по расстоянию - основано на расстоянии между входными данными. Применение расстояния разбиения приводит к разделению любого трека, если входные данные выходят за указанное расстояние. Например, если вы установили разбивку по расстоянию, равному 5 километрам, каждая последовательность пространственных объектов, превышающая 5 километров, будет выделена в отдельный трек.
    • Выражение разбиения - основывается на выражении Arcade. Применение выражения разбиения позволяет разбить треки на основе значений, геометрии или времени. Например, вы можете разбивать треки в случаях, когда значение поля более чем вдвое превышает предыдущее значение трека. Для этого, используя пример поля с именем WindSpeed, вы можете использовать следующее выражение: var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1]. Треки будут разбиваться, если предыдущее значение (speed[0]) составляет меньше половины текущего.

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

    Имя поляОписание

    MatchStatus

    Указывает, сопоставлено ли наблюдение линии. Значение M указывает, что объекты сопоставлены, а U - что нет.

    OrigX

    X-координата входного наблюдения. Координаты хранятся в единицах выходной пространственной привязки.

    OrigY

    Y-координата входного наблюдения Координаты хранятся в единицах выходной пространственной привязки.

    MatchX

    X-координата сопоставленного результата на линии. Координаты хранятся в единицах выходной пространственной привязки.

    MatchY

    Y-координата сопоставленного результата на линии. Координаты хранятся в единицах выходной пространственной привязки.

    MatchDist

    Расстояние между исходным и сопоставленным местоположениями наблюдения. Расстояние вычисляется на основании указанного метода расстояния (геодезического или плоскостного). Значения записываются в метрах.

    DATE

    Метка времени наблюдения.

    Если значение параметра Выходной режим задано как Все объекты, будут возвращены и сопоставленные, и не сопоставленные точки. Для несопоставленных точек выходные результирующие поля буду присоединены со значениями null для числовых полей и с пустыми строками для текстовых полей. Поля, которые будут присоединены со значениями null, это поля линий, указанные при помощи параметра Поля линий для включения, поля MatchX, MatchY и MatchDist.

  • Аналогичный анализ можно выполнить следующим образом:

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

  • Этот инструмент геообработки работает от Spark. Анализ выполняется на настольном компьютере с использованием нескольких ядер параллельно. См. Информация по инструментами GeoAnalytics Desktop, чтобы узнать больше о выполнении анализа.

  • При запуске инструментов GeoAnalytics Desktop анализ выполняется на настольном компьютере. Для оптимальной производительности данные должны быть доступны на настольном компьютере. Если используется размещенный векторный слой, рекомендуется применить ArcGIS GeoAnalytics Server. Если данные находятся не на жестком диске, для запуска инструмента потребуется больше времени. Чтобы использовать ArcGIS GeoAnalytics Server для выполнения анализа, см. GeoAnalytics Tools.

Параметры

ПодписьОписаниеТип данных
Входной точечный слой

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

Feature Layer
Входной линейный слой

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

Feature Layer
Выходной класс пространственных объектов

Класс объектов, который будет содержать сопоставленные точки.

Feature Class
Поля трека

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

Field
Расстояние поиска

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

Linear Unit
Сопоставление полей связности

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

  • Unique ID— Поле линейного слоя, содержащее значение уникального ID для каждого линейного объекта
  • From Node— Поле линейного слоя, содержащее значения узлов От
  • To Node— Поле линейного слоя, содержащее значения узлов К
Value Table
Поля линий для включения
(Дополнительный)

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

Field
Метод расстояний
(Дополнительный)

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

  • ГеодезическийБудут вычисляться геодезические расстояния. Это значение по умолчанию
  • ПланарныйБудут вычисляться плоскостные расстояния.
String
Сопоставление значения направления
(Дополнительный)

Поля линейного слоя и значения атрибутов, которые будут использоваться для определения направления входных линейных объектов. Например, в линейном слое есть поле с именем direction со значениями T (назад), F (вперед), B (в обоих) и "" (нет). Если значение не указано, линия рассматривается как двунаправленная.

  • Direction Field— Поле из линейного слоя, описывающее направление передвижения.
  • Forward Value– Значение из Direction Field, указывающее, что поддерживаемое направление передвижения – вперед вдоль линии.
  • Backward Value– Значение из Direction Field, указывающее, что поддерживаемое направление передвижения – назад вдоль линии.
  • Both Value– Значение из Direction Field, указывающее, что вдоль линии поддерживаются оба направления передвижения: и вперед, и назад.
  • None Value– Значение из Direction Field, указывающее, что отсутствуют поддерживаемые направления передвижения вдоль линии.

Value Table
Выходной режим
(Дополнительный)

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

  • Все объектыБудут возвращены все входные точечные объекты, вне зависимости от того, сопоставлены ли они с линейным объектом. Это значение по умолчанию
  • Сопоставляемые объектыБудут возвращены только те входные точечные объекты, что сопоставлены с линейным объектом.
String
Разбиение по времени
(Дополнительный)

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

Time Unit
Расстояние разбиения
(Дополнительный)

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

Linear Unit
Установка временного шага
(Дополнительный)

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

Time Unit
Реперная точка временных шагов
(Дополнительный)

Базовое время, используемое для деления входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если базовое время не задано, используется 1 января 1970.

Date

arcpy.geoanalytics.SnapTracks(input_points, input_lines, out_feature_class, track_fields, search_distance, connectivity_field_matching, {line_fields_to_include}, {distance_method}, {direction_value_matching}, {output_mode}, {time_split}, {distance_split}, {time_boundary_split}, {time_boundary_reference})
ИмяОписаниеТип данных
input_points

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

Feature Layer
input_lines

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

Feature Layer
out_feature_class

Класс объектов, который будет содержать сопоставленные точки.

Feature Class
track_fields
[track_fields,...]

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

Field
search_distance

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

Linear Unit
connectivity_field_matching
[connectivity_field_matching,...]

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

  • Unique ID— Поле линейного слоя, содержащее значение уникального ID для каждого линейного объекта
  • From Node— Поле линейного слоя, содержащее значения узлов От
  • To Node— Поле линейного слоя, содержащее значения узлов К
Value Table
line_fields_to_include
[line_fields_to_include,...]
(Дополнительный)

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

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

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

  • GEODESICБудут вычисляться геодезические расстояния.
  • PLANARБудут вычисляться плоскостные расстояния.
String
direction_value_matching
[direction_value_matching,...]
(Дополнительный)

Поля линейного слоя и значения атрибутов, которые будут использоваться для определения направления входных линейных объектов. Например, в линейном слое есть поле с именем direction со значениями T (назад), F (вперед), B (в обоих) и "" (нет). Если значение не указано, линия рассматривается как двунаправленная.

  • Direction Field— Поле из линейного слоя, описывающее направление передвижения.
  • Forward Value– Значение из Direction Field, указывающее, что поддерживаемое направление передвижения – вперед вдоль линии.
  • Backward Value– Значение из Direction Field, указывающее, что поддерживаемое направление передвижения – назад вдоль линии.
  • Both Value– Значение из Direction Field, указывающее, что вдоль линии поддерживаются оба направления передвижения: и вперед, и назад.
  • None Value– Значение из Direction Field, указывающее, что отсутствуют поддерживаемые направления передвижения вдоль линии.

Value Table
output_mode
(Дополнительный)

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

  • ALL_FEATURESБудут возвращены все входные точечные объекты, вне зависимости от того, сопоставлены ли они с линейным объектом. Это значение по умолчанию
  • MATCHED_FEATURESБудут возвращены только те входные точечные объекты, что сопоставлены с линейным объектом.
String
time_split
(Дополнительный)

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

Time Unit
distance_split
(Дополнительный)

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

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

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

Time Unit
time_boundary_reference
(Дополнительный)

Базовое время, используемое для деления входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если базовое время не задано, используется 1 января 1970.

Date

Пример кода

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

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

# Name: SnapTracks.py
# Description: Snap snowplow fleet tracks to roads to uncover areas that 
#              may need more resources for snow removal efforts

# Import system modules
import arcpy

# Enable time on the input features using an .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties 
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\Snowplow.lyrx'

# MakeFeatureLayer converts the .lyrx to features
snowplowsLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "Snowplows Layer")

# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.management.ApplySymbologyFromLayer(snowplowsLayer, inputLyrx)

# Set local variables
lineLayer = "c:/mydata/Roads.gdb/CityStreets"
trackIdentifier = "vehicle_id"
out = "c:/mydata/OutputDatasets.gdb/Snowplows_snapped_to_streets"
searchDistance = "10 Meters"
connectivityFieldMatching = "unique_ID from_node to_node"
directionValueMatching = "dir_travel F T B #"

# Run Snap Tracks
arcpy.gapro.SnapTracks(snowplowsLayer, lineLayer, out, trackIdentifier, 
                       searchDistance, connectivityFieldMatching, None,
																							"GEODESIC", directionValueMatching, "MATCHED_FEATURES")