Плотность линий (Line Density) (Spatial Analyst)
Резюме
Вычисляет величину (плотность) на единицу площади полилинейных объектов, которые попадают в пределы заданного радиуса вокруг каждой ячейки.
Более подробно о том, как работает инструмент Плотность линий (Line Density)
Использование
-
При вычислении плотности учитывается только та часть линии, которая попадает в заданную область соседства. Если в область соседства конкретной ячейки не попадает никаких отрезков линий, такой ячейке будет присвоено значение NoData.
-
Более высокие значения для параметра радиуса приводят к построению более генерализованного растра плотности. Более низкие значения приводят к построению растра, на котором показано большее количество деталей.
-
Если коэффициент преобразования для единиц измерения площади мал относительно объектов (длины сегментов линии), выходные значения могут быть очень маленькими. Чтобы получить более высокие значения, выберите коэффициент масштаба для единиц площади для более крупных единиц измерения (например, квадратные километры, а не квадратные метры).
-
Значения на выходном растре всегда будут представлены значениями с плавающей точкой.
Синтаксис
Параметр | Объяснение | Тип данных |
in_polyline_features |
Входные линейные объекты, для которых вычисляется плотность. | Feature Layer |
population_field |
Числовое поле, определяющие значения величины (population) (количество раз подсчета линии) для каждой полилинии. Значения в поле численности могут быть целочисленными или с плавающей точкой. Опции и поведение по умолчанию для поля перечислены ниже.
| Field |
cell_size (дополнительно) | Размер ячейки для выходного набора растровых данных. Значение, устанавливаемое в параметрах среды. Если параметры среды не установлены, размер ячейки определяется, как более короткий размер экстента выходных объектов (ширины или высоты) в выходной пространственной привязке, деленный на 250. | Analysis Cell Size |
search_radius (дополнительно) |
Радиус поиска, в пределах которого будет вычислена плотность. Единицы измерения выбираются, основываясь на линейных единицах проекции пространственной привязки выходных данных. Например, если единицы в метрах, чтобы включить все пространственные объекты в окрестность в 1 милю, установите радиус поиска на 1609,344 (1 миля = 1609,344 метра). По умолчанию, используется значение меньшего из размеров ширины или высоты экстента выходных объектов на выходной пространственной привязке, деленное на 30. | Double |
area_unit_scale_factor (дополнительно) |
Желаемые единицы измерения площади выходных значений плотности. По умолчанию единицы измерения выбираются, основываясь на линейных единицах проекции пространственной привязки выходных данных. Можно изменить их на соответствующие единицы измерения, если вы хотите преобразовать выходные данные плотности. Значения для плотности линий преобразуют единицы измерения и длин, и площадей. Например, входные единицы измерения метры, по умолчанию единицы измерения плотности выходной области будут квадратные километры для точечных объектов или километр на квадратный километр для полилинейных объектов. Единицы плотности по умолчанию, на основе единиц измерения входных объектов:
| String |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр плотности линий. Это всегда растр с плавающей точкой. | Raster |
Пример кода
В этом примере вычисляется растр плотности на поле длины полилинейного шейп-файла.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outLDens = LineDensity("roads.shp", "LENGTH", 45, 1000, "SQUARE_MILES")
outLDens.save("C:/sapyexamples/output/ldensout")
В этом примере вычисляется растр плотности на поле длины полилинейного шейп-файла.
# Name: LineDensity_Ex_02.py
# Description: Calculates a magnitude per unit area from polyline features
# that fall within a radius 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
inPolylineFeatures = "roads.shp"
populationField = "length"
cellSize = 120
searchRadius = 1500
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute LineDensity
outLineDensity = LineDensity(inPolylineFeatures, populationField, cellSize,
searchRadius, "SQUARE_MILES")
# Save the output
outLineDensity.save("C:/sapyexamples/output/linedensity")