具体的思路都写在注释里了
使用CART分类器对地物进行监督分类(基于Landsat 8)
// 建立一个矢量点
var pt = ee.Geometry.Point([118.55, 25.55]);
// 筛选指定位置和指定时间的影像,并根据云量进行排序,选择云量最少的一幅影像
var landsat = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2').filterBounds(pt).filterDate('2023-01-01', '2024-01-01').sort('CLOUD_COVER').first();
// 将影像加载到地图中间
Map.centerObject(landsat, 8);
// 将遥感影像加载到地图上
var visParams = { bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 7000, max: 12000
};
Map.addLayer(landsat, visParams, 'Landsat 8 image');
// 将特征合并为一个特征集合
// .flatten()的主要作用是合并多个子集合中的特征,使得最终的特征集合包含所有的特征,而不是保持嵌套结构
var trainingFeatures = ee.FeatureCollection([tree, river, city]).flatten();
// 定义监督分类中所需的波段
var predictionBands = ['SR_B1', 'SR_B2', 'SR_B3', 'SR_B4', 'SR_B5', 'SR_B6', 'SR_B7','ST_B10' ];
// 提取每个样本训练点的特征信息
var classifierTraining = landsat.select(predictionBands).sampleRegions({ collection: trainingFeatures, properties: ['class'], scale: 30
});
// 训练CART分类器
var classifier = ee.Classifier.smileCart().train({ features: classifierTraining, classProperty: 'class', inputProperties: predictionBands
});
// 对影像进行分类
var classified = landsat.select(predictionBands).classify(classifier);
// 定义影像的可视化参数
var classificationVis = { min: 0, max: 2, palette: ['589400', 'ff0000', '1a11ff'] // 自定义的色带
};
// 将分类结果添加到地图上
Map.addLayer(classified, classificationVis, 'CART classified');
使用RF分类器对地物进行监督分类(基于Landsat 8)
// 训练一个RF分类器
// RF分类需要定义构建的树的数量,代码中将树的数量定义为50
var RFclassifier = ee.Classifier.smileRandomForest(50).train({ features: classifierTraining, classProperty: 'class', inputProperties: predictionBands
});
// 对影像进行分类
var RFclassified = landsat.select(predictionBands).classify(RFclassifier);
// 定义影像的可视化参数
var classificationVis = { min: 0, max: 2, palette: ['589400', 'ff0000', '1a11ff']
};
// 将分类结果添加到地图上
Map.addLayer(RFclassified, classificationVis, 'RFclassified');
使用随机森林进行地物分类及精度评价的完整代码(基于Sentinel-2)
// 选择研究区
var roi = ee.FeatureCollection('users/yongweicao11/wuyishan');var myImage = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED').filterBounds(roi).filterDate('2023-01-01', '2023-12-10').filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 10));var composite = myImage.median().clip(roi);
// 以真彩色加载影像
var visParams = {bands: ['B4', 'B3', 'B2'],min: 0,max: 3000,
};
Map.centerObject(roi, 8);
Map.addLayer(composite, visParams, 'Cloud-free Composite');// 加入一些波段组合有助于提高分类精度
var mndwi = composite.normalizedDifference(['B3', 'B11']).rename('MNDWI');//计算MNDWI
var ndbi = composite.normalizedDifference(['B11', 'B8']).rename('NDBI');//计算NDBI
var ndvi = composite.normalizedDifference(['B8', 'B4']).rename('NDVI');//计算NDVI
composite = composite.addBands(ndvi).addBands(ndbi).addBands(mndwi)var trainingFeatures = ee.FeatureCollection([forest, water, city, soil]).flatten();
// 定义监督分类中所需的波段
var predictionBands = ['B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8','B9','B11','B12','MNDWI', 'NDBI', 'NDVI' ];
// 提取每个样本训练点的特征信息
var classifierTraining = composite.select(predictionBands).sampleRegions({ collection: trainingFeatures, properties: ['class'], scale: 30
});
// RF分类需要定义构建的树的数量,代码中将树的数量定义为50
var RFclassifier = ee.Classifier.smileRandomForest(50).train({ features: classifierTraining, classProperty: 'class', inputProperties: predictionBands
});
// 对影像进行分类
var RFclassified = composite.select(predictionBands).classify(RFclassifier);
// 定义影像的可视化参数
var classificationVis = { min: 0, max: 3, palette: ['589400', 'ff0000', '1a11ff', 'd0741e']
};
// 将分类结果添加到地图上
Map.addLayer(RFclassified, classificationVis, 'RFclassified')var data = classifierTraining
var trainingTesting = data.randomColumn();
var trainingSet = trainingTesting.filter(ee.Filter.lessThan('random', 0.8));
var testingSet = trainingTesting.filter(ee.Filter.greaterThanOrEquals('random', 0.8));var RFclassifier = ee.Classifier.smileRandomForest(50).train({ features: trainingSet, classProperty: 'class', inputProperties: predictionBands
}); var confusionMatrix = testingSet.classify(RFclassifier).errorMatrix({actual: 'class', predicted: 'classification'
});// Print the results.
print('Confusion matrix:', confusionMatrix);
print('Overall Accuracy:', confusionMatrix.accuracy());
print('Producers Accuracy:',
confusionMatrix.producersAccuracy());
print('Consumers Accuracy:',
confusionMatrix.consumersAccuracy());
print('Kappa:', confusionMatrix.kappa());
查看分类结果,可以在右上角控制台(console)查看混淆矩阵、整体精度和kappa系数等
参考书籍:《Cloud-Based Remote Sensing with Google Earth Engine》
(想要电子版可私信)
代码用到的矢量点数据(将以下代码复制到GEE代码框后convert一下就可以直接加载出我画好的矢量点)
var forest = /* color: #bf04c2 *//* shown: false */ee.FeatureCollection([ee.Feature(ee.Geometry.Point([118.04055013511174, 27.70693084385063]),{"class": 0,"system:index": "0"}),ee.Feature(ee.Geometry.Point([118.0421809181928, 27.71870852124089]),{"class": 0,"system:index": "1"}),ee.Feature(ee.Geometry.Point([117.9693106636762, 27.71316177354836]),{"class": 0,"system:index": "2"}),ee.Feature(ee.Geometry.Point([117.95789518210881, 27.703435288443746]),{"class": 0,"system:index": "3"}),ee.Feature(ee.Geometry.Point([117.97454633567327, 27.695607877859086]),{"class": 0,"system:index": "4"}),ee.Feature(ee.Geometry.Point([117.95746602866643, 27.69553188082996]),{"class": 0,"system:index": "5"}),ee.Feature(ee.Geometry.Point([117.9623583779096, 27.693631937905085]),{"class": 0,"system:index": "6"}),ee.Feature(ee.Geometry.Point([118.04303922507756, 27.72926935663225]),{"class": 0,"system:index": "7"}),ee.Feature(ee.Geometry.Point([118.03840436789983, 27.72919338305285]),{"class": 0,"system:index": "8"}),ee.Feature(ee.Geometry.Point([118.06235112998479, 27.730181035454773]),{"class": 0,"system:index": "9"}),ee.Feature(ee.Geometry.Point([118.06835927817815, 27.727597925652475]),{"class": 0,"system:index": "10"}),ee.Feature(ee.Geometry.Point([118.05883207175725, 27.70921049356246]),{"class": 0,"system:index": "11"}),ee.Feature(ee.Geometry.Point([118.04698743674749, 27.699787632974]),{"class": 0,"system:index": "12"}),ee.Feature(ee.Geometry.Point([118.04630079123967, 27.695987862211116]),{"class": 0,"system:index": "13"}),ee.Feature(ee.Geometry.Point([118.04303922507756, 27.69325194535183]),{"class": 0,"system:index": "14"}),ee.Feature(ee.Geometry.Point([118.0424328205146, 27.68712206535778]),{"class": 0,"system:index": "15"}),ee.Feature(ee.Geometry.Point([117.96364024849312, 27.682333777044875]),{"class": 0,"system:index": "16"}),ee.Feature(ee.Geometry.Point([117.95411304207222, 27.6826378015924]),{"class": 0,"system:index": "17"}),ee.Feature(ee.Geometry.Point([117.94630244942086, 27.683017831086627]),{"class": 0,"system:index": "18"}),ee.Feature(ee.Geometry.Point([118.01908687324898, 27.66827171707737]),{"class": 0,"system:index": "19"}),ee.Feature(ee.Geometry.Point([118.02861407966988, 27.68605801943267]),{"class": 0,"system:index": "20"}),ee.Feature(ee.Geometry.Point([117.93935016365425, 27.6646228868827]),{"class": 0,"system:index": "21"}),ee.Feature(ee.Geometry.Point([117.93411449165718, 27.671540357338593]),{"class": 0,"system:index": "22"}),ee.Feature(ee.Geometry.Point([117.93832019539254, 27.679825542235672]),{"class": 0,"system:index": "23"}),ee.Feature(ee.Geometry.Point([118.02080348701851, 27.657248837379534]),{"class": 0,"system:index": "24"}),ee.Feature(ee.Geometry.Point([118.015755864625, 27.650152619903746]),{"class": 0,"system:index": "25"}),ee.Feature(ee.Geometry.Point([118.0443374838877, 27.65212934633422]),{"class": 0,"system:index": "26"}),ee.Feature(ee.Geometry.Point([118.04897234106544, 27.645818902319636]),{"class": 0,"system:index": "27"}),ee.Feature(ee.Geometry.Point([117.93181345129493, 27.65494231849536]),{"class": 0,"system:index": "28"}),ee.Feature(ee.Geometry.Point([117.9234878745127, 27.669994290947432]),{"class": 0,"system:index": "29"}),ee.Feature(ee.Geometry.Point([117.95490190649512, 27.67394699052937]),{"class": 0,"system:index": "30"}),ee.Feature(ee.Geometry.Point([117.95249864721778, 27.633805243712768]),{"class": 0,"system:index": "31"}),ee.Feature(ee.Geometry.Point([117.951083630988, 27.620379206836542]),{"class": 0,"system:index": "32"}),ee.Feature(ee.Geometry.Point([117.96515986389815, 27.617717448471485]),{"class": 0,"system:index": "33"}),ee.Feature(ee.Geometry.Point([117.9612974829167, 27.622052278978927]),{"class": 0,"system:index": "34"}),ee.Feature(ee.Geometry.Point([117.95958086914717, 27.625094162832955]),{"class": 0,"system:index": "35"}),ee.Feature(ee.Geometry.Point([117.94395968384444, 27.627375520260212]),{"class": 0,"system:index": "36"}),ee.Feature(ee.Geometry.Point([118.04420992798507, 27.618706109130972]),{"class": 0,"system:index": "37"}),ee.Feature(ee.Geometry.Point([118.03391024536788, 27.638705557644368]),{"class": 0,"system:index": "38"}),ee.Feature(ee.Geometry.Point([118.0367426580876, 27.64182301314029]),{"class": 0,"system:index": "39"}),ee.Feature(ee.Geometry.Point([118.05056139893233, 27.622280423199488]),{"class": 0,"system:index": "40"}),ee.Feature(ee.Geometry.Point([118.00507113403975, 27.611633186418043]),{"class": 0,"system:index": "41"}),ee.Feature(ee.Geometry.Point([118.00610110230147, 27.60904727270586]),{"class": 0,"system:index": "42"}),ee.Feature(ee.Geometry.Point([118.0320219702214, 27.603723140515328]),{"class": 0,"system:index": "43"}),ee.Feature(ee.Geometry.Point([118.01468417114913, 27.601745539811596]),{"class": 0,"system:index": "44"}),ee.Feature(ee.Geometry.Point([118.03227946228682, 27.609199386966868]),{"class": 0,"system:index": "45"}),ee.Feature(ee.Geometry.Point([118.04180666870772, 27.61300217484718]),{"class": 0,"system:index": "46"}),ee.Feature(ee.Geometry.Point([118.02987620300948, 27.59664925045005]),{"class": 0,"system:index": "47"}),ee.Feature(ee.Geometry.Point([118.018804044196, 27.59588858992347]),{"class": 0,"system:index": "48"}),ee.Feature(ee.Geometry.Point([117.9325029274023, 27.602433005455403]),{"class": 0,"system:index": "49"}),ee.Feature(ee.Geometry.Point([117.92941302261714, 27.595663298431102]),{"class": 0,"system:index": "50"}),ee.Feature(ee.Geometry.Point([117.93070048294429, 27.5910992150467]),{"class": 0,"system:index": "51"}),ee.Feature(ee.Geometry.Point([118.05767423675913, 27.637462235994004]),{"class": 0,"system:index": "52"}),ee.Feature(ee.Geometry.Point([118.10005681576804, 27.675569560225952]),{"class": 0,"system:index": "53"}),ee.Feature(ee.Geometry.Point([118.09868352475242, 27.670628736781854]),{"class": 0,"system:index": "54"}),ee.Feature(ee.Geometry.Point([118.09293286862449, 27.667360069251387]),{"class": 0,"system:index": "55"}),ee.Feature(ee.Geometry.Point([118.10125844540671, 27.681422246555336]),{"class": 0,"system:index": "56"}),ee.Feature(ee.Geometry.Point([118.09267537655906, 27.69814247928454]),{"class": 0,"system:index": "57"}),ee.Feature(ee.Geometry.Point([118.09533612790183, 27.65686926660821]),{"class": 0,"system:index": "58"}),ee.Feature(ee.Geometry.Point([118.1281971258923, 27.660963570969006]),{"class": 0,"system:index": "59"}),ee.Feature(ee.Geometry.Point([118.14012759159054, 27.65845484556235]),{"class": 0,"system:index": "60"}),ee.Feature(ee.Geometry.Point([118.1490539831921, 27.66035540039953]),{"class": 0,"system:index": "61"}),ee.Feature(ee.Geometry.Point([118.14768069217648, 27.66894549603324]),{"class": 0,"system:index": "62"}),ee.Feature(ee.Geometry.Point([118.14364664981808, 27.65298106303154]),{"class": 0,"system:index": "63"}),ee.Feature(ee.Geometry.Point([118.13300364444699, 27.655870037960316]),{"class": 0,"system:index": "64"}),ee.Feature(ee.Geometry.Point([118.17111247013058, 27.672366142602332]),{"class": 0,"system:index": "65"}),ee.Feature(ee.Geometry.Point([118.17754977176632, 27.690607782161006]),{"class": 0,"system:index": "66"}),ee.Feature(ee.Geometry.Point([118.18381541202511, 27.686275668647767]),{"class": 0,"system:index": "67"}),ee.Feature(ee.Geometry.Point([118.12364809940304, 27.691367784352565]),{"class": 0,"system:index": "68"}),ee.Feature(ee.Geometry.Point([118.10725443790402, 27.682779451718183]),{"class": 0,"system:index": "69"})]),water = /* color: #ff0000 *//* shown: false */ee.FeatureCollection([ee.Feature(ee.Geometry.Point([118.00000633723052, 27.76895924111801]),{"class": 1,"system:index": "0"}),ee.Feature(ee.Geometry.Point([118.00090755945952, 27.768275726142008]),{"class": 1,"system:index": "1"}),ee.Feature(ee.Geometry.Point([117.99996342188628, 27.7667947622987]),{"class": 1,"system:index": "2"}),ee.Feature(ee.Geometry.Point([118.00459827906401, 27.764516317031376]),{"class": 1,"system:index": "3"}),ee.Feature(ee.Geometry.Point([118.00305332667143, 27.76337707650997]),{"class": 1,"system:index": "4"}),ee.Feature(ee.Geometry.Point([118.03345788527521, 27.757177926347023]),{"class": 1,"system:index": "5"}),ee.Feature(ee.Geometry.Point([118.03298581648859, 27.75607658645704]),{"class": 1,"system:index": "6"}),ee.Feature(ee.Geometry.Point([118.0327712397674, 27.75493725760555]),{"class": 1,"system:index": "7"}),ee.Feature(ee.Geometry.Point([118.03217042494806, 27.75429163263085]),{"class": 1,"system:index": "8"}),ee.Feature(ee.Geometry.Point([118.03182710219416, 27.753304198793995]),{"class": 1,"system:index": "9"}),ee.Feature(ee.Geometry.Point([118.03139794875177, 27.752620585507483]),{"class": 1,"system:index": "10"}),ee.Feature(ee.Geometry.Point([118.0342303614715, 27.763899655869686]),{"class": 1,"system:index": "11"}),ee.Feature(ee.Geometry.Point([118.03504575301203, 27.762836359062916]),{"class": 1,"system:index": "12"}),ee.Feature(ee.Geometry.Point([118.02899468947443, 27.74631594957721]),{"class": 1,"system:index": "13"}),ee.Feature(ee.Geometry.Point([118.02843678999933, 27.745176518601873]),{"class": 1,"system:index": "14"}),ee.Feature(ee.Geometry.Point([118.02779305983576, 27.744075057328896]),{"class": 1,"system:index": "15"}),ee.Feature(ee.Geometry.Point([118.02401650954279, 27.741226398939258]),{"class": 1,"system:index": "16"}),ee.Feature(ee.Geometry.Point([118.02161325026545, 27.740504726987997]),{"class": 1,"system:index": "17"}),ee.Feature(ee.Geometry.Point([118.01916707564386, 27.73963111770355]),{"class": 1,"system:index": "18"}),ee.Feature(ee.Geometry.Point([118.01530469466242, 27.732224148844942]),{"class": 1,"system:index": "19"}),ee.Feature(ee.Geometry.Point([118.01478971053156, 27.72994498021529]),{"class": 1,"system:index": "20"}),ee.Feature(ee.Geometry.Point([118.01410306502375, 27.72842550798393]),{"class": 1,"system:index": "21"}),ee.Feature(ee.Geometry.Point([118.01388848830256, 27.726602113346477]),{"class": 1,"system:index": "22"}),ee.Feature(ee.Geometry.Point([118.0131032719264, 27.724007641142062]),{"class": 1,"system:index": "23"}),ee.Feature(ee.Geometry.Point([118.01160123487806, 27.719633759981843]),{"class": 1,"system:index": "24"}),ee.Feature(ee.Geometry.Point([118.01095750471448, 27.711389589282618]),{"class": 1,"system:index": "25"}),ee.Feature(ee.Geometry.Point([118.01074292799329, 27.709489922444664]),{"class": 1,"system:index": "26"}),ee.Feature(ee.Geometry.Point([118.01000584886788, 27.707581623676322]),{"class": 1,"system:index": "27"}),ee.Feature(ee.Geometry.Point([118.00910462663887, 27.70663176123675]),{"class": 1,"system:index": "28"}),ee.Feature(ee.Geometry.Point([118.00288630562036, 27.697034285214443]),{"class": 1,"system:index": "29"}),ee.Feature(ee.Geometry.Point([118.0000109775564, 27.690954435134092]),{"class": 1,"system:index": "30"}),ee.Feature(ee.Geometry.Point([117.99884927052067, 27.689693798922683]),{"class": 1,"system:index": "31"}),ee.Feature(ee.Geometry.Point([117.99730431812809, 27.68813576484764]),{"class": 1,"system:index": "32"}),ee.Feature(ee.Geometry.Point([117.99558770435856, 27.686577708540117]),{"class": 1,"system:index": "33"}),ee.Feature(ee.Geometry.Point([117.99404275196598, 27.685323647071343]),{"class": 1,"system:index": "34"}),ee.Feature(ee.Geometry.Point([117.99887862454696, 27.67745495693989]),{"class": 1,"system:index": "35"}),ee.Feature(ee.Geometry.Point([117.99694743405624, 27.678595095556023]),{"class": 1,"system:index": "36"}),ee.Feature(ee.Geometry.Point([118.00055224868387, 27.67528140167083]),{"class": 1,"system:index": "37"}),ee.Feature(ee.Geometry.Point([118.00093612684901, 27.67433752804529]),{"class": 1,"system:index": "38"}),ee.Feature(ee.Geometry.Point([118.00290276299206, 27.671281738955837]),{"class": 1,"system:index": "39"})]),city = /* color: #00ff00 *//* shown: false */ee.FeatureCollection([ee.Feature(ee.Geometry.Point([117.98752041452784, 27.66608754950785]),{"class": 2,"system:index": "0"}),ee.Feature(ee.Geometry.Point([117.98764916056055, 27.661830484028407]),{"class": 2,"system:index": "1"}),ee.Feature(ee.Geometry.Point([117.98357220285791, 27.66243864639108]),{"class": 2,"system:index": "2"}),ee.Feature(ee.Geometry.Point([117.98443050974268, 27.66004398751994]),{"class": 2,"system:index": "3"}),ee.Feature(ee.Geometry.Point([117.98627586954493, 27.65928376738441]),{"class": 2,"system:index": "4"}),ee.Feature(ee.Geometry.Point([117.98172684305567, 27.659853932981687]),{"class": 2,"system:index": "5"}),ee.Feature(ee.Geometry.Point([117.98099728220362, 27.660005976638736]),{"class": 2,"system:index": "6"}),ee.Feature(ee.Geometry.Point([117.97807903879541, 27.662818746149483]),{"class": 2,"system:index": "7"}),ee.Feature(ee.Geometry.Point([117.97696323984522, 27.662476656426417]),{"class": 2,"system:index": "8"}),ee.Feature(ee.Geometry.Point([117.97692032450098, 27.664605197308664]),{"class": 2,"system:index": "9"}),ee.Feature(ee.Geometry.Point([117.9788515149917, 27.660386084856142]),{"class": 2,"system:index": "10"}),ee.Feature(ee.Geometry.Point([117.97528954141993, 27.660310063318395]),{"class": 2,"system:index": "11"}),ee.Feature(ee.Geometry.Point([117.97764988535303, 27.658181438797588]),{"class": 2,"system:index": "12"}),ee.Feature(ee.Geometry.Point([117.98189850443262, 27.656166809558254]),{"class": 2,"system:index": "13"}),ee.Feature(ee.Geometry.Point([117.98593254679102, 27.654912399014727]),{"class": 2,"system:index": "14"}),ee.Feature(ee.Geometry.Point([117.98970909708399, 27.651605247690807]),{"class": 2,"system:index": "15"}),ee.Feature(ee.Geometry.Point([117.99086781137842, 27.653734000243215]),{"class": 2,"system:index": "16"}),ee.Feature(ee.Geometry.Point([117.99108238809961, 27.656851027425162]),{"class": 2,"system:index": "17"}),ee.Feature(ee.Geometry.Point([117.97833653086084, 27.65381002635363]),{"class": 2,"system:index": "18"}),ee.Feature(ee.Geometry.Point([117.9768344938125, 27.653848039389015]),{"class": 2,"system:index": "19"}),ee.Feature(ee.Geometry.Point([117.9739162504043, 27.649818584099535]),{"class": 2,"system:index": "20"}),ee.Feature(ee.Geometry.Point([117.98722000711817, 27.646853418405108]),{"class": 2,"system:index": "21"}),ee.Feature(ee.Geometry.Point([117.98623295420069, 27.645142709322894]),{"class": 2,"system:index": "22"}),ee.Feature(ee.Geometry.Point([117.9874774991836, 27.669470277949515]),{"class": 2,"system:index": "23"}),ee.Feature(ee.Geometry.Point([117.98631878488916, 27.672662869412587]),{"class": 2,"system:index": "24"}),ee.Feature(ee.Geometry.Point([117.98425884836573, 27.67148466199508]),{"class": 2,"system:index": "25"}),ee.Feature(ee.Geometry.Point([117.98902245157618, 27.670990571232462]),{"class": 2,"system:index": "26"}),ee.Feature(ee.Geometry.Point([117.98451634043116, 27.675019246131686]),{"class": 2,"system:index": "27"}),ee.Feature(ee.Geometry.Point([117.99082489603418, 27.674373147894848]),{"class": 2,"system:index": "28"}),ee.Feature(ee.Geometry.Point([118.01138134592432, 27.67718554762933]),{"class": 2,"system:index": "29"}),ee.Feature(ee.Geometry.Point([118.00593109720606, 27.67973184709587]),{"class": 2,"system:index": "30"}),ee.Feature(ee.Geometry.Point([118.00421448343653, 27.68011188670159]),{"class": 2,"system:index": "31"}),ee.Feature(ee.Geometry.Point([117.99818487757105, 27.675513318675755]),{"class": 2,"system:index": "32"}),ee.Feature(ee.Geometry.Point([118.01457992749673, 27.681997795038512]),{"class": 2,"system:index": "33"}),ee.Feature(ee.Geometry.Point([117.98968902783852, 27.69155519120795]),{"class": 2,"system:index": "34"}),ee.Feature(ee.Geometry.Point([117.99007526593667, 27.69062418939234]),{"class": 2,"system:index": "35"}),ee.Feature(ee.Geometry.Point([117.9949246998356, 27.690415187893553]),{"class": 2,"system:index": "36"}),ee.Feature(ee.Geometry.Point([118.01857105451089, 27.68891416537466]),{"class": 2,"system:index": "37"}),ee.Feature(ee.Geometry.Point([118.01900020795327, 27.68986418202437]),{"class": 2,"system:index": "38"}),ee.Feature(ee.Geometry.Point([117.9917918797062, 27.69729302713241]),{"class": 2,"system:index": "39"}),ee.Feature(ee.Geometry.Point([117.99237123685342, 27.700712785876817]),{"class": 2,"system:index": "40"}),ee.Feature(ee.Geometry.Point([117.98953882413369, 27.698926925233952]),{"class": 2,"system:index": "41"}),ee.Feature(ee.Geometry.Point([118.01223736321809, 27.701041004834394]),{"class": 2,"system:index": "42"}),ee.Feature(ee.Geometry.Point([118.01704388177278, 27.702503864505786]),{"class": 2,"system:index": "43"}),ee.Feature(ee.Geometry.Point([117.98816144400777, 27.704502841445205]),{"class": 2,"system:index": "44"}),ee.Feature(ee.Geometry.Point([117.99522101813497, 27.705433724880795]),{"class": 2,"system:index": "45"}),ee.Feature(ee.Geometry.Point([117.99419104987325, 27.7048447995485]),{"class": 2,"system:index": "46"}),ee.Feature(ee.Geometry.Point([117.9948133223647, 27.70402789785718]),{"class": 2,"system:index": "47"}),ee.Feature(ee.Geometry.Point([117.99344003134908, 27.70304000857207]),{"class": 2,"system:index": "48"}),ee.Feature(ee.Geometry.Point([117.99688042356524, 27.70993614554886]),{"class": 2,"system:index": "49"}),ee.Feature(ee.Geometry.Point([117.99430550291095, 27.71098096212974]),{"class": 2,"system:index": "50"}),ee.Feature(ee.Geometry.Point([117.99703062727008, 27.71134189644106]),{"class": 2,"system:index": "51"}),ee.Feature(ee.Geometry.Point([117.9966643024687, 27.713614473109743]),{"class": 2,"system:index": "52"}),ee.Feature(ee.Geometry.Point([117.99709345591108, 27.71465925445728]),{"class": 2,"system:index": "53"}),ee.Feature(ee.Geometry.Point([117.99693296013805, 27.716507327986722]),{"class": 2,"system:index": "54"}),ee.Feature(ee.Geometry.Point([118.00266215859386, 27.717666054139926]),{"class": 2,"system:index": "55"}),ee.Feature(ee.Geometry.Point([118.00352046547863, 27.719565578574873]),{"class": 2,"system:index": "56"}),ee.Feature(ee.Geometry.Point([118.00132114742435, 27.721678040385616]),{"class": 2,"system:index": "57"}),ee.Feature(ee.Geometry.Point([118.00535518978275, 27.723976376179927]),{"class": 2,"system:index": "58"}),ee.Feature(ee.Geometry.Point([118.00119240139163, 27.72433726748188]),{"class": 2,"system:index": "59"}),ee.Feature(ee.Geometry.Point([117.99153644893802, 27.723254589992074]),{"class": 2,"system:index": "60"}),ee.Feature(ee.Geometry.Point([118.00112802837528, 27.726445608579365]),{"class": 2,"system:index": "61"}),ee.Feature(ee.Geometry.Point([118.00318796489871, 27.725552892551452]),{"class": 2,"system:index": "62"}),ee.Feature(ee.Geometry.Point([118.00281211836311, 27.728601094131005]),{"class": 2,"system:index": "63"}),ee.Feature(ee.Geometry.Point([118.00394937498542, 27.72797430667436]),{"class": 2,"system:index": "64"}),ee.Feature(ee.Geometry.Point([118.00613805754158, 27.73084230464139]),{"class": 2,"system:index": "65"}),ee.Feature(ee.Geometry.Point([118.01287576658699, 27.729398818408594]),{"class": 2,"system:index": "66"}),ee.Feature(ee.Geometry.Point([118.01864788038704, 27.734034911973474]),{"class": 2,"system:index": "67"}),ee.Feature(ee.Geometry.Point([118.02130863172981, 27.73314225810355]),{"class": 2,"system:index": "68"}),ee.Feature(ee.Geometry.Point([118.02261120789953, 27.736143496036096]),{"class": 2,"system:index": "69"})]),soil = /* color: #0000ff *//* shown: false */ee.FeatureCollection([ee.Feature(ee.Geometry.Point([118.12697598419179, 27.864932623332113]),{"class": 3,"system:index": "0"}),ee.Feature(ee.Geometry.Point([118.12734076461781, 27.863623706481064]),{"class": 3,"system:index": "1"}),ee.Feature(ee.Geometry.Point([118.12719056091298, 27.862371684266098]),{"class": 3,"system:index": "2"}),ee.Feature(ee.Geometry.Point([118.12639662704457, 27.86165081642995]),{"class": 3,"system:index": "3"}),ee.Feature(ee.Geometry.Point([118.12897154769887, 27.860664357937566]),{"class": 3,"system:index": "4"}),ee.Feature(ee.Geometry.Point([118.12974402389516, 27.86379443566249]),{"class": 3,"system:index": "5"}),ee.Feature(ee.Geometry.Point([118.1281132408141, 27.86646915772455]),{"class": 3,"system:index": "6"}),ee.Feature(ee.Geometry.Point([118.14094492874135, 27.858198172429926]),{"class": 3,"system:index": "7"}),ee.Feature(ee.Geometry.Point([118.13152501068105, 27.857496247836067]),{"class": 3,"system:index": "8"}),ee.Feature(ee.Geometry.Point([118.13081690750111, 27.85816023067619]),{"class": 3,"system:index": "9"}),ee.Feature(ee.Geometry.Point([118.12605330429066, 27.85774287050858]),{"class": 3,"system:index": "10"}),ee.Feature(ee.Geometry.Point([118.1152171798705, 27.857287566674955]),{"class": 3,"system:index": "11"}),ee.Feature(ee.Geometry.Point([118.11146208724965, 27.859450242853374]),{"class": 3,"system:index": "12"}),ee.Feature(ee.Geometry.Point([118.12663266143788, 27.85751521883078]),{"class": 3,"system:index": "13"}),ee.Feature(ee.Geometry.Point([118.1481842362546, 27.854852775644414]),{"class": 3,"system:index": "14"}),ee.Feature(ee.Geometry.Point([118.15063041087618, 27.854321573491983]),{"class": 3,"system:index": "15"}),ee.Feature(ee.Geometry.Point([118.15406363841524, 27.85555471735388]),{"class": 3,"system:index": "16"}),ee.Feature(ee.Geometry.Point([118.15580170985689, 27.861777137024227]),{"class": 3,"system:index": "17"}),ee.Feature(ee.Geometry.Point([118.15410655375948, 27.859690389746408]),{"class": 3,"system:index": "18"}),ee.Feature(ee.Geometry.Point([118.15374177333345, 27.858400380427042]),{"class": 3,"system:index": "19"}),ee.Feature(ee.Geometry.Point([118.16807682553161, 27.866047789162426]),{"class": 3,"system:index": "20"}),ee.Feature(ee.Geometry.Point([118.16644604245056, 27.86760327697223]),{"class": 3,"system:index": "21"}),ee.Feature(ee.Geometry.Point([118.16232616940368, 27.86720492246486]),{"class": 3,"system:index": "22"}),ee.Feature(ee.Geometry.Point([118.16129620114197, 27.86676862775276]),{"class": 3,"system:index": "23"}),ee.Feature(ee.Geometry.Point([118.15249588122992, 27.839884547206516]),{"class": 3,"system:index": "24"}),ee.Feature(ee.Geometry.Point([118.14839746585517, 27.84045376803799]),{"class": 3,"system:index": "25"}),ee.Feature(ee.Geometry.Point([118.1504574023786, 27.839960443489947]),{"class": 3,"system:index": "26"}),ee.Feature(ee.Geometry.Point([118.14335491290717, 27.840131209933514]),{"class": 3,"system:index": "27"}),ee.Feature(ee.Geometry.Point([118.1429472171369, 27.839713780374698]),{"class": 3,"system:index": "28"}),ee.Feature(ee.Geometry.Point([118.13955690494208, 27.83927737502769]),{"class": 3,"system:index": "29"}),ee.Feature(ee.Geometry.Point([118.14000751605658, 27.84009326185818]),{"class": 3,"system:index": "30"}),ee.Feature(ee.Geometry.Point([118.1372180186811, 27.840928116449398]),{"class": 3,"system:index": "31"}),ee.Feature(ee.Geometry.Point([118.13468601337104, 27.840264028092694]),{"class": 3,"system:index": "32"}),ee.Feature(ee.Geometry.Point([118.13439602524298, 27.84512126619499]),{"class": 3,"system:index": "33"}),ee.Feature(ee.Geometry.Point([118.13270086914557, 27.841478358008185]),{"class": 3,"system:index": "34"}),ee.Feature(ee.Geometry.Point([118.13137049347418, 27.84064350765146]),{"class": 3,"system:index": "35"}),ee.Feature(ee.Geometry.Point([118.1218411579067, 27.84278819509014]),{"class": 3,"system:index": "36"}),ee.Feature(ee.Geometry.Point([118.12353631400411, 27.84455272271409]),{"class": 3,"system:index": "37"}),ee.Feature(ee.Geometry.Point([118.12302132987325, 27.840966717112924]),{"class": 3,"system:index": "38"}),ee.Feature(ee.Geometry.Point([118.1247594013149, 27.84092876932982]),{"class": 3,"system:index": "39"}),ee.Feature(ee.Geometry.Point([118.11413785361593, 27.842408723033746]),{"class": 3,"system:index": "40"}),ee.Feature(ee.Geometry.Point([118.12651381832217, 27.83464015847956]),{"class": 3,"system:index": "41"}),ee.Feature(ee.Geometry.Point([118.12680087412714, 27.78517019896236]),{"class": 3,"system:index": "42"}),ee.Feature(ee.Geometry.Point([118.12765918101191, 27.78585360778786]),{"class": 3,"system:index": "43"}),ee.Feature(ee.Geometry.Point([118.1576999219787, 27.786726846147626]),{"class": 3,"system:index": "44"}),ee.Feature(ee.Geometry.Point([118.15731368388056, 27.784980362415222]),{"class": 3,"system:index": "45"}),ee.Feature(ee.Geometry.Point([118.12190852488398, 27.791624444362682]),{"class": 3,"system:index": "46"}),ee.Feature(ee.Geometry.Point([118.11323962534784, 27.77799414698886]),{"class": 3,"system:index": "47"}),ee.Feature(ee.Geometry.Point([118.17710684567568, 27.759924272859696]),{"class": 3,"system:index": "48"}),ee.Feature(ee.Geometry.Point([118.22038309655893, 27.69556058531194]),{"class": 3,"system:index": "49"})]);