标注 | 说明 | 数据类型 |
输入栅格数据或要素类数据 | 标注训练样本的数据源。 | Mosaic Layer; Raster Layer; Feature Layer; Image Service; String |
输入种子点 | 提供训练样本面中心的点 shapefile 或要素类。 | Feature Layer |
输出训练样本要素类 |
采用可用于训练工具的格式的输出训练样本要素类,其中包括 shapefile。输出要素类可以是面要素类,也可以是点要素类。 | Feature Class |
最小采样区域 (可选) | 每个训练样本所需的最小区域(以平方米为单位)。最小值必须大于或等于 0。 | Double |
最大采样半径 (可选) | 训练样本内的任意点到其中心种子点之间的最长距离(以米为单位)。如果设置为 0,则输出训练样本将为点,而非面。最小值必须大于或等于 0。 | Double |
需要 Spatial Analyst 许可。
获得 Image Analyst 许可后可用。
摘要
从种子点(如精度评估点或训练样本点)生成训练样本。 典型用例是从现有源(如专题栅格或要素类)生成训练样本。
使用情况
此工具可将第三方数据源包含到 ArcGIS 分类工具集中。识别类方案以指导训练样本生成的输入包括专题栅格数据集或面(例如之前的分类地图、建筑物覆盖区、公路或其他 GIS 数据)。
对于栅格输入,在所有像素均具有相同值的条件下,此工具将从种子点执行区域增长。区域增长由最大样本半径(在 Python 中为 max_radius)控制。遥感的最佳做法建议训练样本应为同类样本,且样本的大小应代表目标要素。如果通过某些种子点实现的区域增长无法获得大于最小采样区域(在 Python 中为 min_area)的区域,则不使用种子点。
对于要素类输入,此工具将从与点要素类相交的输入数据中选择要素,而非使用区域增长。
可以使用创建精度评估点工具来生成训练样本点。此工具提供了有关要使用的点数和用于生成随机点的一些采样策略的选项。
如果已拥有训练样本种子点或生成种子点的方法,由于此工具仅使用点要素类文件(而非相关表)的 x 和 y 坐标,因此可以轻松使用这些选项。
参数
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 |
代码示例
从种子点创建训练样本。
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)
从种子点创建训练样本。
# 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