Доступно с лицензией Spatial Analyst.
Краткая информация
Редактирует и обновляет файл сигнатур путем объединения, перенумерации и удаления сигнатур классов.
Более подробно о том, как работает инструмент Редактировать сигнатуры
Использование
Инструмент Редактировать сигнатуры позволяет менять существующий файл сигнатур путем выполнения всех или любой из следующих операций:
- Объединения сигнатур набора классов
- Перенумерации идентификаторов (ID) сигнатур классов
- Удаления нежелательных сигнатур
Входной файл сигнатур должен быть файлом сигнатур ASCII. Этот файл может быть выходным файлом одного из инструментов Многомерность, которые создают файл, содержащий необходимую статистическую информацию, например, Изокластер и Создать сигнатуры. Файл должен содержать, по меньшей мере, два класса. Такой файл можно распознать по расширению .gsg.
Входной файл перекодировок сигнатур – это ASCII-файл, состоящий из двух столбцов co значениями на строку, разделенными двоеточием. В первом столбце указано значение идентификатора ID исходного класса. Второй столбец содержит идентификаторы ID новых классов, которые используются для обновления файла сигнатур. Все записи в файле должны быть сохранены по возрастанию и в соответствии с первым столбцом.
В определенных случаях эти классы могут иметь схожую статистику, что затрудняет назначение ячеек уникальным классам. Например, класс водно-болотных угодий и отдельный класс для лесных болот. Эти два класса непросто отличить один от другого. В этом случае целесообразно выполнить слияние класса лесных болот с более общим классом водно-болотных угодий. Либо, если статистические отличия между этими классами отсутствуют, один из них можно вовсе удалить, поскольку оба они по существу представляют один и тот же класс.
Чтобы объединить набор классов, задайте новый одинаковый ID равным второму значению для каждого ID класса из набора. В файл перекодировок сигнатур должны быть помещены только те классы, которые нуждаются в редактировании. Все классы, не присутствующие в файле перекодировки останутся неизменными. Чтобы удалить сигнатуру класса, установите значение -9999 во вторую колонку этого класса. Идентификатор класса (ID) также должен быть изменен на значение, не существующее во входном файле сигнатур.
Ниже приведен пример входного файла перекодировок сигнатур:
2 : 3 4 : 11 5 : -9999 9 : 3
Этот пример объединит классы 2 и 9 с классом 3, объединит класс 4 с 11, и удалит класс 5.
Если входной файл сигнатур содержит названия сигнатур классов, и если сигнатуры во входном файле перекодировок сигнатур должны быть объединены, имя, связанное с объединяемым значением, будет перенесено в выходной файл сигнатур.
Если входные данные представлены слоем, созданным на основании многоканального растра, содержащего более трёх каналов, операция будет выполняться для всех каналов, связанных с исходным набором данных, а не только для трёх каналов, которые загружены слоем (то есть, отображаются символами).
Существует несколько способов для указания поднабора каналов многоканального растра, которые нужно использовать в качестве входных данных инструмента.
- При использовании диалогового окна инструмента выберите многоканальный растр с помощью кнопки обзора , расположенной рядом с пунктом Каналы входного растра, откройте растр и выберите нужные каналы.
- Если многоканальный растр является слоем в Таблице содержания, можно использовать инструмент Создать растровый слой, чтобы создать новый многоканальный слой, содержащий только нужные каналы.
- Можно также создать новый набор данных, содержащий только нужные каналы, используя для этого инструмент Объединить каналы, входными данными для которого будет являться полученный набор данных.
- В 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)
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst