GEE学习计划 Day·5

跟着知乎大佬 无形的风 学GEE Day·5
大纲:地图组件Map、地图图例生成

一、地图组件Map

Map组件即打开影像时所使用的默认界面,常用方法包括添加组件、图层到Map上,以及对象居中显示、清理Map、获取Map信息(边界、分辨率、中心、缩放级别)、插入组件到指定位置、获取所有图层、移除组件、获取样式、获取组件等。

var maps=[]
var map = ui.Map();构造map
map.add(ui.panel([label,btn],ui.Panel.Layout.Flow("horizontal")));插入定义好的label和button组件
map.add(ui.Label(name));插入label组件
map.setControlVisibility(false);隐藏地图上所有操作组件
maps.push(map);插入列表

var linker = ui.Map.Linker(maps);
var leftPanel = ui.Panel([maps[0],maps[1]],null,{stretch:'both'});定义左面板由maps中前两个对象组成,同等可以定义右面板内容,进而实现地图要素的四分显示
var mainPanel = ui.Panel();
mainPanel.style().set("stretch","both");
mainPanel.setLayout(ui.Panel.Layout.Flow('horizontal'));
mainPanel.add(leftPanel);分别插入左右面板
mainPanel.add(rightPanel);
ui.root.clear();清空原始地图
ui.root.add(mainPanel);添加新的面板

(本代码仅作Map用法调用练习,非可执行代码,具体代码详见https://zhuanlan.zhihu.com/p/30863659)

二、地图图例生成

为分类图像添加图例,通过自定义颜色列表和说明文字列表,实现图例的构造,图像图层颜色通过Map.addLayer( ClassificationResult, {palette:palette,min:0,max:palette.length-1},“Classification”);实现与图例的统一

function addLegend(palette, names){
 var legend = ui.Panel({
   style:{
     position:'bottom-right',
     padding:'5px 10px'
     }
     });
     var title = ui.Label({
     value:'Classification',
     style:{
       fontWeight:'bold',
       color:"red",
       fontsize:'16px'
       }
      });
    legend.add(title);
   var addLegendLabel = function(color,name){
       var showColor = ui.Label({
         style:{
           backgroudColor:'#'+color,
           padding:'8px',
           margin:'0 0 4px 0'
         }
        });
       var desc = ui.Label({
         value:name,
         style:{margin:'0 0 4px 8px'}
       });
       return ui.Panel({
         widgets:[showColor, desc],
         layout:ui.Panel.Layout.Flow('horizontal')
         });
};
 for (var i=0; i<palette.length;i++){
   var label = addLegendLabel(palette[i],names[i]);
   legend.add(label);
   }
Map.add(legend);
}         
//定义颜色列表和说明列表
var palette = [...]
var names = [...]
addLegend(palette, names);


详见:https://zhuanlan.zhihu.com/p/31186964

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值