Плотность точек (Spatial Analyst)
Краткая информация
Вычисляет количество точек на единицу площади, которые попадают в область соседства каждой ячейки.
Более подробно о работе инструмента Плотность точек (Point Density)
Рисунок
Использование
-
Более высокие значения для параметра радиуса приводят к построению более генерализованного растра плотности. Более низкие значения приводят к построению растра, на котором показано большее количество деталей.
-
При вычислении плотности учитываются только те точки, которые попадают в заданную область соседства. Если в область соседства конкретной ячейки не попадает никаких точек, такой ячейке будет присвоено значение NoData.
-
Если коэффициент преобразования для единиц измерения площади мал относительно расстояний между точками, выходные значения могут быть очень маленькими. Чтобы получить более высокие значения, выберите коэффициент масштаба для единиц площади для более крупных единиц измерения (например, квадратные километры, а не квадратные метры).
-
Значения на выходном растре всегда будут представлены значениями с плавающей точкой.
Синтаксис
Параметр | Объяснение | Тип данных |
in_point_features |
Входные точечные объекты, для которых вычисляется плотность. | Feature Layer |
population_field |
Числовое поле, определяющие значения величины (population) для каждой точки. Поле величины содержит значения количества или подсчета, которые должны быть использованы для вычисления непрерывной поверхности. Значения в поле численности могут быть целочисленными или с плавающей точкой. Опции и поведение по умолчанию для поля перечислены ниже.
| Field |
cell_size (дополнительно) | Размер ячейки для выходного набора растровых данных. Значение, устанавливаемое в параметрах среды. Если параметры среды не установлены, размер ячейки определяется, как более короткий размер экстента выходных объектов (ширины или высоты) в выходной пространственной привязке, деленный на 250. | Analysis Cell Size |
neighborhood (дополнительно) |
Определяет форму области вокруг каждой ячейки, которая используется при вычислении значения плотности. Это класс Окрестности (Neighborhood). Существует четыре типа окрестностей: NbrAnnulus, NbrCircle, NbrRectangle и NbrWedge. Формы и описания классов:
По умолчанию установлена NbrCircle, радиусом которой является наименьший из размеров ширины или высоты выходного экстента набора объектов, на выходной пространственной привязке, деленный на 30. | Neighborhood |
area_unit_scale_factor (дополнительно) |
Желаемые единицы измерения площади выходных значений плотности. По умолчанию единицы измерения выбираются, основываясь на линейных единицах проекции пространственной привязки выходных данных. Можно изменить их на соответствующие единицы измерения, если вы хотите преобразовать выходные данные плотности. Значения для плотности линий преобразуют единицы измерения и длин, и площадей. Например, входные единицы измерения метры, по умолчанию единицы измерения плотности выходной области будут квадратные километры для точечных объектов или километр на квадратный километр для полилинейных объектов. Единицы плотности по умолчанию, на основе единиц измерения входных объектов:
| String |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр плотности точек. Это всегда растр с плавающей точкой. | Raster |
Пример кода
В этом примере вычисляется растр плотности из точечного шейп-файла.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
pdensOut = PointDensity("rec_sites.shp", "NONE", 60, NbrCircle(2500, "MAP"))
pdensOut.save("C:/sapyexamples/output/pointdensity")
В этом примере вычисляется растр плотности из точечного шейп-файла.
# Name: PointDensity_Ex_02.py
# Description: Calculates a magnitude per unit area from point
# features that fall within a neighborhood around each cell.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inFeatures = "rec_sites.shp"
populationField = "NONE"
cellSize = 60
# Create the Neighborhood Object
radius = 2500
myNbrCirc = NbrCircle(radius, "MAP")
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute PointDensity
outPdens = PointDensity(inFeatures, populationField, cellSize,
myNbrCirc, "SQUARE_KILOMETERS")
# Save the output
outPdens.save("C:/sapyexamples/output/outpdens")