Skip To Content

Плотность линий

Доступно с лицензией Spatial Analyst.

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

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

Более подробно о том, как работает инструмент Плотность линий

Иллюстрация

Иллюстрация инструмента Плотность линий
OutRas = LineDensity(InRds, None, 30)

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

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

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

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

  • Выходной размер ячейки можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки невозможно указать непосредственно как значение параметра, он будет получен из параметра среды Размер ячейки, если он был там задан. Если же и в параметр среды значение размера ячейки не указано, но настроен параметр Растр привязки, то будет использоваться значение величины его ячейки. Если же ни один из параметров не задан, то размер ячейки будет вычислен как наименьшее значение длины либо ширины экстента растра, поделенное на 250, при этом экстент берется из параметра среды Выходная система координат.

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

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

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

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Синтаксис

LineDensity (in_polyline_features, population_field, {cell_size}, {search_radius}, {area_unit_scale_factor})
ПараметрОбъяснениеТип данных
in_polyline_features

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

Feature Layer
population_field

Числовое поле, определяющие значения величины (population) (количество раз подсчета линии) для каждой полилинии.

Значения в поле численности могут быть целочисленными или с плавающей точкой.

Опции и поведение по умолчанию для поля перечислены ниже.

  • Используйте значение None (Нет), если не будет использовано какого-либо показателя или специального значения, и каждый объект будет подсчитан один раз.

  • Вы можете использовать поле Shape, если входные объекты содержат Z.

  • В противном случае, полем по умолчанию будет POPULATION. Также могут применяться следующие условия.

    • Если нет поля с именем POPULATION, но есть поле с именем POPULATIONxxxx, оно будет использовано по умолчанию. xxxx может быть любым действительным символом, таким как ,POPULATION6, POPULATION1974 или POPULATIONROADTYPE.
    • Если нет поля с именем POPULATION или POPULATIONxxxx , но есть поле POP, оно будет использовано по умолчанию.
    • Если нет поля с именем POPULATION, POPULATIONxxxx или POP, но есть поле POPxxxx, оно будет использовано по умолчанию.
    • Если нет полей POPULATION, POPULATIONxxxx, POP или POPxxxx, по умолчанию будет использовано NONE.
Field
cell_size
(Дополнительный)

Размер ячейки выходного растра, который будет создан.

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

Analysis Cell Size
search_radius
(Дополнительный)

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

Например, если единицы в метрах, то для того, чтобы включить все пространственные объекты в пределах окрестности радиусом 1 миля, установите радиус поиска равным 1609,344 (1 миля = 1609,344 метра).

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

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

Желаемые единицы измерения площади выходных значений плотности.

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

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

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

Доступными опциями и соответствующими им выходными единицами измерения плотности являются следующие:

  • SQUARE_MAP_UNITSКвадрат линейных единиц выходной пространственной привязки.
  • SQUARE_MILESМили (США)
  • SQUARE_KILOMETERSКилометры.
  • ACRESАкры (США)
  • HECTARESГектары.
  • SQUARE_YARDSЯрды (США).
  • SQUARE_FEETФуты (США).
  • SQUARE_INCHESДюймы (США).
  • SQUARE_METERSМетры.
  • SQUARE_CENTIMETERSСантиметры.
  • SQUARE_MILLIMETERSМиллиметры.
String

Возвращаемое значение

ИмяОбъяснениеТип данных
out_raster

Выходной растр плотности линий.

Это всегда растр с плавающей точкой.

Raster

Пример кода

LineDensity, пример 1 (окно Python)

В этом примере вычисляется растр плотности по полю длины полилинейного шейп-файла.

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")
LineDensity, пример 2 (автономный скрипт)

В этом примере вычисляется растр плотности по полю длины полилинейного шейп-файла.

# 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

# Execute LineDensity
outLineDensity = LineDensity(inPolylineFeatures, populationField, cellSize,
                             searchRadius, "SQUARE_MILES") 

# Save the output 
outLineDensity.save("C:/sapyexamples/output/linedensity")

Информация о лицензиях

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

Связанные разделы