这里我们在完成上一次的遥感生态指数,这里我们采用上一次已经得到的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);
结果: