这里我们在完成上一次的遥感生态指数,这里我们采用上一次已经得到的RSEI中,进行一个广东省市级区域RSEI的平均值,这里广东省中的7个地级市的生态遥感指数。
ui.Chart.PIEFeature.byFeature(features,xProperty,yProperty)
通过制定矢量数据的feature绘制
方法参数:
- ui(ui.Chart.PIEFeature.byFeature)
调用者:ui.Chart.PIEFeature对象。
- features(Object|List)
feature、featureCollection、list、矢量数据或者列表
- xProperty(List)
x轴属性参数
- yProperty(List)
列表,y轴参数(矢量数据的属性)
返回值:ui.Chart.PIEFeature.byFeature
setChartType(type)
设置图表类型
方法参数:
- ui(ui.Chart.PIEFeature.setChartType)
调用者:ui.Chart.PIEFeature对象。
- type(String)
设置图表的类型。
返回值:ui.Chart
setSeriesNames(value)
设置图标图例
方法参数:
- ui(ui.Chart.PIEFeature.setSeriesNames)
调用者:ui.Chart.PIEFeature对象。
- value(Array)
设置图表图例的内容。
返回值:ui.Chart
setOptions(data)
设置图表基本信息
方法参数:
- ui(ui.Chart.PIEFeature.setOptions)
调用者:ui.Chart.PIEFeature对象。
- data(Object)
设置图表配置信息。
返回值:ui.Chart
reduceRegion(reducer,geometry,scale)
对特定区域的所有像素进行统计,返回结果为一个JSON对象;目前可完成最大、最小和求和统计计算。
方法参数:
- image(Image)
Image实例。
- reducer(Reducer)
统计类型,包括最大值、最小值和求和。
- geometry(Geometry)
统计区域范围。默认是影像第一个波段的范围。
- scale(Number)
统计采样比例。
返回值:Dictionary
代码:
/** * @Name : 广东省遥感生态指数研究 * @Author : 广州大学张三的组 * @Source : 航天宏图第四届 “航天宏图杯”PIE软件二次开发大赛云开发组三等奖获奖作品 * @Description : 2、计算展示分析RSEI */ var province = pie.FeatureCollection('NGCC/CHINA_PROVINCE_BOUNDARY'); var gd = province.filter(pie.Filter.eq("name","广东省")).first().geometry(); //导入归一化后且PCA处理完成影像 var RSEI = pie.Image('user/pieadmin/saas/07/rsei_guangdong').select('B1').clip(gd); var aveRSEI = pie.Number(RSEI.reduceRegion(pie.Reducer.mean(),gd,75).get('B1')) var rseiVis = { min: 0, max: 1, palette: [ 'FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901', '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01', '012E01', '011D01', '011301' ], }; //RSEI可视化渲染 Map.addLayer(RSEI,rseiVis,'RSEI'); //导入市级行政区矢量 var city = pie.FeatureCollection('NGCC/CHINA_CITY_BOUNDARY') .filter(pie.Filter.eq("pname", "广东省")); //构建函数输出广东市级RSEI function rsei(region){ var aveRSEI = pie.Number(RSEI.reduceRegion(pie.Reducer.mean(),region,1000).get('B1')); return aveRSEI; } city = city.map(function(feature) { feature = pie.Feature(feature); var data = rsei(feature.geometry()); feature = feature.set("rsei", data); return feature; }); var chart = ui.Chart.PIEFeature.byFeature({ features: city, xProperty: "name", yProperties: ["rsei"] }).setChartType("bar") .setSeriesNames(['2020年12月']) .setOptions({ title: { name: "广东省市级区域RSEI归一化平均值" }, xAxis: { name: "RSEI指数" }, yAxis: { name: "市级地区" } }) print(chart);
结果: