如何在Google Earth Engine中从现有Feature Collection选取指定列生成新集合
GEE Feature Collection 筛选指定属性列解决方案
第一步:验证属性列名称拼写
无属性返回问题90%以上是属性列名不匹配导致,先执行以下代码打印单个要素的所有属性列,确认目标列的准确名称(注意大小写、下划线、特殊字符转义、shapefile上传时的字段名截断):
// 打印第一个要素的所有属性列名 print('Single feature property list:', shp1.first().propertyNames())
注意:不要使用shp1.propertyNames()验证,该方法打印的是Feature Collection集合本身的属性,不是每个要素携带的属性
第二步:正确执行属性筛选
确认属性名正确后,使用显式参数写法执行筛选,强制保留几何信息:
var shp2 = shp1.select({ selectors: ['test1', 'test2'], // 替换为你确认后的实际属性列名 retainGeometry: true // 显式指定保留几何,避免部分场景下的默认丢弃异常 })
第三步:验证筛选结果
执行以下代码确认筛选后的属性列符合预期:
// 打印筛选后第一个要素的属性列和属性值 print('Filtered feature properties:', shp2.first().toDictionary()) // 打印筛选后集合的要素数量,确认所有行均保留 print('Filtered collection size:', shp2.size())
如果以上操作后仍无属性,检查原始shp1是否在之前的处理流程中被清空过要素属性。
内容的提问来源于stack exchange,提问作者RachelC
相关产品推荐
相关产品推荐

