Доступно с лицензией Spatial Analyst.
Краткая информация
Задает лучшие регионы, или группы смежных полигонов, из любого исходного растра пригодности, удовлетворяющего заданному критерию и определенным ограничениям формы, размера, количества и расстояния между регионами.
Этот инструмент использует алгоритм параметрического приращения областей (PRG) для наращивания регионов-кандидатов из начальных ячеек методом добавления к региону соседних ячеек, которые лучше всего способствуют сохранению заданной формы, а также максимально увеличивает функциональность региона. С использованием алгоритма выборки и критерия оценки – такого как максимальное среднее значение – выбирается лучший регион или регионы, соответствующие указанному размеру и пространственным ограничениям. Примером пространственного ограничения было бы поддержание определенного минимального расстояния между регионами.
Использование
Входной растр часто является выходными данными модели пригодности. Модель пригодности определяет, насколько подходящим является каждое местоположение, на основе желательных атрибутов, найденных в нем. Моделирование пригодности является одним из наиболее частых применений дополнительного модуля Spatial Analyst. Более подробно о моделировании пригодности см. в разделе Основы анализа наложения.
Чем выше входные значения в растре функциональности, тем больше функциональность.
Параметры Минимальное расстояние между регионами и Максимальное расстояние между регионами имеют приоритет над Общая площадь. Например, если требуется пять регионов, но из-за заданных минимальных и максимальных расстояний могут быть найдены только четыре региона, то будут выбраны только четыре региона. В результате Общая площадь достигнута не будет. Если возможно, будет выдано предупреждение, но не во всех случаях.
Алгоритм параметров развития регионов (PRG) растет на основе значений полезности внутри входного растра – ячейки с более высоким значением являются более предпочтительными в росте. Метод оценки определяет, какие из регионов-кандидатов будут выделены; он не оказывает влияния на наращивание регионов.
Инструменту Найти регионы требуются очень интенсивные вычисления. Чтобы снизить интенсивность вычислений, можно выполнить следующие шаги для настройки входных данных и некоторых параметров.
Для ускорения обработки, местоположениям, которые не должны учитываться при выборке, следует задать NoData перед обработкой, или убрать их с помощью Маски. Из этих исключенных местоположений регионы не будут наращиваться, а также не будут включаться в процесс выборки. В отличие от Входной растр или объект существующих регионов, исключенные области не оказывают влияния на Минимальное расстояние между регионами и Максимальное расстояние между регионами в алгоритме параметрического приращения областей (PRG) или выборке регионов-кандидатов.
Опции, выбираемые для параметров Число начальных точек, от которых начинается приращение и Разрешение приращения, могут существенно влиять на время обработки.
Выбор для этих параметров опций SMALL и LOW соответственно, обеспечивает наилучшую производительность. Выбор SMALL, MEDIUM или LARGE для Числа начальных точек, от которых начинается приращение и LOW, MEDIUM или HIGH для Разрешения приращения приводит к созданию более надежных результатов за разумное время.
Если для Число начальных точек, от которых начинается приращение или Разрешение приращения выбраны любые опции, кроме MAXIMUM, данные будут потеряны из-за отсутствия наращивания регионов из каждой ячейки и пересчета в более низкое разрешение. Однако в зависимости от размера входного растра, опция MAXIMUM может приводить к медленной работе; поэтому использование других опций более практично.
В зависимости от размера входного растра, выбор MAXIMUM для Число начальных точек, от которых начинается приращение или Разрешение приращения может привести к замедлению работы. Алгоритм инструмента Найти регионы является двухшаговым процессом. Выбрав сначала регионы-кандидаты, он затем выбирает из них наилучшие. Наращивание регионов для больших входных растров может занять много времени. Однако в шаге выбора регионов, сначала загружается матрица расстояний. Если матрицу не удается загрузить из-за ограничений памяти, инструмент прекратит обработку. Если это происходит, либо выберите меньшее число начальных точек или задайте меньшее разрешение приращения.
Значения по умолчанию для параметров Число начальных точек, от которых начинается приращение и Разрешение приращения зависят от числа ячеек во входном растре. Чем больше ячеек во входном растре, тем больше времени требуется инструменту для выполнения. Чтобы избежать слишком долгой обработки, эти значения по умолчанию выбираются соответственно.
Число входных ячеек
Число начальных точек, от которых начинается приращение Разрешение приращения <= 100,000
MAXIMUM MAXIMUM 100,000 – 500,000
SMALL MAXIMUM > 500,000
SMALL LOW Если Количество регионов больше восьми, рекомендуется использовать опцию SEQUENTIAL для параметра Метод выбора регионов. Использование метода COMBINATORIAL с более чем восемью регионами может привести к снижению производительности.
Обычно значение Число начальных точек, от которых начинается приращение оказывает наибольшее влияние на скорость обработки. Чем больше количество начальных точек, от которых начинается приращение, тем дольше инструмент будет работать. Однако в большинстве случаев результаты похожи, независимо от указанного значения.
Число начальных точек, от которых начинается приращение распределены во входном растре в зависимости от значений полезности – области с более высокими значениями полезности получают большее число начальных точек. Метод оценки не влияет на их распределение.
Разрешение приращения задает разрешение, на котором будет выполняться параметрическое наращивание областей. Входной растр переводится в определенное разрешение с использованием метода билинейного пересчета. После выбора регионов, перед созданием итогового выходного растра, результаты пересчитываются в соответствии с параметром среды Размер ячейки с помощью интерполяции методом ближайшего соседа.
Для регионов у края входного растра применяется настройка формы. Если для сохранения этой формы хотя бы одна ячейка должна будет выходить за границы входного растра, полезность такого региона будет уменьшена на 50%. Из-за снижения функциональности, вероятность выбора этого региона уменьшается, но его устранения из процесса выборки не происходит.
Выбранная область может быть больше указанной общей площади, если включена опция Острова внутри областей не допускаются. Чтобы определить, не является ли параметр Острова внутри областей не допускаются причиной несовпадения выбранной области с заданной общей площадью, выполните перезапуск инструмента, отключив данный параметр. Добавьте число ячеек из COUNT в выходную таблицу атрибутов растра с первого запуска инструмента; затем перезапустите его, умножьте каждую сумму на площадь ячейки и сравните результаты с заданной областью.
Если Разрешение приращения задано с любой другой опций, кроме MAXIMUM, в постобработке, исходные значения функциональности по каждому региону могут быть определены с использованием Зональной статистики. Введите выходной растр регионов из инструмента Найти регионы в качестве растра зон, а входной растр функциональности – как растр значений.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
LocateRegions(in_raster, {total_area}, {area_units}, {number_of_regions}, {region_shape}, {region_orientation}, {shape_tradeoff}, {evaluation_method}, {minimum_area}, {maximum_area}, {minimum_distance}, {maximum_distance}, {distance_units}, {in_existing_regions}, {number_of_neighbors}, {no_islands}, {region_seeds}, {region_resolution}, {selection_method})
Параметр | Объяснение | Тип данных |
in_raster | Входной растр функциональности, из которого извлекаются регионы. Чем выше значения во входном растре, тем выше функциональность. Растр может быть целочисленным или с плавающей точкой. | Raster Layer |
total_area (Дополнительный) | Общая площадь для всех регионов. Значение по умолчанию составляет 10 процентов входных ячеек в пределах экстента обработки. | Double |
area_units (Дополнительный) | Определяет единицы измерения площадей, которые будут использоваться для параметров total_area, minimum_area и maximum_area. Доступные опции и соответствующие им единицы измерения:
Значение по умолчанию основано на наборе данных входного растра. Если во входном растре используются футы, ярды, мили или другие единицы британской системы, применяется SQUARE_MILES. Если во входном растре используются метры, километры или другие метрические единицы измерения, применяется SQUARE_KILOMETERS. | String |
number_of_regions (Дополнительный) | Определяет число регионов, по которым будет распределен total_area. Максимальное число регионов, которое можно указать, равно 30. Значение по умолчанию равно 1. | Long |
region_shape (Дополнительный) | Задает характеристики формы выходных регионов. Регионы начинаются из местоположений начальных ячеек и прирастают наружу с учетом предпочтения тех ячеек, которые позволяют получить требуемую форму. Доступны следующие варианты форм:
| String |
region_orientation (Дополнительный) | Определяет ориентацию заданной геометрической формы. Регионы прирастают из местоположений начальных точек с учетом предпочтения тех ячеек, которые позволяют получить требуемую ориентацию формы региона. Значения ориентации приводятся в градусах компаса, от 0 до 360, увеличивающиеся по часовой стрелке, начиная с севера. Значение по умолчанию равно 0. По умолчанию 0 ориентирует геометрические фигуры следующим образом: окружность – нет эффекта; эллипс – второстепенная ось ориентирована с севера на юг; треугольник и пятиугольник - одно очко прямо; квадрат, шестиугольник и восьмиугольник – одна плоская сторона имеет ориентацию восток – запад. | Double |
shape_tradeoff (Дополнительный) | Определяет вес ячеек при наращивании регионов-кандидатов в алгоритме параметризованного наращивания региона. Взвешивание является компромиссом между вкладом ячейки в сохранение формы региона и степенью функциональности атрибутивного значения ячейки. Более высокие значения показывают, что сохранение формы региона более важно, чем выбор больших значений функциональности. Допустимые значения процентов от 0 до 100, включительно. Значение по умолчанию равно 50. Этот параметр используется для определения возможных регионов-кандидатов. Регионы-кандидаты, которые будут выбираться алгоритмом, зависят от параметра evaluation_methodМетод оценки. | Double |
evaluation_method (Дополнительный) | Критерий оценки, который будет использоваться для определения того, какие из регионов-кандидатов, идентифицированных в параметризованном алгоритме наращивания области, являются наиболее предпочтительными. Предпочтения можно выбрать на основе какой-либо статистики значений функциональности или на основе пространственного упорядочивания ячеек в пределах региона. Доступны следующие опции:
| String |
minimum_area (Дополнительный) | Задает минимально допустимую площадь региона. Используются единицы измерения, заданные параметром area_units. Более подробно о создании регионов при наличии минимальной и максимальной площади см. в разделе Определение регионов при использовании значений минимальной и максимальной площади. | Double |
maximum_area (Дополнительный) | Задает максимально допустимую площадь региона. Используются единицы измерения, заданные параметром area_units. Более подробно о создании регионов при наличии минимальной и максимальной площади см. в разделе Определение регионов при использовании значений минимальной и максимальной площади. | Double |
minimum_distance (Дополнительный) | Задает минимальное разрешенное расстояние между регионами. В пределах этого расстояния двух регионов быть не может. Этот параметр влияет на работу алгоритма параметрического приращения областей (PRG). Если ячейка может быть добавлена в регион-кандидат, но она находится на этом расстоянии от любого отдельного региона в in_existing_regions, то для такого региона-кандидата она рассматриваться не будет. Значение минимального расстояния не применяется к исключенным местоположениям (ячейкам NoData). Используются единицы измерения, заданные параметром distance_units. | Double |
maximum_distance (Дополнительный) | Задает максимальное разрешенное расстояние между регионами. Никакой регион не может располагаться дальше от другого, чем это расстояние. При последовательном выборе регионов, если следующий лучший регион находится дальше, чем это расстояние от любого из уже выбранных регионов, то такой регион на данный момент рассматриваться не будет, но он может быть выбран позже, когда будет выбрано большее количество регионов. Максимальное расстояние применяется к in_existing_regions; т.е. хотя бы один из выбранных регионов должен находиться в пределах максимального расстояния от имеющихся регионов. Значение максимального расстояния не применяется к исключенным областям (ячейкам NoData) и не влияет на работу алгоритма PRG. Используются единицы измерения, заданные параметром distance_units. | Double |
distance_units (Дополнительный) | Определяет единицы измерения, которые будут использоваться для параметров minimum_distance и maximum_distance. Доступные опции и соответствующие им единицы измерения:
Значение по умолчанию основано на наборе данных входного растра. Если во входном растре используются футы, ярды, мили или другие единицы британской системы, применяется MILES. Если во входном растре используются метры, километры или другие метрические единицы измерения, применяется KILOMETERS. | String |
in_existing_regions (Дополнительный) | Набор данных, задающий уже имеющиеся регионы. Входные данные могут быть растром или классом объектов. Если используется растр, любое местоположение в растре с допустимыми значениями рассматривается как уже распределенное. Всем другим местоположениям присваивается значение NoData. В алгоритме параметризованного приращения региона не происходит наращивания региона из любого местоположения, где имеется существующий регион. Существующие регионы будут использоваться параметрами minimum_distance и maximum_distance для приращения и оценки, как описано в соответствующих разделах выше. | Raster Layer; Feature Layer |
number_of_neighbors (Дополнительный) | Определяет соседние ячейки, которые будут использоваться для приращения регионов. Доступны следующие опции:
| String |
no_islands (Дополнительный) | Разрешает или запрещает использование островов внутри потенциальных регионов.
| Boolean |
region_seeds (Дополнительный) | Задает число начальных ячеек, с которых начинается прирост потенциальных регионов. Более подробно о влиянии начальных точек на алгоритм приращения региона см. раздел Как распределяются начальные точки. Доступны следующие опции:
| String |
region_resolution (Дополнительный) | Задает разрешение, при котором происходит наращивание региона. Входной растр будет пересчитан в разрешение, определяемое числом ячеек, которое задано этим параметром (см. ниже). Например, для Low входной растр пересчитывается до 147356 ячеек. Алгоритм параметризованного приращения региона прирастает на пересчитанном промежуточном растре. После выбора регионов из пересчитанного промежуточного растра, выбранные регионы будут пересчитаны в соответствии с параметром Размер ячейки. Если количество ячеек в желаемом регионе среднего размера будет слишком мало или слишком велико, может быть выполнена регулировка целевых разрешений, указанных ниже. Эта настройка гарантирует, что в каждой желаемой области будет достаточно ячеек, или что ненужной обработки не будет. В результате, общее число ячеек промежуточного пересчитанного растра для каждого из указанных разрешений может быть ниже или выше целевого числа ячеек. Дополнительные сведения об этой настройке и используемых пороговых значений, см. в разделе Изменение разрешения наращивания региона с учетом желаемого размера регионов. Если во входном растре число ячеек менее147356, или если выбран MAXIMUM, то пересчет производиться не будет, и приращение регионов будет обрабатываться на всех ячейках входного растра. Если во входном растре имеется меньше 147356 ячеек, опции LOW, MEDIUM или HIGH не оказывают эффекта. Доступны следующие опции:
| String |
selection_method (Дополнительный) | Определяет способ выборки регионов. Доступны следующие опции:
| String |
Возвращаемое значение
Имя | Объяснение | Тип данных |
out_raster | Выходной растр регионов. Каждый регион имеет уникальный номер, больше нуля. Ячейкам, которые не принадлежат ни к одному региону, будет присвоен ноль. Выходные данные всегда представляют собой целочисленный растр. Для каждого региона вычисляются дополнительные поля, в которых хранится статистика выбранных регионов. Это следующие поля:
| Raster |
Пример кода
LocateRegions, пример 1 (окно Python)
В следующем скрипте окна Python показано, как используется инструмент LocateRegions.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outRegions = LocateRegions("suitsurface", 13.5, "SQUARE_MILES", 5, "CIRCLE",
0, 50, "HIGHEST_AVERAGE_VALUE", 2, 5, 1, 3, "MILES",
"existingreg.shp", "EIGHT", "NO_ISLANDS", "SMALL",
"LOW", "COMBINATORIAL")
outRegions.save("C:/sapyexamples/output/outregions")
LocateRegions , пример 2 (автономный скрипт)
Определяет восемь оптимальных регионов на поверхности пригодности, в соответствии с пространственными требованиями.
# Name: LocateRegions_Ex_02.py
# Description: Selects the best specified number of regions
# 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
InRaster1 = "suitsurface"
InTotalArea2 = 13.5
InAreaUnits3 = "SQUARE_MILES"
InNumberofRegions4 = 5
InRegionShape5 = "CIRCLE"
InRegionOrientation6 = 0
InShapeTradeoff7 = 50
InEvaluationMethod8 = "HIGHEST_AVERAGE_VALUE"
InMinimumArea9 = 2
InMaximumArea10 = 5
InMinimumDistance11 = 1
InMaximumDistance12 = 3
InDistanceUnits13 = "MILES"
InExistingRegions14 = "existingreg.shp"
InRegionofNeighbors15 = "EIGHT"
InRegionNoIslands16 = "NO_ISLANDS"
InRegionSeeds17 = "SMALL"
InRegionResolution18 = "LOW"
InCombinatorialThreshold19 = "COMBINATORIAL"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Locate Regions
outRegions = LocateRegions(InRaster1, InTotalArea2, InAreaUnits3, InNumberofRegions4,
InRegionShape5, InRegionOrientation6, InShapeTradeoff7,
InEvaluationMethod8, InMinimumArea9, InMaximumArea10,
InMinimumDistance11, InMaximumDistance12, InDistanceUnits13,
InExistingRegions14, InRegionofNeighbors15, InRegionNoIslands16,
InRegionSeeds17, InRegionResolution18, InCombinatorialThreshold19)
# Save the output
outRegions.save("C:/sapyexamples/output/outregions")
Параметры среды
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst