Вычислить плотность (GeoAnalytics Desktop)

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

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

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

Иллюстрация

Иллюстрация инструмента Вычислить плотность

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

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

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

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

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

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

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

  • Более высокие значения размера окрестности приводят к построению более генерализованной плотности. Более низкие значения производят выходные данные, показывающие большее количество деталей.

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

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

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

  • Если масштабный коэффициент единиц измерения площади мал относительно расстояний между точками, то выходные значения могут также быть очень маленькими. Чтобы получить более высокие значения, выберите коэффициент масштаба для единиц площади для более крупных единиц измерения (например, Квадратные километры, а не Квадратные метры).

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

  • Значения плотности всегда будут значениями с плавающей точкой.

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

  • Когда входные объекты анализируются с применением временных шагов, каждый шаг анализируется независимо от наличия объектов вне этого шага.

  • Для параметра Базовый временной шаг может быть указана дата и время или только дата; только значение времени не может быть указано.

  • В выходные объекты будут добавлены следующие поля:

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

    density

    Плотность заданного полигона. Возвращается в виде заданного коэффициента масштабирования.

    density_<fieldname>

    Плотность, взвешенная по заданному полю. Возвращается только при задании одного или нескольких полей.

    start_date

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

    end_date

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

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

    • Установите параметр среды Экстент так, чтобы вы анализировали только интересующие вас данные.
    • Более крупные бины повышают производительность, по сравнению с более мелкими. Если вы не уверены относительно начального размера, выберите более крупный бин.
    • Так же, как с бинами, более крупные временные интервалы повышают производительность, по сравнению с более мелкими.
    • Уменьшите отношение размера окрестности к размеру бина. Размер окрестности в три раза больше размера бина имеет большую производительность, чем окрестность, превышающая размер бина в 10 раз.
    • Используйте локальные данные там, где запускается анализ.

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

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

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

Параметры

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

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

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

Новый класс пространственных объектов с вычисленными плотностями.

Feature Class
Тип бина

Задает форму бина, используемого в анализе.

  • КвадратБин может быть квадратным. Это значение по умолчанию
  • ШестиугольникБин может быть шестиугольным.
String
Размер бина

Размер бинов, используемых для аггрегирования входных объектов. При генерации квадратных бинов, заданное число и единицы измерения определяют размеры квадрата. Для шестиугольных бинов, число и единицы измерения определяют расстояние между параллельными сторонами.

Linear Unit
Вес

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

  • УниверсальныйБудет применено вычисление магнитуды для каждой области, в которой каждый бин имеет равный вес. Это значение по умолчанию
  • ЯдроБудет применено вычисление магнитуды для каждой области с примененным алгоритмом сглаживания (с помощью ядер), который присваивает ближайшим к точкам бинам больший вес.
String
Размер окрестности

Радиус поиска, который будет применен к вычислению плотности.

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

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

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

Field
Масштабный коэффициент единиц измерения площади
(Дополнительный)

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

  • Международные акрыЕдиницами измерения площади будут международные акры.
  • ГектарыЕдиницами измерения площади будут гектары.
  • Квадратные сухопутные милиЕдиницами измерения площади будут квадратные сухопутные мили.
  • Квадратные километрыЕдиницами измерения площади будут квадратные километры.
  • Квадратные метрыЕдиницами измерения площади будут квадратные метры.
  • Квадратные международные футыЕдиницами измерения площади будут квадратные международные футы.
  • Международные квадратные ярдыЕдиницами измерения площади будут квадратные международные ярды.
  • Квадратные геодезические мили СШАЕдиницами измерения площади будут квадратные мили (США).
  • Квадратные геодезические футы СШАЕдиницами измерения площади будут квадратные футы (США).
  • Квадратные геодезические ярды СШАЕдиницами измерения площади будут квадратные ярды (США).
  • Геодезические акры СШАЕдиницами измерения площади будут акры (США).
String
Интервал временного шага
(Дополнительный)

Значение длительности временного шага. Этот параметр доступен только если у входных точек активировано время и представлено определённое время.

Временные шаги могут применяться, только если во входных данных используется время.

Time Unit
Повтор временного шага
(Дополнительный)

Значение, задающее частоту интервалов временного шага. Этот параметр доступен только если у входных точек активировано время и представлено определённое время.

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

Дата, задающая базовое время, по которому выравниваются временные шаги. По умолчанию это 1 января 1970, 00:00 часов. Этот параметр доступен только если у входных точек активировано время и представлено определенное время.

Date

arcpy.geoanalytics.CalculateDensity(input_layer, out_feature_class, bin_type, bin_size, weight, neighborhood_size, {fields}, {area_unit_scale_factor}, {time_step_interval}, {time_step_repeat}, {time_step_reference})
ИмяОписаниеТип данных
input_layer

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

Feature Layer
out_feature_class

Новый класс пространственных объектов с вычисленными плотностями.

Feature Class
bin_type

Задает форму бина, используемого в анализе.

  • SQUAREБин может быть квадратным. Это значение по умолчанию
  • HEXAGONБин может быть шестиугольным.
String
bin_size

Размер бинов, используемых для аггрегирования входных объектов. При генерации квадратных бинов, заданное число и единицы измерения определяют размеры квадрата. Для шестиугольных бинов, число и единицы измерения определяют расстояние между параллельными сторонами.

Linear Unit
weight

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

  • UNIFORMБудет применено вычисление магнитуды для каждой области, в которой каждый бин имеет равный вес. Это значение по умолчанию
  • KERNELБудет применено вычисление вычисление магнитуды для каждой области с примененным алгоритмом сглаживания (с помощью ядер), который присваивает ближайшим к точкам бинам больший вес.
String
neighborhood_size

Радиус поиска, который будет применен к вычислению плотности.

Linear Unit
fields
[fields,...]
(Дополнительный)

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

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

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

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

  • ACRESЕдиницами измерения площади будут международные акры.
  • HECTARESЕдиницами измерения площади будут гектары.
  • SQUARE_MILESЕдиницами измерения площади будут квадратные сухопутные мили.
  • SQUARE_KILOMETERSЕдиницами измерения площади будут квадратные километры.
  • SQUARE_METERSЕдиницами измерения площади будут квадратные метры.
  • SQUARE_FEETЕдиницами измерения площади будут квадратные футы.
  • SQUARE_YARDSЕдиницами измерения площади будут квадратные ярды.
  • SQUARE_MILES_USЕдиницами измерения площади будут квадратные мили (США).
  • SQUARE_FEET_USЕдиницами измерения площади будут квадратные футы (США).
  • SQUARE_YARDS_USЕдиницами измерения площади будут квадратные ярды (США).
  • ACRES_USЕдиницами измерения площади будут акры (США).
String
time_step_interval
(Дополнительный)

Значение длительности временного шага. Этот параметр доступен только если у входных точек активировано время и представлено определённое время.

Временные шаги могут применяться, только если во входных данных используется время.

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

Значение, задающее частоту интервалов временного шага. Этот параметр доступен только если у входных точек активировано время и представлено определённое время.

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

Дата, задающая базовое время, по которому выравниваются временные шаги. По умолчанию это 1 января 1970, 00:00 часов. Этот параметр доступен только если у входных точек активировано время и представлено определенное время.

Date

Пример кода

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

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

# Name: CalculateDensity.py
# Description: Calculate density using the count of points as well as the severity 
#              value of outbreaks by week.

# Import system modules
import arcpy

arcpy.env.workspace = "C:/data/HealthInfo.gdb"

# 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\outbreaks.lyrx'

# MakeFeatureLayer converts the .lyrx to features
outbreaksLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "outbreaks_layer")

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

# By default, the count of points will be used in addition to any other fields 
# that are specified
fields = "Severity"

# Set the size of bins and neighborhood and the time step size
binSize = "1 Kilometers"
neighborhoodSize = "2 Kilometers"
timeStepInterval = "1 Weeks"

# Specify output info
out = "OutbreakDensity"


# Run Calculate Density
arcpy.gapro.CalculateDensity(outbreaksLayer, out, 'HEXAGON', binSize, 
                             'UNIFORM', neighborhoodSize, fields, 
                             'SQUARE_KILOMETERS', timeStepInterval)