从种子点生成训练样本 (Image Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

摘要

从种子点(如精度评估点或训练样本点)生成训练样本。 典型用例是从现有源(如专题栅格或要素类)生成训练样本。

使用情况

  • 此工具可将第三方数据源包含到 ArcGIS 分类工具集中。识别类方案以指导训练样本生成的输入包括专题栅格数据集或面(例如之前的分类地图、建筑物覆盖区、公路或其他 GIS 数据)。

  • 对于栅格输入,在所有像素均具有相同值的条件下,此工具将从种子点执行区域增长。区域增长由最大样本半径(在 Python 中为 max_radius)控制。遥感的最佳做法建议训练样本应为同类样本,且样本的大小应代表目标要素。如果通过某些种子点实现的区域增长无法获得大于最小采样区域(在 Python 中为 min_area)的区域,则不使用种子点。

  • 对于要素类输入,此工具将从与点要素类相交的输入数据中选择要素,而非使用区域增长。

  • 可以使用创建精度评估点工具来生成训练样本点。此工具提供了有关要使用的点数和用于生成随机点的一些采样策略的选项。

  • 如果已拥有训练样本种子点或生成种子点的方法,由于此工具仅使用点要素类文件(而非相关表)的 x 和 y 坐标,因此可以轻松使用这些选项。

参数

标注说明数据类型
输入栅格数据或要素类数据

标注训练样本的数据源。

Mosaic Layer; Raster Layer; Feature Layer; Image Service; String
输入种子点

提供训练样本面中心的点 shapefile 或要素类。

Feature Layer
输出训练样本要素类

采用可用于训练工具的格式的输出训练样本要素类,其中包括 shapefile。输出要素类可以是面要素类,也可以是点要素类。

Feature Class
最小采样区域
(可选)

每个训练样本所需的最小区域(以平方米为单位)。最小值必须大于或等于 0。

Double
最大采样半径
(可选)

训练样本内的任意点到其中心种子点之间的最长距离(以米为单位)。如果设置为 0,则输出训练样本将为点,而非面。最小值必须大于或等于 0。

Double

GenerateTrainingSamplesFromSeedPoints(in_class_data, in_seed_points, out_training_feature_class, {min_sample_area}, {max_sample_radius})
名称说明数据类型
in_class_data

标注训练样本的数据源。

Mosaic Layer; Raster Layer; Feature Layer; Image Service; String
in_seed_points

提供训练样本面中心的点 shapefile 或要素类。

Feature Layer
out_training_feature_class

采用可用于训练工具的格式的输出训练样本要素类,其中包括 shapefile。输出要素类可以是面要素类,也可以是点要素类。

Feature Class
min_sample_area
(可选)

每个训练样本所需的最小区域(以平方米为单位)。最小值必须大于或等于 0。

Double
max_sample_radius
(可选)

训练样本内的任意点到其中心种子点之间的最长距离(以米为单位)。如果设置为 0,则输出训练样本将为点,而非面。最小值必须大于或等于 0。

Double

代码示例

GenerateTrainingSamplesFromSeedPoints 示例 1(Python 窗口)

从种子点创建训练样本。

import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

GenerateTrainingSamplesFromSeedPoints("c:/test/amberg_3band_classified_ISO.tif", 
                                      "c:/input/seed_points",  
                                      "c:/test/out/training_samples.gdb\out_training_sample", 
                                      30, 50)
GenerateTrainingSamplesFromSeedPoints 示例 2(独立脚本)

从种子点创建训练样本。

# Import system modules
import arcpy
from arcpy.ia import *

# Set local variables
inclassified_raster = "c:/test/landuse.tif"
in_seed_points = "c:/test/seed_points.shp"
output_trainingsamples = "c:/test/output/training.gdb/trainingsmaples"
maxSampleArea = 30
minSampleRadius = 50

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

#Execute
GenerateTrainingSamplesFromSeedPoints(inclassified_raster, in_seed_points, 
                   output_trainingiamples, maxiampleArea, miniampleRadius)

许可信息

  • Basic: 需要 Image Analyst 或 Spatial Analyst
  • Standard: 需要 Image Analyst 或 Spatial Analyst
  • Advanced: 需要 Image Analyst 或 Spatial Analyst

相关主题