Skip To Content

Вычислить плотность

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

Схема рабочего процесса

Диаграмма рабочего процесса инструмента Вычислить плотность

Анализ с помощью GeoAnalytics Tools

Анализ, выполняемый с помощью GeoAnalytics Tools работает с использованием распределенной обработки по нескольким компьютерам ArcGIS GeoAnalytics Server и ядрам. GeoAnalytics Tools и стандартные инструменты анализа ArcGIS Enterprise имеют различные параметры и возможности. Более подробно об этих различиях см. в разделе Различия между инструментами анализа объектов.

Примеры

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

Примечания по использованию

Инструменту Вычислить плотность необходимы отдельные входные точечные объекты.

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

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

Для анализа можно использовать как полигональный слой, так и создать бины определённого размера и формы (шестиугольник или квадрат), в пределах которых будет происходить агрегирование. Если агрегация выполняется по гексагональной сетке, размером бина d является высота каждого шестиугольника, а ширина полученного шестиугольника будет равна 2 высотам, делённым на квадратный корень из 3. Если агрегирование выполняется в квадраты, размером бина d будет высота квадрата, которая равна ширине.

Шестиугольные и квадратные бины

Вы должны указать размер соседства, которое больше, чем размер бина. Размер соседства используется для того, чтобы найти входные объекты в пределах того же соседства, что и объект (бин) интереса.

Есть две опции для вычисления плотности: Опция Универсально суммирует все значения в пределах соседства и делит их на площадь. Опция Ядро взвешивает значения в соседстве по расстоянию от объекта интереса и применяет функцию кернела, чтобы подогнать к сглаживанию поверхности для каждой точки.

Вычислить плотность позволяет выполнять анализ, используя временные шаги. Каждый временной шаг анализируется независимо от объектов вне этого шага. Чтобы использовать временной шаг, входные данные должны содержать информацию о времени и представлять момент времени. Когда применяются временные шаги, выходными объектами выступают интервалы времени, представленные полями START_DATETIME и END_DATETIME.

Более подробно о пошаговом временном анализе

Возвращены будут лишь области в пределах соседства бина, содержащие точки.

Для инструмента Вычислить плотность необходимо, чтобы полигональный слой был в системе координат проекции. Если данные не спроецированы и вы не установили систему координат проекции, анализ будет выполняться в равноплощадной цилиндрической проекции (wkid 54034).

Если опция Использовать текущий экстент карты включена, будут анализироваться только те объекты, которые отображаются в текущем экстенте. Если опция отключена, анализ будет выполнен для всех входных объектов входного слоя, даже если они находятся вне текущего экстента карты.

Ограничения

Плотности могут быть вычислены только для точечных объектов.

Пример ArcGIS API for Python

Инструмент Вычислить плотность доступен в ArcGIS API for Python.

В этом примере рассчитывается плотность преступлений; для расчетов используются 1-километровые бины, 2-километровое расстояние окрестности и 1-дневный интервал шага времени.


# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
from arcgis.geoanalytics import analyze_patterns

# 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 feature layer to use for analysis and only use the features where a burglary occurred
crimes_search_result = portal.content.search("Crimes", "Feature Layer")
crimes_layer = crimes_search_result[0].layers[0]
crimes_layer.filter = "Burglary = 'TRUE'"

# Set the tool environment settings
arcgis.env.process_spatial_reference = 32618
arcgis.env.verbose = True

# Calculate daily crime density using 1-kilometer hexagon bins with a 2-kilometer radius
calculate_density_result = analyze_patterns.calculate_density(input_layer = crimes_layer, 
                                                              weight = 'Uniform', 
                                                              bin_type = 'Hexagon',  
                                                              bin_size = 1, 
                                                              bin_size_unit = "Kilometers", 
                                                              time_step_interval = 1, 
                                                              time_step_interval_unit = "Days", 
                                                              radius = 2, 
                                                              radius_unit = "Kilometers", 
                                                              output_name = "crime_density")

# Visualize the tool results if you are running Python in a Jupyter Notebook
processed_map = portal.map('NYC, NY', 10)
processed_map.add_layer(calculate_density_result)
processed_map

Похожие инструменты

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

Инструменты анализа Map Viewer

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

Если вы хотите агрегировать данные без применения соседства или взвешенной функции, воспользуйтесь инструментом Агрегировать точки.

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

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

Инструменты анализа ArcGIS Desktop

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