Доступно с лицензией Spatial Analyst.
Краткая информация
Редактирует и обновляет файл сигнатур путем объединения, перенумерации и удаления сигнатур классов.
Более подробно о том, как работает инструмент Редактировать сигнатуры
Использование
Инструмент Редактировать сигнатуры (Edit Signatures) позволяет менять существующий файл сигнатур путем выполнения всех или любой из следующих операций:
- Объединения сигнатур набора классов
- Перенумерации идентификаторов (ID) сигнатур классов
- Удаления нежелательных сигнатур
Входной файл сигнатур должен быть файлом сигнатур ASCII. Этот файл может быть выходным файлом одного из инструментов Многомерность, которые создают файл, содержащий необходимую статистическую информацию, например, Изокластер (Iso Cluster) и Создать сигнатуры (Create Signatures). Файл должен содержать, по меньшей мере, два класса. Такой файл можно узнать по расширению .gsg.
Входной файл перекодировок сигнатур – это ASCII-файл, состоящий из двух столбцов co значениями на строку, разделенными двоеточием. В первом столбце указано значение идентификатора ID исходного класса. Второй столбец содержит идентификаторы ID новых классов, которые используются для обновления файла сигнатур. Все записи в файле должны быть сохранены по возрастанию и в соответствии с первым столбцом.
Чтобы объединить набор классов, задайте новый одинаковый ID равным второму значению для каждого ID класса из набора. В файл перекодировок сигнатур должны быть помещены только те классы, которые нуждаются в редактировании. Все классы, не присутствующие в файле перекодировки останутся неизменными. Чтобы удалить сигнатуру класса, установите значение -9999 во вторую колонку этого класса. Идентификатор класса (ID) также должен быть изменен на значение, не существующее во входном файле сигнатур.
Ниже приведен пример входного файла перекодировок сигнатур:
2 : 3 4 : 11 5 : -9999 9 : 3
Этот пример объединит классы 2 и 9 с классом 3, объединит класс 4 с 11, и удалит класс 5.
Если входной файл сигнатур содержит названия сигнатур классов, и если сигнатуры во входном файле перекодировок сигнатур должны быть объединены, имя, связанное с объединяемым значением, будет перенесено в выходной файл сигнатур.
Если входные данные представлены слоем, созданным на основании многоканального растра, содержащего более трёх каналов, операция будет выполняться для всех каналов, связанных с исходным набором данных, а не только для трёх каналов, которые загружены слоем (то есть, отображаются символами).
Существует несколько способов для указания поднабора каналов многоканального растра, которые нужно использовать в качестве входных данных инструмента.
- При использовании диалогового окна инструмента перейдите к многоканальному растру с помощью кнопки обзора , расположенной рядом с пунктом Входные растровые каналы (Input raster bands), откройте растр и выберите нужные каналы.
- Если многоканальный растр является слоем в Таблице содержания, можно использовать инструмент Создать растровый слой, чтобы создать новый многоканальный слой, содержащий только нужные каналы.
- Можно также создать новый набор данных, содержащий только нужные каналы, используя для этого инструмент Объединить каналы, входными данными для которого будет являться полученный набор данных.
- В Python нужные каналы можно указать как список напрямую в параметре инструмента.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
EditSignatures (in_raster_bands, in_signature_file, in_signature_remap_file, out_signature_file, {sample_interval})
Параметр | Объяснение | Тип данных |
in_raster_bands [in_raster_band,...] | Каналы входного растра, для которых должны редактироваться сигнатуры. Они могут быть целочисленными или с плавающей точкой. | Raster Layer |
in_signature_file | Входной файл сигнатур, сигнатуры которого должны редактироваться. Требуется расширение .gsg. | File |
in_signature_remap_file | Входная ASCII-таблица перекодировок, содержащая идентификаторы объединяемых, удаляемых классов, или классов с изменениями номеров. Расширение может быть .rmp, .asc или .txt. По умолчанию – .rmp. | File |
out_signature_file | Выходной файл сигнатур. Необходимо задать расширение .gsg. | File |
sample_interval (дополнительно) | Интервал, который будет использован для выборки. Значение по умолчанию равно 10. | Long |
Пример кода
EditSignatures, пример 1 (окно Python)
В этом примере будет редактироваться файл сигнатур на основе входной таблицы перекодировки.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
EditSignatures("redl123", "c:/sapyexamples/data/zsamp12.gsg",
"c:/sapyexamples/data/zsamp7.rmp",
"c:/sapyexamples/output/redlremap.gsg", "")
EditSignatures, пример 2 (автономный скрипт)
В этом примере будет редактироваться файл сигнатур на основе входной таблицы перекодировки.
# Name: EditSignatures_Ex_02.py
# Description: Edits and updates a signature file by merging, renumbering,
# and deleting class signatures.
# 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 = "redl123"
oldSig = "c:/sapyexamples/data/zsamp12.gsg"
sigRemap = "c:/sapyexamples/data/zsamp7.rmp"
outNewSig = "c:/sapyexamples/output/redlsig.gsg"
interval = ""
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute EditSignatures
EditSignatures(inRaster, oldSig, sigRemap, outNewSig, interval)