Инструмент Заново создать треки соединяет последовательные по времени точки в треки и суммирует объекты внутри трека. Треки идентифицируются по одному или нескольким полям треков. Итоговый слой отображает трека, как линию или площадь, количество суммированных объектов внутри трека, а также любую дополнительную статистику, которая была указана.
Схема рабочего процесса
Анализ с помощью GeoAnalytics Tools
Анализ, выполняемый с помощью GeoAnalytics Tools работает с использованием распределенной обработки по нескольким компьютерам ArcGIS GeoAnalytics Server и ядрам. GeoAnalytics Tools и стандартные инструменты анализа ArcGIS Enterprise имеют различные параметры и возможности. Более подробно об этих различиях см. в разделе Различия между инструментами анализа объектов.
Терминология
Термин | Описание |
---|---|
Геодезический | Линия, нарисованная на сфере. Геодезическая линия, нарисованная на глобусе, представляет собой кривизну геоида Земли. |
Плоскостной | Расстояние по прямой линии, как измеренное на плоской поверхности (то есть на декартовой плоскости). Это также называется Евклидовым расстоянием. |
Текущий | Отдельный момент времени, заданный начальным временем и не имеющий конечного времени. |
Интервальный | Длительность, заданная начальным и конечным значениями времени. |
Примеры
Ураганы – это одни из самых разрушительных типов штормов, которые случаются в США. Чтобы оценить стоимость страховки, вас могут заинтересовать маршруты, которыми проходили предыдущие ураганы, что поможет определить местоположения, исторически имевшие высокий ущерб имущества и финансовый урон от ураганов. У вас есть доступ к данным о местоположениях урагана по всем Соединенным штатам в виде отдельного набора данных, с временной меткой на каждом местоположении. Вы хотите суммировать всю имеющуюся информацию, чтобы увидеть сводную информацию по значениям для всех ураганов. Вы можете суммировать данные, используя идентификатор треков урагана, чтобы определить статистику для каждого урагана.
Примечания по использованию
Инструмент Заново создать треки работает с точечными или площадными объектами. Входным слоем должен быть слой с включённым временем, с объектами, представляющими определённый момент времени.
Для линейных результатов будут возвращены только треки, содержащие более одной точки. Если вы применяете буфер, будут возвращены все объекты.
Входные объекты будут содержать объекты с включенным временем, которые представляют определенный момент времени. Результатами будут линейные или площадные объекты, представляющие временной интервал. Начало и конец интервала определяются временем на первом и последнем объектах трека.
В самом простом варианте при вычислении в треке будет подсчитано количество объектов, которые были суммированы. Данные статистики (количество, минимум, максимум, диапазон, среднее, стандартное отклонение, дисперсия, первое и последнее значения в треке) могут также вычисляться для числовых полей, а данные статистики (количество, любые другие, первое и последнее значения в треке) могут вычисляться для текстовых полей. Строковая статистика "любой" возвращает пример строки от каждого трека. Для каждого трека статистика будет вычислена отдельно.
Имя поля или полей, которые использовались для идентификации треков, будут возвращены с результатами.
Вы можете указать одно или более полей для идентификации треков. Треки представлены с помощью уникальной комбинации одного или нескольких полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, следующие объекты ID007, Solden и ID007, Tokoyo попадут в два отдельных трека, поскольку они имеют отличающиеся значения в поле Destination.
У вас есть возможность дополнительно применить буфер ко входным объектам. Если вы применяете буфер, итоговые треки будут площадными объектами.
Буферы создаются на основе поля или выражения буфера. Более подробно о выражениях буфера и форматировании см. в разделе Использование выражений буфера c GeoAnalytics Tools. Вы можете применять выражение с отслеживанием треков. Например, вы можете построить объект для текущего объекта, используя поле wind_speed у трех предыдущих объектов в треке с помощью равенства mean($track.field["wind_speed].history(-4, -1)).
Если буфер применяется к нескольким входным объектам, буфер строится для каждого объекта. Затем для создания площадного трека создаётся замкнутая оболочка.
По умолчанию треки создаются с использованием геодезического метода. Этот метод применяется к следующим двум компонентам анализа:
- Треки, пересекающие международную линию перемены даты – при использовании геодезического метода входные слои, пересекающие международную линию перемены даты, будут иметь треки, надлежащим образом пересекающие эту линию. Это значение по умолчанию. Ваш входной слой или пространственная привязка обработки должны быть настроены на пространственную привязку, поддерживающую переход через международную линию перемены даты, например, глобальную проекционную привязку типа World Cylindrical Equal Area.
- Буферы – у вас есть возможность дополнительно применить буфер ко входным объектам. Более подробно о случаях применения геодезического или плоскостного буфера см. в разделе Создание буферов.
Есть четыре способа разбить треки:
- Основываясь на времени входных данных - применяется разбиение по времени
- Через заданные интервалы времени - применяется временная граница
- Основываясь на расстоянии между входными - применяется разбиение по расстоянию
- На основе выражения Arcade - применяется выражение разбиения
Применение времени разбиения приведёт на разделение трека на части, если входные данные уходят за указанное время. Например, если у вас есть пять объектов с одним и тем же идентификатором трека и временами [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 километров, будет выделена в отдельный трек..
Применение выражения разбиения разделяет треки на основе значений, геометрии или значений времени. Например, вы можете разделить треки, если значение поля более чем в два раза превышает предыдущее значение в треке. Для этого, используя пример поля с именем WindSpeed, вы можете использовать следующее выражение: var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1]. Треки будут разделены, если предыдущее значение (speed[0]) меньше, более чем в два раза, по сравнению с текущим значением.
Можно применить одновременно несколько или все опции разбиения, либо не применять никакой. Все примеры ниже используют разделение в виде разрыва. Результаты, полученные при применении разделения по времени через 6 часов, временной границы в 1 день и по расстоянию в 16 километров , будут следующими:
Опция разбиения | Описание |
---|---|
Шесть входных точек со временем и местоположением. | Входные точки с одинаковым идентификатором. Расстояние между точками показано над пунктирной линией, а время измерения каждой точки подписывается под точками. Есть четыре разделения на временной линии. Красными разделителями показана временная граница в 1 день - начиная с 00:00. Синий разделитель соответствует разделению по расстоянию, если расстояние между двумя точками превышает 16 км. Фиолетовый разделитель отображает разделение по времени, если временное расстояние между двумя последовательными точками превышает 6 часов. |
Пример без разбиения по времени или расстоянию | |
Пример с разбиением по времени через два часа. Все пространственные объекты, отстоящие дальше чем на два часа, разбиваются в отдельные треки. | |
Пример с границей по времени в 1 день, начиная с полночи. Через каждый 1-дневный интервал, начиная с указанного времени (в данном случае - с 00:00), создается новый трек. | |
Пример с разбиением по расстоянию через 16 километров. Все пространственные объекты, отстоящие дальше чем на 16 километров (объекты в моменты 05:00 и 06:00), разбиваются на отдельные треки. | |
Пример с разбиением по времени через 6 часов и границей по времени в 1 день в 00:00. Все объекты, отстоящие дальше, чем на шесть часов либо пересекающие временной отрезок в 00:00 , разбиваются на отдельные треки. | |
Пример с разбиением по времени через 6 часов и по расстоянию через 16 км. Все пространственные объекты, отстоящие дальше чем на шесть часов (6:00 и 19:00) или на 16 км, разбиваются в отдельные треки. | |
Пример с разбиением по расстоянию через 16 км и границей по времени в 1 день в 00:00. Все объекты, отстоящие дальше, чем на 16 км либо пересекающие временной отрезок в 00:00 , разбиваются на отдельные треки. | |
Пример с разбиением по расстоянию через 16 км, разбиением по времени через 6 часов и границей по времени в 1 день в 00:00. Все объекты, отстоящие дальше, чем на 16 км либо дальше, чем на 6 часов или пересекающие временной отрезок в 00:00, разбиваются на отдельные треки. |
При разделении трека с помощью разбиения по времени, расстоянию или выражению, вы можете решить, как будут создаваться сегменты между треками. Разбиение временных границ всегда создает разрыв. Опции разбиения треков доступны в ArcGIS Enterprise версии 10.9 или более поздней. У вас имеются следующие возможности:
- Пробел - создается разрыв между двумя объектами, которые были разбиты.
- Завершить после - создается сегмент, который заканчивается после разбиения.
- Начать до - создается сегмент, который заканчивается и начинается после разбиение.
На рисунке вы видите пример типов разбиения:
Опция разбиения по времени | Описание |
Пять входных точек со временем и местоположением. | Пять входных точек с одинаковым идентификатором. Время каждой точки отмечено под пунктирной линией. Существует одно разделение между 02:00 и 05:00 для всех примеров. Каждый трек разделен на два сегмента между третьей и четвертой точками на треке. Первый трек зелёный, а второй фиолетовый. Способ разделения треков определяется параметром тип разбиения. |
Разрыв | Пример с разрывом между двумя точками, которые были разбиты. Первый трек заканчивается в третьей точке, а второй трек начинается в четвертой точке. Это значение по умолчанию. |
Завершить после | Пример, в котором трек заканчивается после разбиения, в четвертой точке. Второй трек начинается в четвертой точке. |
Начало до | Пример, в котором трек разбивается до разбиения, в третьей точке. Второй трек начинается в третьей точке. |
Ниже приведены примеры того, как можно задавать треки, используя параметры разбиения и параметр поля идентификатора, на примере рейс авиакомпании:
- У объекта-самолета есть поля aircraft ID, flight ID, pilot name, start time и flight_maneuver.
Поле flight_maneuver показывает, находится ли самолет на земле, поднимается, опускается или находится на постоянной высоте.
- Воспользуйтесь aircraft ID в качестве идентификатора, если вам нужно увидеть пролеты всех самолетов.
- Используйте поля aircraft ID и flight ID в качестве идентификатора, если вам необходимо сравнивать конкретные маршруты.
- Используйте aircraft id и временную границу в 1 год, если хотите изучить полеты каждого самолета за год.
- Воспользуйтесь значениями pilot name, aircraft ID и start time, если хотите хотите видеть полет каждого пилота.
- Используйте aircraft ID в качестве идентификатора и разбиение через расстояния больше 1000 км, чтобы задать новые треки, чтобы трек был разбит через каждые 1,000-км на новые треки.
- Используйте поле aircraft ID в качестве идентификатора и разбивайте его с помощью выражения при изменении значения в поле flight_manuever. Например, var manuever = TrackFieldWindow("maneuver", -1, 1); maneuver[0] != maneuver[1] проверяет, совпадает ли текущее значение в треке с предыдущим значением. Если нет, трек разбивается.
Выходные треки вернут поля, использованные в качестве идентификаторов треков, количество объектов в треке (count), время начала и конца каждого трека (start_datetime и end_datetime), длительность трека в миллисекундах (duration) и любую другую дополнительную статистику.
Если опция Использовать текущий экстент карты включена, будут анализироваться только те объекты, которые отображаются в текущем экстенте. Если опция отключена, анализ будет выполнен для всех входных объектов входного слоя, даже если они находятся вне текущего экстента карты.
Ограничения
Входными данными должны быть точечные или площадные слои с включенным временем, имеющие тип Текущий. Любые объекты, не имеющие временных атрибутов, не будут включены в выходные треки.
Как работает инструмент Заново создать треки
В разделе ниже описывается работа инструмента Заново создать треки
Уравнения
Дисперсия вычисляется по следующему уравнению:
Стандартное отклонение вычисляется как квадратный корень из дисперсии.
Вычисления
Входные слои будут суммированы в треки с использованием уникального идентификатора. Сводные результаты вычисляются внутри каждого трека.
Каждый трек может дополнительно применять числовые статистики (Количество, Сумма, Минимум, Максимум, Диапазон, Среднее, Стандартное отклонение, Дисперсия, Первое и Последнее) или строковые статистики (Количество, Любые, Первое и Последнее) к объектам, которые суммируются внутри трека.
Статистика Первое и Последнее возвращает первое или последнее значение внутри трека. Например, с упорядоченным по временем треком со следующими значениями: [Toronto,Guelph,Montreal], Первое значение - Торонто, а Последнее - Монреаль. Статистика Первое и Последнее доступна, начиная с версии 10.8.1.
Количественная статистика (для строковых и числовых полей) подсчитывает количество ненулевых значений. Количество следующих значений равно 5: [0, 1, 10, 5, null, 6] = 5. Количество этого набора значений равно 3: [Primary, Primary, Secondary, null] = 3.
Пример ArcGIS API for Python
Инструмент Заново создать треки доступен в ArcGIS API for Python.
В этом примере реконструируются следы урагана.
# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
from arcgis.geoanalytics import summarize_data
# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported")
exit(1)
# Find the big data file share dataset you'll use for analysis
search_result = portal.content.search("", "Big Data File Share")
# Look through the search results for a big data file share with the matching name
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_NaturalDisasters")
# Look through the big data file share for hurricanes
hurricanes = next(x for x in bdfs_search.layers if x.properties.name == "Hurricanes")
# Set the tool environment settings
arcgis.env.verbose = True
# Reconstruct the hurricane tracks by their serial number
track_result = summarize_data.reconstruct_tracks(input_layer = hurricanes,
track_fields = "serial_num",
method = 'Geodesic',
output_name = "hurricane_tracks")
# Visualize the tool results if you are running Python in a Jupyter Notebook
processed_map = portal.map('World')
processed_map.add_layer(track_result)
processed_map
Похожие инструменты
Используйте инструмент Заново создать треки для суммирования объектов внутри трека. Другие инструменты могут применяться для решения похожих, но немного отличающихся задач.
Инструменты анализа Map Viewer
Если вы будете суммировать точки, линии или полигоны, используя различные пространственные отношения, используйте инструмент Присоединить объекты из GeoAnalytics Tools.
Инструменты анализа ArcGIS Desktop
Инструмент Заново создать треки GeoAnalytics Tools также доступен в ArcGIS Pro.
Для запуска инструмента из ArcGIS Pro ваш активный портал проекта должен быть запущен с версией ArcGIS Enterprise 10.5 или более поздней. В версии 10.5 вход на портал необходимо выполнить под учетной записью, имеющей права доступа для выполнения пространственного анализа на данном портале.