当前位置: 首页 > news >正文

GEE:GEE中实现简单计算器

作者:CSDN @ _养乐多_

本文记录了在 Google Earth Engine(GEE)上实现简单计算器的代码。

APP链接:https://949384116.users.earthengine.app/view/simplecalculator

在这里插入图片描述


文章目录

      • 一、完整代码
      • 二、代码链接


一、完整代码

// 定义初始变量
var inputText = ui.Textbox('0', ''); // 文本框用于显示输入和结果
inputText.style().set({width: '194px', textAlign: 'center'}); // 设置文本框宽度和文本居中
var buttons = []; // 数字和运算符按钮
var result = 0; // 保存计算结果// 创建数字按钮(0-9)
for (var i = 0; i <= 9; i++) {buttons.push(ui.Button(i.toString(), function(button) {return function() {var currentInput = inputText.getValue();if (currentInput === '0') {inputText.setValue(button);} else {inputText.setValue(currentInput + button);}};}(i.toString())));
}// 创建运算符按钮(+、-、*、/)
var operators = ['+', '-', '*', '/'];
for (var j = 0; j < operators.length; j++) {buttons.push(ui.Button(operators[j], function(operator) {return function() {var currentInput = inputText.getValue();if (!isNaN(parseFloat(currentInput))) {result = eval(currentInput); // 使用eval计算结果inputText.setValue(result + operator);}};}(operators[j])));
}// 创建等号按钮
buttons.push(ui.Button('=', function() {var currentInput = inputText.getValue();if (!isNaN(parseFloat(currentInput))) {result = eval(currentInput);inputText.setValue(result.toString());}
}));// 创建小数点按钮
buttons.push(ui.Button('.', function() {var currentInput = inputText.getValue();if (currentInput.indexOf('.') === -1) {inputText.setValue(currentInput + '.');}
}));// 创建清空按钮
buttons.push(ui.Button('清空', function() {inputText.setValue('0');result = 0;
}));// 创建一个面板来容纳按钮
// var buttonPanel = ui.Panel(buttons, ui.Panel.Layout.flow('horizontal'));
var row1Panel = ui.Panel([inputText, buttons[16]], ui.Panel.Layout.flow('horizontal'));
var row2Panel = ui.Panel([buttons[1], buttons[2], buttons[3], buttons[10]], ui.Panel.Layout.flow('horizontal'), { color : '#8E8E8E',border: ''});
var row3Panel = ui.Panel([buttons[4], buttons[5], buttons[6], buttons[11]], ui.Panel.Layout.flow('horizontal'), { color : '#8E8E8E',border: ''});
var row4Panel = ui.Panel([buttons[7], buttons[8], buttons[9], buttons[12]], ui.Panel.Layout.flow('horizontal'), { color : '#8E8E8E',border: ''});
var row5Panel = ui.Panel([buttons[13], buttons[0], buttons[15], buttons[14]], ui.Panel.Layout.flow('horizontal'), { color : '#8E8E8E',border: ''});// 创建一个面板来容纳界面元素
var panel = ui.Panel([// buttonPanel,row1Panel,row2Panel,row3Panel,row4Panel,row5Panel
]);// 在地图上显示面板
Map.add(ui.Panel(panel));

二、代码链接

https://code.earthengine.google.com/4607cd48d41ced0af8d7fcaccd3e94e0?noload=true

声明:
本人作为一名作者,非常重视自己的作品和知识产权。在此声明,本人的所有原创文章均受版权法保护,未经本人授权,任何人不得擅自公开发布。
本人的文章已经在一些知名平台进行了付费发布,希望各位读者能够尊重知识产权,不要进行侵权行为。任何未经本人授权而将付费文章免费或者付费(包含商用)发布在互联网上的行为,都将视为侵犯本人的版权,本人保留追究法律责任的权利。
谢谢各位读者对本人文章的关注和支持!

http://www.lryc.cn/news/216840.html

相关文章:

  • 概念解析 | 神经网络中的位置编码(Positional Encoding)
  • 【ubuntu】搭建lamp架构
  • GNU ld(链接器)的主要功能
  • springboot整合FTP实现文件传输
  • Spring Boot 2.x.x 升级至 Spring Boot 3.x.x
  • 光电直读水表支持短时间多次抄表吗
  • 家庭私人影院 - Windows搭建Emby媒体库服务器并远程访问 「无公网IP」
  • 核心舱在轨飞行VR沉浸式互动体验满足大家宇宙探险的心愿
  • k8s集群中namespace状态一直显示Terminating
  • 数据库高速缓存配置
  • 性能优化之懒加载 - 基于观察者模式和单例模式的实现
  • 【LeetCode刷题-链表】--1290.二进制链表转整数
  • 搭建Radius认证服务器 安当加密
  • Windows11恢复组策略编辑器功能的方法
  • Django实战项目-学习任务系统-查询列表分页显示
  • Git 拉取指定TAG/分支的代码
  • 2-爬虫-代理池搭建、代理池使用(搭建django后端测试)、爬取某视频网站、爬取某视频网站、bs4介绍和遍历文档树
  • 动手学深度学习——残差网络ResNet(原理解释+代码详解)
  • MYSQL 8.0 配置CDC(binlog)
  • 软件测试/测试开发丨ChatGPT能否成为PPT最佳伴侣
  • java对象的创建过程
  • Salesforce创建一个页面,能够配置各种提示语,而不需要修改代码
  • 轻松管理MySQL权限:Python脚本带你飞
  • Py之transformers_stream_generator:transformers_stream_generator的简介、安装、使用方法之详细攻略
  • 2023年Zotero最新同步教程-使用TeraCloud的25G免费空间实时跨设备同步文献
  • 面试题:用宏定义写出swap(x,y),即交换两数。
  • 微服务框架SpringcloudAlibaba+Nacos集成RabbitMQ
  • 低代码开发,一场深度的IT效率革命
  • 虚拟串口软件使用介绍
  • 如何编写一份完整的软件测试报告?(进阶版)百分之90不知道