Создать сигнатуры (Create Signatures) (Spatial Analyst)
Резюме
Создает ASCII-файл сигнатур, определяемый входными эталонными данными и набором каналов растра.
Более подробно о том, как работает инструмент Создать сигнатуры
Использование
-
Для выходного файла сигнатур должно использоваться расширение .gsg.
-
Входные каналы растра, а также входные растровые или векторные данные должны иметь перекрывающиеся экстенты. Статистика будет вычислена только для общих участков.
-
Минимальное действительное число эталонов классов в данных эталонов равно двум. Максимально возможное число классов неограниченно.
-
Ковариационная матрица должна использоваться в тех случаях, когда файл сигнатур будет применяться и в других инструментах многомерного анализа, работающих с матрицей ковариации, таких как Классификация по методу максимального подобия (Maximum Likelihood Classification) и Вероятность классов (Class Probability). Для вычисления ковариационной матрицы необходимо включить опцию Вычислить ковариационную матрицу (Compute Covariance Matrices) в диалоговом окне или использовать опцию COVARIANCE в скриптах. По умолчанию эта опция включена. Смотрите Как работает инструмент Создать сигнатуры (Create Signatures) чтобы сравнить файлы сигнатур, с вычислением ковариационной матрицы и без нее (только среднее).
-
Вы не должны ничего менять в файле сигнатур; исключение - вы можете ввести имена классов. Статистика в файле должна создаваться только с помощью инструментов Многомерного анализа.
-
Имена классов в выходном файле сигнатур являются дополнительными. Они используются только для справки. Имена классов могут указываться в Поле образца (Sample field) или добавляться в выходной файл сигнатур с помощью любого текстового редактора. Имя каждого класса должно состоять из одной строки и должно содержать не более 31 буквенно-цифровых символов.
-
Если входные данные представлены слоем, созданным на основании многоканального растра, содержащего более трёх каналов, операция будет выполняться для всех каналов, связанных с исходным набором данных, а не только для трёх каналов, которые загружены слоем (то есть, отображаются символами).
Существует несколько способов для указания поднабора каналов многоканального растра, которые нужно использовать в качестве входных данных инструмента.
- При использовании диалогового окна инструмента перейдите к многоканальному растру с помощью кнопки обзора, расположенной рядом с пунктом Входные растровые каналы (Input raster bands), откройте растр и выберите нужные каналы.
- Если многоканальный растр является слоем в Таблице содержания, можно использовать инструмент Make Raster Layer (Создать растровый слой), чтобы создать новые многоканальный слой, содержащий только нужные каналы.
- Можно также создать новый набор данных, содержащий только нужные каналы, используя для этого инструмент Объединить каналы (Composite Bands), входными данными для которого будет являться полученный набор данных.
- В Python нужные каналы можно указать как список напрямую в параметре инструмента.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster_bands [in_raster_band,...] |
Входные каналы растра, для которых создаются сигнатуры. | Raster Layer |
in_sample_data |
Входные данные, на которых выделены эталоны классов. Входные данные должны быть представлены целочисленным растром или набором пространственных данных. | Raster Layer | Feature Layer |
out_signature_file |
Выходной файл сигнатур. Необходимо задать расширение .gsg. | File |
compute_covariance (дополнительно) |
Определяет, вычисляются ли матрицы ковариации.
| Boolean |
sample_field (дополнительно) |
Поле, используемое для присвоения значений местоположениям источников. Допускаются только целочисленные или строковые поля. Указанное число или строка будет использоваться в качестве имени классы в выходном файле сигнатур. | Field |
Пример кода
В этом примере создается файл сигнатур для классов, определенных эталонными обучающими областями, и набор входных каналов растра.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
CreateSignatures("sb", "sbtrain", "c:/sapyexamples/output/rbsig.gsg",
"COVARIANCE", "")
В этом примере создается файл сигнатур для классов, определенных эталонными обучающими областями, и набор входных каналов растра.
# Name: CreateSignatures_Ex_02.py
# Description: Creates an ASCII signature file of classes defined by input
# sample data and a set of raster bands.
# 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
inRaster = "sb"
inSamples = "sbtrain"
outSig = "c:/sapyexamples/output/rbsig02.gsg"
sampField = ""
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CreateSignatures
CreateSignatures(inRaster, inSamples, outSig, "COVARIANCE", sampField)