『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS教程:编辑特征

ArcGIS教程:编辑特征
通过合并、重新编号和删除类特征来编辑和更新特征文件。

摘要

    通过合并、重新编号和删除类特征来编辑和更新特征文件。

用法

·      编辑特征工具允许您通过以下所有操作或某一操作来修改现有特征文件:

  • 合并一组特征类
  • 重新编号特征类 ID
  • 删除不需要的特征

·      输入特征文件必须是 ASCII 特征文件。该文件可以是任何用于生成包含所需统计信息的文件的多元分析工具(如 Iso 聚类创建特征)的输出。该文件必须至少包含两个类。可通过 .gsg 扩展名来识别此类文件。

·      输入特征重映射文件是 ASCII 文件,其每一行有两列值与之对应,以冒号分隔。第一列是原始类 ID 值。第二列包含用于在特征文件中更新的新类 ID。文件中的所有条目必须基于第一列以升序进行排序。

要合并一组类,请为该组各类 ID 的第二个值放置相同的新类 ID。只有需要编辑的类才必须被放入特征重映射文件;任何在重映射文件中不存在的类将保持不变。要删除类特征,请使用 -9999 作为该类第二列的值。此外,还可将类 ID 重新编号为某个不存在于输入特征文件中的值。以下是输入特征重映射文件的示例:

2 : 3

4 : 11

5 : -9999

9 : 3

上例将使用 3 合并类 2 9,使用 11 合并类 4,并将删除类 5

·      如果输入特征文件中包含类特征名称,并且输入特征重映射文件中的特征要进行合并,则合并值的关联名称将被传输至输出特征文件。

·      如果输入为创建自多波段栅格(超过三个波段)的图层,则操作将会考虑与源数据集相关联的所有波段,而不仅仅是由图层加载(符号化)的三个波段。

·      您可以使用多种方式将多波段栅格的波段子集指定为工具的输入。

§  如果要使用工具对话框,则通过输入栅格波段旁边的按钮导航至多波段栅格,打开栅格并选择所需波段。

§  如果多波段栅格是内容列表中的图层,则可以使用创建栅格图层工具来创建一个新的只包含所需波段的多波段图层。

§  您还可以用波段合成来创建一个只包含所需波段的新数据集,并将生成的数据集用作工具的输入。

§  Python 中,可以在工具参数中以列表形式直接指定所需波段。

语法

    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

包含要进行合并、重新编号或删除的类 ID 的输入 ASCII 重映射表。

扩展名可以是 .rmp.asc  .txt。默认值为 .rmp

File

out_signature_file

输出特征文件。

必须指定一个 .gsg 扩展名。

File

sample_interval

(可选)

采样所使用的间隔。

默认值为 10

Long

代码实例

    EditSignatures 示例 1Python 窗口)

    本例将基于输入重映射文件编辑特征文件。

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)

      京ICP备2025132830号-1 京公网安备 号