Вычислить статистику движения—Portal for ArcGIS
Эта функция в настоящее время поддерживается только в Map Viewer Classic (прежнее название Map Viewer). Она будет доступна в следующей версии нового Map Viewer.
Инструмент Вычислить статистику движения рассчитывает статистику движения и измеряет признаки для точечных объектов с поддержкой времени, представляющих один или несколько движущихся объектов. Точечные данные с поддержкой времени должны включать объекты, представляющие момент времени.
Схема рабочего процесса
Анализ с помощью GeoAnalytics Tools
Анализ, выполняемый с помощью GeoAnalytics Tools работает с использованием распределенной обработки по нескольким компьютерам ArcGIS GeoAnalytics Server и ядрам. GeoAnalytics Tools и стандартные инструменты анализа ArcGIS Enterprise имеют различные параметры и возможности. Более подробно об этих различиях см. в разделе Различия между инструментами анализа объектов.
Терминология
Термин | Описание |
---|---|
Геодезический | Линия, нарисованная на сфере. |
Плоскостной | Расстояние по прямой линии, как измеренное на плоской поверхности (то есть на декартовой плоскости). Это также называется Евклидовым расстоянием. |
Текущий | Отдельный момент времени, заданный начальным временем и не имеющий конечного времени. |
Сегмент | Сегмент трека — это путь между двумя последовательными наблюдениями в треке. |
Отслеживание | Последовательность пространственных объектов, у которых включено время с мгновенным типом времени. |
Пример
Городские службы осуществляют мониторинг снегоуборочной техники и хотят более точно отслеживать передвижение транспортных средств. Они могут использовать инструмент Вычислить статистику движения для определения мест простоя и времени, затраченного на холостой ход, средних и максимальных скоростей за заданное время, общего пройденного расстояния и другой статистики.
Примечания по использованию
Инструмент Вычислить статистику движения принимает в качестве входных данных точечный слой с поддержкой времени и обогащает точки статистикой движения и измерениями. Расчеты основаны на времени входных объектов и значениях геометрии.
Результатом работы инструмента Вычислить статистику движения является копия входных точек с новым полем для каждой вычисленной статистики.
Вы можете указать одно или более полей для идентификации треков. Треки представлены с помощью уникальной комбинации одного или нескольких полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, следующие объекты ID007, Solden и ID007, Tokoyo попадут в два отдельных трека, поскольку они имеют отличающиеся значения в поле Destination.
Статистика, начинающаяся с Min-, Max-, Avg- или Tot- рассчитывается с использованием текущего наблюдения и ряда предыдущих наблюдений, определяемых параметром Выбрать число точек, которые будут использоваться в вычислениях. Другие показатели статистики всегда рассчитывается с использованием только текущего и предыдущего наблюдения и не учитывают количество указанных точек. Вы можете рассматривать этот параметр как количество наблюдений от текущего времени назад. Например, если вы выберете 5 в качестве числа точек и запросите группу статистики Скорость, то текущие и предыдущие четыре наблюдения будут использоваться для вычисления значений MinSpeed, MaxSpeed и AvgSpeed в каждом наблюдении, в то время как значения Speed будут вычисляться только с использованием текущего и предыдущего наблюдения в каждой точке. Количество точек должно быть больше одного, по умолчанию — три.
Если в истории трека меньше наблюдений, чем количество точек, статистика, начинающаяся с Min-, Max-, Avg- или Tot- вычисляется с использованием всех наблюдений в истории трека.
По умолчанию все поддерживаемые показатели статистики вычисляются для каждой входной точки, если это возможно. Вы можете включить или исключить статистические группы с помощью флажка Выбрать один или несколько типов статистики движения.
В приведенных ниже таблицах описываются статистические показатели, рассчитанные для каждой группы. Термин окно истории треков относится ко всем наблюдениям, определенным параметром Выбрать число точек, которые будут использоваться в вычислениях.
- Расстояние
Статистика Описание Расстояние
Расстояние, пройденное от предыдущего наблюдения к текущему.
Общее расстояние
Сумма расстояний, пройденных между наблюдениями в окне истории треков.
Минимальное расстояние
Минимальное расстояние, пройденное между наблюдениями в окне истории треков.
Максимальное расстояние
Максимальное расстояние, пройденное между наблюдениями в окне истории треков.
Среднее расстояние
Среднее значение расстояния, пройденного между наблюдениями в окне истории треков.
- Скорость
Статистика Описание Скорость
Скорость перемещения от предыдущего наблюдения к текущему.
Минимальная скорость
Минимальная скорость между наблюдениями в окне истории треков.
Максимальная скорость
Максимальная скорость между наблюдениями в окне истории треков.
Средняя скорость
Сумма расстояний между наблюдениями в окне истории треков, деленная на сумму продолжительностей между наблюдениями в окне истории треков.
- Acceleration
Статистика Описание Acceleration
Разница между текущей скоростью и предыдущей скоростью делится на текущую продолжительность.
Минимальное ускорение
Минимальное ускорение, рассчитанное в окне истории треков.
Максимальное ускорение
Максимальное ускорение, рассчитанное в окне истории треков.
Среднее ускорение
Разница между текущей и первой скоростями в окне истории треков делится на сумму продолжительностей между наблюдениями в окне истории треков.
- Продолжительность
Статистика Описание Продолжительность
Время, прошедшее с момента предыдущего наблюдения.
Общая продолжительность
Сумма продолжительностей в окне истории треков.
Минимальная продолжительность
Минимальная продолжительность в окне истории треков.
Максимальная продолжительность
Максимальная продолжительность в окне истории треков.
Средняя продолжительность
Сумма продолжительностей в окне истории треков, деленная на количество точек.
- Высота
Статистика Описание Высота
Текущая высота наблюдения.
Изменение высоты
Разница между текущей и предыдущей высотой.
Общее изменение высоты
Сумма изменений высоты между точками в окне истории треков. Значение может быть отрицательным.
Минимальная высота
Минимальная высота в окне истории треков.
Максимальная высота
Максимальная высота в окне истории треков.
Средняя высота
Сумма высот в окне истории треков, деленная на количество точек.
- Уклон
Статистика Описание Уклон
Отношение изменения высоты к расстоянию между текущим и предыдущим наблюдениями.
Мин. уклон
Минимальный уклон в окне истории треков.
Максимальный уклон
Максимальный уклон в окне истории треков.
Средний уклон
Сумма уклонов в окне истории треков, деленная на количество точек.
- Простой
Статистика Описание Idling
True, если расстояние между текущим наблюдением и предыдущим меньше значения Допуска расстояния простоя, а длительность между текущим наблюдением и предыдущим равна по меньшей мере значению Допуска времени простоя.
False, если одно или оба из этих условий не выполняются.
Общее время простоя
Сумма длительностей в окне истории треков, удовлетворяющих критериям простоя.
Процент времени простоя
Процентное время обнаруженного простоя.
- Направление
Статистика Описание Направление
Угол перемещения от предыдущего наблюдения к текущему.
Статистика не вычисляется для первого объекта в каждом треке. Статистика в группе Ускорение не вычисляется для первых двух объектов в каждом треке.
Результирующие значения выражены в единицах измерения, заданных параметрами Единица измерения расстояния, Единица измерения продолжительности, Единица измерения скорости, Единица измерения ускорения и Единица измерения высоты. По умолчанию используются метры, секунды, метры в секунду (м/с) и метры в секунду в квадрате (м/с2).
Есть два метода определения расстояния на выбор: плоскостной и геодезический. По умолчанию – Геодезический. Плоскостной метод измеряет расстояния с помощью Евклидовой плоскости и не вычисляет статистику по всей линии дат. Когда вы используете геодезический метод для вычисления расстояния, пространственная привязка может быть перемещена, вычисления пересекают линию даты, когда это необходимо.
Применение временного интервала разделяет треки на заданные интервалы. Например, если вы установили временную границу равной 1 дню, начиная с 9:00 утра 1 января 1990 года, каждый трек усекается в 9:00 утра для каждого дня. Такое разбиение позволяет ускорить обработку, т.к. небольшие треки для анализа создаются быстрее. Если разбиение на повторяющиеся интервалы может влиять на результаты анализа и рекомендуется для обработки больших данных. Используйте параметры Временной интервал и Время для выравнивания временных интервалов до, чтобы указать необязательное разбиение временных границ.
Если опция Использовать текущий экстент карты включена, будут анализироваться только те объекты, которые отображаются в текущем экстенте. Если опция отключена, анализ будет выполнен для всех входных объектов входного слоя, даже если они находятся вне текущего экстента карты.
Ограничения
Входными данными должны быть точечные слои с включенным временем, имеющие тип Текущий. Любые объекты, не имеющие временных атрибутов или геометрии, не будут включены в выходной слой.
Как работает инструмент Вычислить статистику движения
В разделе ниже описывается работа инструмента Вычислить статистику движения.
Уравнения и вычисления
В таблице ниже приведены статистические расчеты для приведенного выше примера. Все вычисления оцениваются в точке с ID p5 и используют окно истории треков 4. Расчеты включают в себя ID точек p2, p3, p4 и p5. Наблюдение считается простоем, если оно переместилось менее чем на 32 метра за 1 минуту.
Статистика | Формула | Пример |
---|---|---|
Расстояние | 35 м | |
Общее расстояние | 80 + 30 + 35 = 145 м | |
Скорость | Расстояние / Продолжительность | 35 / 60 = 0. |
Средняя скорость | Общее расстояние / Общая продолжительность | 145 / 180 м/с |
Acceleration | (0,58 – 0,5) / 60 = 0,001 м/с2 | |
Среднее ускорение | (Скорость (последняя) – Скорость (первая)) / Общая продолжительность | (0,58 – 1,33) / 60 = -0,01 м/с2 |
Продолжительность | 60 с | |
Общая продолжительность | 60 + 60 + 60 = 180 с | |
Высота | 5 м | |
Изменение высоты | 5 – 4 = 1 м | |
Общее изменение высоты | 5 – 0 = 5 м | |
Уклон | Изменение высоты / Расстояние | 1 / 35 |
Средний уклон | Общее изменение высоты / Общее расстояние | 5 / 145 |
Idling | False | |
Общее время простоя | 60 секунд | |
Процент времени простоя | 1 / 3 | |
Направление | 0 |
Пример ArcGIS API for Python
Инструмент Вычислить статистику движения доступен в ArcGIS API for Python.
Этот пример вычисляет расстояние и статистику времени ожидания для грузовиков доставки.
# Import the required ArcGIS API for Python modules import arcgis from arcgis.gis import GIS # 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) # Search for and list the big data file shares in your portal search_result = portal.content.search("", "Big Data File Share") # Look through the search results for the big data file share of interest bd_layer = next(x for x in search_result if x.title == "bigDataFileShares_TruckingGPSPoints") # Run the Calculate Motion Statistics tool result = arcgis.geoanalytics.data_enrichment.calculate_motion_statistics(input_layer = bd_layer, track_fields = "truckID", track_history_window = 4, motion_statistics="Distance,Idle", dist_method="Geodesic", idle_tol_dist="500", idle_tol_unit="Meters", idle_time_tol="30", idle_time_tol_unit="Minutes", time_boundary_split="1", split_unit="Days", time_bound_ref="655213515000", distance_unit="Feet", duration_unit="Seconds", output_name = "CMS_results") # Visualize the results if you are running Python in a Jupyter Notebook processed_map = portal.map() processed_map.add_layer(result) processed_map
Похожие инструменты
Используйте инструмент Вычислить статистику движения для вычисления таких признаков, как скорость, ускорение, дирекционный угол и многих других для точечных объектов с поддержкой времени, представляющих движущиеся объекты. Другие инструменты могут применяться для решения похожих, но немного отличающихся задач.
Инструменты анализа Map Viewer Classic
Если вы пытаетесь присоединить атрибуты из сетки нескольких переменных к точечному слою, используйте инструмент Обогатить из сетки нескольких переменных.
Инструменты анализа ArcGIS Pro
Инструмент Вычислить статистику движения также доступен в ArcGIS Pro.
Для запуска инструмента из ArcGIS Pro ваш активный портал проекта должен быть запущен с версией ArcGIS Enterprise 10.9 или более поздней. В версии 10.9 вход на портал необходимо выполнить под учетной записью, имеющей права доступа для выполнения пространственного анализа на данном портале.
Инструмент Вычислить статистику движения выполняет функцию, аналогичную инструменту Классификация событий движения в ArcGIS Pro.
Отзыв по этому разделу?
Специфичность — CSS | MDN
Специфичность — это способ, с помощью которого браузеры определяют, какие значения свойств CSS наиболее соответствуют элементу и, следовательно, будут применены. Специфичность основана на правилах соответствия, состоящих из селекторов CSS различных типов.
Специфичность представляет собой вес, придаваемый конкретному правилу CSS. Вес правила определяется количеством каждого из типов селекторов в данном правиле. Если у нескольких правил специфичность одинакова, то к элементу применяется последнее по порядку правило CSS. Специфичность имеет значение только в том случае, если один элемент соответствует нескольким правилам. Согласно спецификации CSS, правило для непосредственно соответствующего элемента всегда будет иметь больший приоритет, чем правила, унаследованные от предка.
Примечание: Примечание: Взаимное расположение элементов в дереве документа не влияет на специфичность.
Типы селекторов
В следующем списке типы селекторов расположены по возрастанию специфичности:
- селекторы типов элементов (например,
h2
) и псевдоэлементов (например,::before
). - селекторы классов (например,
.example
), селекторы атрибутов (например,[type="radio"]
) и псевдоклассов (например,:hover
). - селекторы идентификаторов (например,
#example
).
Универсальный селектор (*
), комбинаторы (
, >
, ~
, ‘«’) и отрицающий псевдокласс (:not()
) не влияют на специфичность. (Однако селекторы, объявленные внутри :not()
, влияют)
Стили, объявленные в элементе (например, style="font-weight:bold"
), всегда переопределяют любые правила из внешних файлов стилей и, таким образом, их специфичность можно считать наивысшей.
Важное исключение из правил —
!important
Когда при объявлении стиля используется модификатор !important
, это объявление получает наивысший приоритет среди всех прочих объявлений. Хотя технически модификатор !important
не имеет со специфичностью ничего общего, он непосредственно на неё влияет. Поскольку !important
усложняет отладку, нарушая естественное каскадирование ваших стилей, он не приветствуется и следует избегать его использования. Если к элементу применимы два взаимоисключающих стиля с модификатором
!important
, то применён будет стиль с большей специфичностью.
Несколько практических советов:
- Всегда пытайтесь использовать специфичность, а
!important
используйте только в крайних случаях - Используйте
!important
только в страничных стилях, которые переопределяют стили сайта или внешние стили (стили библиотек, таких как Bootstrap или normalize.css)
- Никогда не используйте
!important
, если вы пишете плагин или мэшап. - Никогда не используйте
!important
в общем CSS сайта.
Вместо !important
можно:
- Лучше использовать каскадные свойства CSS
- Использовать более специфичные правила. Чтобы сделать правило более специфичным и повысить его приоритет, укажите один элемент или несколько перед нужным вам элементом:
<div> <span>Text</span> </div>
div#test span { color: green } div span { color: blue } span { color: red }
Вне зависимости от порядка следования правил, текст всегда будет зелёным, поскольку у этого правила наибольшая специфичность (при этом, правило для голубого цвета имеет преимущество перед правилом для красного, несмотря на порядок следования).
Вам придётся использовать !important
если:
А) Первый сценарий:
- У вас есть общий файл стилей, устанавливающий правила для внешнего вида сайта.
- Вы пользуетесь (или кто-то другой пользуется) весьма сомнительным средством — объявлением стилей непосредственно в элементах
В таком случае вам придётся объявить некоторые стили в вашем общем файле CSS как !important
, переопределяя, таким образом, стили, установленные в самих элементах.
Пример из практики: Некоторые плохо написанные плагины jQuery, использующие присваивание стилей самим элементам.
Б) Ещё сценарий:
#someElement p { color: blue; } p.awesome { color: red; }
Как сделать цвет текста в абзацах awesome
красным всегда, даже если они расположены внутри #someElement
? Без !important
у первого правила специфичность больше и оно имеет преимущество перед вторым.
Как преодолеть !important
A) Просто добавьте ещё одно правило с модификатором !important
, у которого селектор имеет большую специфичность (благодаря добавлению типа элемента (тэга), идентификатора (атрибута id) или класса к селектору).
Пример большей специфичности:
table td {height: 50px !important;} .myTable td {height: 50px !important;} #myTable td {height: 50px !important;}
Б) Или добавьте правило с модификатором !important
и таким же селектором, но расположенное в файле после существующего (при прочих равных выигрывает последнее объявленное правило):
td {height: 50px !important;}
В) Или перепишите первоначальное правило без использования !important
.
С более подробной информацией можно ознакомиться по следующим ссылкам:
Когда надо использовать !important
в CSS?
Что означает !important
в CSS?
Когда в CSS надо использовать модификатор !important
Как преодолеть !important
Как использовать модификатор !important
в CSS чтобы сэкономить время
Не исключение —
:not()
Отрицающий псевдокласс :not
не учитывается как псевдокласс при расчёте специфичности. Однако селекторы, расположенные внутри
:not
, при подсчёте количества по типам селекторов рассматриваются как обычные селекторы и учитываются.
Следующий фрагмент CSS …
div.outer p { color: orange; } div:not(.outer) p { color: lime; }
… применённый к такому HTML …
<div> <p>Это div.outer</p> <div> <p>Это текст в div.inner</p> </div> </div>
… отобразится на экране так:
Это div.outer
Это текст в div.inner
Специфичность основана на форме
Специфичность опирается на форму селектора. В следующем примере, при определении специфичности селектора, селектор *[id="foo"]
считается селектором атрибута, даже при том, что ищет идентификатор.
Эти объявления стилей …
*#foo { color: green; } *[id="foo"] { color: purple; }
… применённые к нижеследующей разметке …
<p>Это пример.</p>
… в результате выглядят так:
Это пример.
Потому что оба правила соответствуют одному и тому же элементу, но селектор идентификатора имеет большую специфичность.
Независимость от расположения
Взаимное расположение элементов, указанных в селекторе не влияет на специфичность правила. Следующие объявления стилей …
body h2 { color: green; } html h2 { color: purple; }
… в сочетании со следующим HTML …
<html> <body> <h2>Вот заголовок!</h2> </body> </html>
… отобразится как:
Вот заголовок!
Потому что, хотя оба объявления имеют одинаковое количество типов селекторов, но селектор
html h2
объявлен последним.
Непосредственно соответствующие элементы и унаследованные стили
Стили непосредственно соответствующих элементов всегда предпочитаются унаследованным стилям, независимо от специфичности унаследованного правила. Этот CSS …
#parent { color: green; } h2 { color: purple; }
. .. с таким HTML …
<html> <body> <h2>Вот заголовок!</h2> </body> </html>
… тоже отобразится как:
Вот заголовок!
Потому что селектор h2
непосредственно соответствует элементу, а стиль, задающий зелёный цвет, всего лишь унаследован от родителя.
- Калькулятор специфичности: Интерактивный сайт, помогающий вам проверить и понять ваши собственные правила CSS — https://specificity.keegan.st/
- Специфичность селекторов в CSS3 — http://www.w3.org/TR/selectors/#specificity
- Ключевые концепции CSS
- Синтаксис CSS
- @-правила
- комментарии
- специфичность
- наследование
- блочная модель
- режимы компоновки
- модели визуального форматирования
- Схлопывание отступов
- Значения
- начальные
- вычисленные
- используемые
- действительные
- Синтаксис определения значений (en-US)
- Сокращённые свойства
- Замещаемые элементы
Last modified: