GEE:GEE中实现简单计算器

news2024/11/25 22:59:35

作者: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.coloradmin.cn/o/1167467.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二十、泛型(1)

本章概要 基本概念 与 C 的比较 简单泛型 一个元组类库一个堆栈类RandomList 基本概念 普通的类和方法只能使用特定的类型&#xff1a;基本数据类型或类类型。如果编写的代码需要应用于多种类型&#xff0c;这种严苛的限制对代码的束缚就会很大。 多态是一种面向对象思想的泛…

预制构建生产管理系统

在建筑施工领域&#xff0c;预制构件的使用越来越广泛&#xff0c;它能够提高工程质量和施工效率&#xff0c;减少施工现场对环境的影响。通过凡尔码的二维码管理平台&#xff0c;系统从&#xff1a;生产过程、生产数据、生产计划、生产管理、成品交付等多个环节、工序和流程进…

mermaid学习第一天/更改主题颜色和边框颜色/《需求解释流程图》

mermaid 在线官网&#xff1a; https://mermaid-js.github.io/ 在线学习文件&#xff1a; https://mermaid.js.org/syntax/quadrantChart.html 1、今天主要是想做需求解释的流程图&#xff0c;又不想自己画&#xff0c;就用了&#xff0c;框框不能直接进行全局配置&#xff0…

如何助力机构单位提升运营效率?有什么靠谱的大数据管理平台?

随着数字化时代的到来&#xff0c;大数据管理平台已成为机构单位提高效率、优化资源配置的关键工具。其中&#xff0c;工单管理系统作为大数据管理平台的重要组成部分&#xff0c;对于机构单位运营的优化和提升具有举足轻重的地位。本文小编将为您介绍一款优秀的工单管理系统—…

Zygote进程通信为什么用Socket而不是Binder?

Zygote进程是Android系统中的一个特殊进程&#xff0c;它在系统启动时被创建&#xff0c;并负责孵化其他应用进程。它的主要作用是预加载和共享应用进程的资源&#xff0c;以提高应用启动的速度。 在Android系统中&#xff0c;常用的进程通信方式有以下几种&#xff1a; Intent…

概率论和数理统计(一)基本概念

前言 生活中对于事件的发生,可以概括为 确定现象&#xff1a;在一定条件下必然发生&#xff0c;如日出随机现象&#xff1a;在个别试验中其结果呈现出不确定性&#xff0c;在大量重复试验中其结果又具有统计规律的现象&#xff0c;称之为随机现象。 随机现象的特点&#xff…

独家分享 | BI零售数据分析模板,可视化,更易懂

“人、货、场”是零售数据分析的三大关键&#xff0c;只要能又快又透彻地掌握这三大关键的数据情况&#xff0c;即可为零售运营决策提供关键的数据支持&#xff0c;提高盈利、降低成本、优化采购库存结构等。奥威BI软件这套BI零售数据分析模板套装围绕“人、货、场”预设了数十…

低代码平台如火如荼,告诉我它具体能做什么?

目录 一、前言 二、低代码平台 三、低代码平台的优劣 四、低代码能解决哪些问题&#xff1f; 五、好用且强大的低代码平台 六、结语 一、前言 目前低代码平台如火如荼。这一新兴技术为企业提供了一种高效、灵活、快速开发应用程序的方法&#xff0c;并在短时间内取得了巨大成功…

游戏中找不到d3dx9_43.dll怎么办,教你快速解决方法

在计算机的世界里&#xff0c;我们经常会遇到一些让人头疼的问题。比如&#xff0c;有一天&#xff0c;小明正在玩他最喜欢的游戏&#xff0c;突然弹出了一个错误提示&#xff1a;“由于找不到d3dx9_43.dll,无法继续执行代码”。小明感到非常困惑&#xff0c;不知道这是什么意思…

【python VS vba】(5) 在python中使用xlwt操作Excel(待完善ing)

目录 1 什么是xlwt 2 导入xlwt 3 相关语法 3.1 创建新的workbook 3.2 创建新的sheet 3.3 保存workbook 4 python里表格的形式 4.1 矩阵 4.2 EXCEL的数据形式 完全等于矩阵的数字结构 4.3 python里矩阵 5 具体代码 5.1 代码 5.2 结果 5.3 要注意的问题 5.3.1 不能…

PostgreSQL manual

set path D:\DB\PostgreSQL\16\binconnect to database –h is host name -p is port number -d is database name -U is for user name psql -h localhost -p 5432 -d postgres -U postgresexport dump file 參考 pg_dump -h 192.168.1.1 -U uesername dbname > dbna…

项目实现思路-建设工程监理现场用表管理系统

项目实现思路-建设工程监理现场用表管理系统 文章目录 项目实现思路-建设工程监理现场用表管理系统1.架构&#xff08;B/S&#xff09;2.主要功能3.**技术细节**3.1 总体概要3.2 **技术细节之流程审批**3.3 **技术细节之电子签名和公章** 1.架构&#xff08;B/S&#xff09; 系…

期中成绩怎么发布?

作为一名老师&#xff0c;期中考试结束后&#xff0c;你可能正在为如何发布成绩而烦恼。传统的纸质方式不仅耗时而且容易出错&#xff0c;那么有没有一种方式可以让学生自助查询成绩呢&#xff1f;答案是肯定的。下面就为你介绍几种实用的方法&#xff0c;让成绩发布变得轻松又…

2024天津理工大学中环信息学院专升本机械设计制造自动化专业考纲

2024年天津理工大学中环信息学院高职升本科《机械设计制造及其自动化》专业课考试大纲《机械设计》《机械制图》 《机械设计》考试大纲 教 材&#xff1a;《机械设计》&#xff08;第十版&#xff09;&#xff0c;高等教育出版社&#xff0c;濮良贵、陈国定、吴立言主编&#…

代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零

代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零 文章链接&#xff1a;最后一块石头的重量 II 目标和 一和零 视频链接&#xff1a;最后一块石头的重量 II 目标和 一和零 1. LeetCode 1049. 最后一块石头的重量 II 1.1 思路…

四川天蝶电子商务有限公司:短视频运营怎么样?

短视频是一种以短小精悍的内容来吸引用户的新型媒体形式&#xff0c;近年来在社交网络平台上迅速走红&#xff0c;成为当今互联网世界的新宠。然而&#xff0c;要想成功运营短视频&#xff0c;需要借助一系列的策略和技巧&#xff0c;通过精心的规划和执行&#xff0c;才能够吸…

实用-----七牛云绑定自定义域名 配置 HTTPS

实用-----七牛云绑定自定义域名 配置 HTTPS&#xff08;无废话 无尿点&#xff09; 1.访问SSL证书购买页面 https://portal.qiniu.com/certificate/ssl 2.购买免费证书 3.补全信息 注意&#xff1a; 域名直接输入 无需 www座机号随意填 区号需要搜索 下面为示例 4. 直接确认…

2019年408真题复盘

紫色标记是认为有一定的思维难度或重点总结 红色标记是这次刷真题做错的 记录自己对题目的一些想法与联系&#xff0c;可能并不太关注题目本身。 分数用时 选择部分 80/8036min大题部分41/7094min总分121130min 摘自知乎老哥&#xff1a;“我做历年真题时&#xff0c;绝大部分…

为什么要强调AI技术与边缘智能结合?应用场景有哪些?

随着城市规模扩大所带来的公共安全问题越来越受到重视。传统城市安全视频监控系统前端摄像机内置计算能力较低&#xff0c;以边缘计算和万物互联技术为基础的新型视频监控系统是未来发展趋势。在移动计算和物联网进步的推动下&#xff0c;数十亿移动和物联网设备连接到互联网&a…

linux入门到精通-第五章-动态库和静态库

目录 参考概述1、静态链接2 、动态链接3 、静态、动态编译对比 静态库和动态库简介传统编译 静态库制作和使用1、创建静态库的过程2、使用静态库 动态库制作和使用1、创建动态库的过程1&#xff09;、生成目标文件&#xff0c;此时要加编译选项&#xff1a;-fPIC &#xff08;f…