Сводка
Создаёт линейные или полигональные треки из входных данных с включённым временем.
Иллюстрация
Использование
Заново создать треки работает с точечными или полигональными объектами. Входным слоем должен быть слой с включённым временем, с объектами, представляющими определённый момент времени.
Вы можете указать одно или более полей для идентификации треков. Треки представлены с помощью уникальной комбинации одного или нескольких полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, следующие объекты ID007, Solden и ID007, Tokoyo попадут в два отдельных трека, поскольку они имеют отличающиеся значения в поле Destination.
Объекты с буфером позволят создать полигональные треки. Входные точечные объекты без буфера создают полилинейные треки.
Входные объекты будут содержать объекты с включенным временем, которые представляют определенный момент времени. Результатами будут линейные или площадные объекты, представляющие временной интервал. Начало и конец интервала определяются временем в первом и в последнем объекте трека.
Для линейных результатов будут возвращены только треки, содержащие более одной точки. Если вы применяете буфер, будут возвращены все объекты.
У вас есть возможность дополнительно применить буфер ко входным объектам. Если вы применяете буфер, итоговые треки будут полигональными объектами.
Если буфер применяется к нескольким входным объектам, буфер строится для каждого объекта. Затем для создания полигонального трека создается замкнутая оболочка.
Поля, используемые для выражения буфера, должны быть числовыми и применяться с использованием единиц измерения пространственной привязки входных данных. Более подробно см. Выражения Arcade в настольных инструментах геоаналитики. Можете использовать уравнения для треков.
По умолчанию вычисляется только число точек или полигонов в треке. Дополнительную статистику можно вычислить, задав параметр Поля суммирования.
По умолчанию треки создаются с использованием геодезического метода. Этот метод применяется к следующим двум компонентам анализа:
- Треки, пересекающие международную линию перемены даты – при использовании геодезического метода входные слои, пересекающие международную линию перемены даты, будут иметь треки, надлежащим образом пересекающие эту линию. Используется по умолчанию. Ваш входной слой или пространственная привязка обработки должны быть настроены на пространственную привязку, поддерживающую переход через международную линию перемены даты, например, глобальную проекционную привязку типа World Cylindrical Equal Area.
- Буферы – у вас есть возможность дополнительно применить буфер ко входным объектам. Более подробно о случаях применения геодезического или плоскостного буфера см. в разделе Создание буферов.
Разбивать треки можно следующими способами:
- Разбиение по времени - основано на времени между входными данными. Применение времени разбиения приводит к разделению любого трека, если входные данные выходят за указанное время. Например, если у вас есть пять объектов с одним и тем же идентификатором трека и временами [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 километров, будет выделена в отдельный трек.
Можно применить одновременно одну, две или три опции разбиения, либо не применять никакой. Результаты, полученные при применении разделения по времени через 6 часов, временной границы в 1 день и по расстоянию в 16 километров, будут следующими:
Опция разбиения Описание Шесть входных точек со временем и местоположением.
Входные точки с одинаковым идентификатором. Расстояние между точками показано над пунктирной линией, а время измерения каждой точки подписывается под точками. На временной линии имеется четыре разделения. Красными разделителями показана временная граница в 1 день, начиная с 12:00. Синий разделитель соответствует разделению по расстоянию, если расстояние между двумя точками превышает 16 км. Фиолетовый разделитель отображает разделение по времени, если временное расстояние между двумя последовательными точками превышает 6 часов.
Пример без разбиения по времени или расстоянию
Пример с разбиением по времени через два часа. Все пространственные объекты, отстоящие дальше чем на два часа, разбиваются в отдельные треки.
Пример с границей по времени в 1 день, начиная с полночи. Через каждый 1-дневный интервал, начиная с указанного времени (в данном случае - с 12:00), создается трек.
Пример с разбиением по расстоянию через 16 километров. Все пространственные объекты, отстоящие дальше чем на 16 километров (объекты в моменты 5:00 и 6:00), разбиваются на отдельные треки.
Пример с разбиением по времени через 6 часов и границей по времени в 1 день в 12:00. Все объекты, отстоящие дальше, чем на 6 часов, либо пересекающие временной отрезок в 12:00, разбиваются на отдельные треки.
Пример с разбиением по времени через 6 часов и по расстоянию через 16 км Все пространственные объекты, отстоящие дальше чем на 6 часов (6:00 и 7:00) или на 16 км, разбиваются на отдельные треки.
Пример с разбиением по расстоянию через 16 км и границей по времени в 1 день в 12:00. Все объекты, отстоящие дальше, чем на 16 км, либо пересекающие временной отрезок в 12:00, разбиваются на отдельные треки.
Пример с разбиением по расстоянию через 16 км, разбиением по времени через 6 часов и границей по времени в 1 день в 12:00 Все объекты, отстоящие дальше, чем на 16 км либо дальше, чем на 6 часов или пересекающие временной отрезок в 12:00, разбиваются на отдельные треки.
Ниже приведены примеры задания треков с использованием параметров разбиения и параметра поля идентификатора, на примере рейса авиакомпании:
- У объекта-самолета есть поля aircraft ID, flight ID, pilot name и start time.
- Используйте поле aircraft ID как идентификатор, чтобы увидеть, где находится каждый самолет.
- Используйте поля aircraft ID и flight ID как идентификаторы для сравнения отдельных маршрутов.
- Используйте поле aircraft ID и временную границу в 1 год, чтобы изучить полеты каждого самолета в течение года.
- Используйте поля pilot name, aircraft ID и start time для просмотра полетов каждого пилота.
- Используйте поле aircraft ID в качестве идентификатора и разбиение по расстоянию больше 1000 км, чтобы определить новые треки, при этом каждый 1000 километровый отрезок не должен принадлежать одному и тому же треку.
- У объекта-самолета есть поля aircraft ID, flight ID, pilot name и start time.
Выходные треки вернут поля, использованные в качестве идентификаторов треков, количество объектов в треке (count), время начала и конца каждого трека (start_date и end_date), длительность трека в милисекундах (duration) и любую дополнительную статистику (в формате statisticstype_fieldname)).
Вы можете повысить производительность инструмента Заново создать треки следующими способами:
- Задайте параметр среды экстента, чтобы анализировать только данные области интереса.
- Используйте планарный метод вместо геодезического.
- Не применяйте буфер.
- Разбивайте треки, используя параметры Разбиение по времени, Разделение по временной границе и Разбиение по расстоянию. Разделение по временной границе обеспечивает наилучшую производительность.
- Используйте локальные данные там, где выполняется анализ.
Этот инструмент геообработки работает от Spark. Анализ выполняется на настольном компьютере с использованием нескольких ядер параллельно. См. Информация по инструментами GeoAnalytics Desktop, чтобы узнать больше о выполнении анализа.
При запуске инструментов GeoAnalytics Desktop анализ выполняется на настольном компьютере. Для оптимальной производительности данные должны быть доступны на настольном компьютере. Если вы используете размещенный векторный слой, рекомендуется использовать ArcGIS GeoAnalytics Server. Если данные находятся не на жестком диске, для запуска инструмента потребуется больше времени. Для использования ArcGIS GeoAnalytics Server в целях выполнения анализа см. раздел Инструменты геоаналитики.
Аналогичный анализ можно выполнить следующим образом:
- Инструмент Точки и линию из набора инструментов Управление данными.
Синтаксис
ReconstructTracks(input_layer, out_feature_class, track_fields, method, buffer_type, {buffer_field}, {buffer_expression}, {time_split}, {distance_split}, {time_boundary_split}, {time_boundary_reference}, {summary_fields})
Parameter | Объяснение | Тип данных |
input_layer | Точки или полигоны, которые будут перестроены в треки. Входным слоем должен быть слой с включенным временем, представляющий определенный момент времени. | Feature Layer |
out_feature_class | Новый класс объектов с результирующими треками. | Feature Class |
track_fields [track_fields,...] | Одно или несколько полей, используемых для идентификации уникальных треков. | Field |
method | Задает критерии, которые будут использованы для воссоздания треков. Если используется буфер, method определяет его тип.
| String |
buffer_type | Указывает, как будет задаваться буферное расстояние.
| String |
buffer_field (Дополнительный) | Поле, которое будет использоваться для буферизации входных объектов. Значения поля, которые применяются в единицах пространственной привязки входных данных, если не используется географическая система координат, в этом случае значения будут в метрах. | Field |
buffer_expression (Дополнительный) | Выражение, который будет использоваться для буферизации входных объектов. Должны использоваться числовые поля, в выражение могут включаться операторы [+ - * / ] и несколько полей. Вычисленные значения применяются в единицах измерения пространственной привязки входных данных, но если используется географическая система координат – единицами измерения будут метры. Используйте выражения Arcade, например as_kilometers($feature.distance) * 2 + as_meters(15). | Calculator Expression |
time_split (Дополнительный) | Объекты, находящиеся дальше во времени, чем длительность, будут разделены на отдельные треки. | Time Unit |
distance_split (Дополнительный) | Объекты, находящиеся дальше по расстоянию, чем длительность, будут разделены на отдельные треки. | Linear Unit |
time_boundary_split (Дополнительный) | Временной интервал для разбиения входных данных при анализе. Временные границы позволяют анализировать значения в пределах заданного отрезка времени. Например, если вы используете временные границы в 1 день, и устанавливаете для опорную границу времени на 1 января , 1980, треки будут разбиты в начале каждого дня. | Time Unit |
time_boundary_reference (Дополнительный) | Время начала отсчета, используемое для разбиения входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если время начала отсчета не установлено, используется 1 января 1970 года. | Date |
summary_fields [summary_fields,...] (Дополнительный) | Статистика, которая будет рассчитываться по определенным полям.
| Value Table |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент ReconstructTracks.
#-------------------------------------------------------------------------------
# Name: ReconstructTracks.py
# Description: Reconstruct hurricane points into hurricane tracks, where each location is buffered by the wind speed * 100
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/WeatherEvents.gdb"
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Hurricanes/MapServer/0"
trackIdentifier = "EVENTID"
out = "HurricaneTracks"
bufferExpression = "WINDSPEED * 100"
statistics = [["PRESSURE", "MEAN"]]
# Execute Reconstruct Tracks
arcpy.gapro.ReconstructTracks(inFeatures, out, trackIdentifier,
"GEODESIC", "EXPRESSION", None,
bufferExpression, None, statistics)
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да