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

Cesium 空间量算——生成点位坐标

文章目录

    • 需求
    • 分析
      • 1. 点击坐标点实现
      • 2. 输入坐标实现

需求

用 Cesium 生成点位坐标,并明显标识

分析

以下是我的两种实现方式
第一种是坐标点击实现
第二种是输入坐标实现

1. 点击坐标点实现

在这里插入图片描述

//点位坐标getLocation() {this.hoverIndex = 0;let that = this;this.viewer.screenSpaceEventHandler.setInputAction(function(movement) {var position = viewer.scene.pickPosition(movement.position);var cartographicPos = Cesium.Cartographic.fromCartesian(position);var lonDegree = Cesium.Math.toDegrees(cartographicPos.longitude);var latDegree = Cesium.Math.toDegrees(cartographicPos.latitude);var text = "经度:" + lonDegree.toFixed(6);text += "\n纬度:";text += latDegree.toFixed(6);text += "\n高度:";text += cartographicPos.height.toFixed(2);text += "米";var labelEntity = viewer.entities.add({position: Cesium.Cartesian3.clone(position),billboard: {position: Cesium.Cartesian3.clone(position),verticalOrigin: Cesium.VerticalOrigin.BOTTOM,image: "/static/images/spaceComputed/menu_icon_lv1_1_trenddraw.png",},label: {text: text,font: "18px sans-serif",horizontalOrigin: Cesium.HorizontalOrigin.LEFT,verticalOrigin: Cesium.VerticalOrigin.BASELINE,style: Cesium.LabelStyle.FILL_AND_OUTLINE,fillColor: Cesium.Color.WHITE,outlineColor: Cesium.Color.RED,outlineWidth: 1.0,heightReference: Cesium.HeightReference.NONE,pixelOffset: new Cesium.Cartesian2(18.0, -18)},});that.pointLocationLabels.push(labelEntity);}, Cesium.ScreenSpaceEventType.LEFT_CLICK);},

2. 输入坐标实现

以下是一个简单的 Cesium 输入生成点位坐标的demo,包含了一个用于输入经纬度和高度的表单和一个用于显示地图的div容器:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Cesium Demo</title><script src="https://cesium.com/downloads/cesiumjs/releases/1.82/Build/Cesium/Cesium.js"></script><link href="https://cesium.com/downloads/cesiumjs/releases/1.82/Build/Cesium/Widgets/widgets.css" rel="stylesheet"><style>#cesiumContainer {width: 800px;height: 500px;margin: 10px auto;}form {width: 800px;margin: 10px auto;text-align: center;}input[type="text"], input[type="number"] {width: 100px;margin-right: 10px;}input[type="submit"] {padding: 5px 10px;background-color: #4CAF50;color: #fff;border: none;cursor: pointer;}</style>
</head>
<body><div id="cesiumContainer"></div><form method="post">经度:<input type="text" name="lon" id="lon">纬度:<input type="text" name="lat" id="lat">高度:<input type="number" name="height" id="height"><input type="submit" value="生成点位"></form><script>var viewer = new Cesium.Viewer('cesiumContainer');var entity;function addPoint(lon, lat, height) {if (entity) {viewer.entities.remove(entity);}entity = viewer.entities.add({name: 'Point',position: Cesium.Cartesian3.fromDegrees(lon, lat, height),point: {pixelSize: 10,color: Cesium.Color.YELLOW}});viewer.zoomTo(entity);}document.querySelector('form').addEventListener('submit', function (event) {event.preventDefault();var lon = parseFloat(document.querySelector('#lon').value);var lat = parseFloat(document.querySelector('#lat').value);var height = parseFloat(document.querySelector('#height').value) || 0;addPoint(lon, lat, height);});</script>
</body>
</html>

在上述代码中,我们创建了一个用于输入经纬度和高度的表单和一个用于显示地图的div容器,通过Cesium.Viewer对象实现了创建地图的功能。当用户填写表单并提交时,我们调用addPoint函数生成点位坐标,并将地图缩放到包含点位的视野范围内。

相关文章:

Cesium 空间量算——生成点位坐标

文章目录 需求分析1. 点击坐标点实现2. 输入坐标实现 需求 用 Cesium 生成点位坐标&#xff0c;并明显标识 分析 以下是我的两种实现方式 第一种是坐标点击实现 第二种是输入坐标实现 1. 点击坐标点实现 //点位坐标getLocation() {this.hoverIndex 0;let that this;this.view…...

为什么曲面函数的偏导数可以表示其曲面的法向量?

为什么曲面函数的偏导数可以表示其曲面的法向量&#xff1f; 引用资料&#xff1a; 1.知乎shinbade&#xff1a;曲面的三个偏导数为什么能表示法向量&#xff1f; 2.Geogebra羅驥韡 (Pegasus Roe)&#xff1a;偏導數、切平面、梯度 曲面 F ( x , y , z ) 0 F(x,y,z)0 F(x,y,…...

❤Uniapp报npx update-browserslist-db@latest

❤ Uniapp报npx update-browserslist-dblatest 按照提示先更新一下 npx update-browserslist-dblatest然后打开一下端口...

【C++】静态成员函数 ( 静态成员函数概念 | 静态成员函数声明 | 静态成员函数访问 | 静态成员函数只能访问静态成员 )

文章目录 一、静态成员函数简介1、静态成员函数概念2、静态成员函数声明3、静态成员函数访问4、静态成员函数只能访问静态成员 二、代码示例 - 静态成员函数 一、静态成员函数简介 1、静态成员函数概念 静态成员函数归属 : 在 C 类中 , 静态成员函数 是一种 特殊的函数 , 该函数…...

基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(三)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 1、上一节说到RedisReceiver &#xff0c;这里有调用了NbcioRedisListener自定义业务监听&#xff0c;如下…...

用友第五届开发者大赛初赛晋级公示,复赛火热进行中!

用友第五届开发者大赛初赛晋级公示&#xff0c;复赛火热进行中&#xff01; 自7月13日鸣锣揭幕&#xff0c;9月6日各赛道作品初评工作完成&#xff0c;历时近两月&#xff0c;用友第五届企业云服务开发者大赛初赛阶段顺利落下帷幕。作为备受各界开发者关注的赛事&#xff0c;本…...

SSL证书如何做到保障网站安全?

当网站显示不安全时&#xff0c;用户会在头脑中产生该网站是否合法的疑问&#xff0c;如果是购物网站或者购物商城&#xff0c;那意味着可能会损失大部分的用户。而SSL证书能有效保障网站的安全性&#xff0c;轻松解决网站不被用户信任的问题。那么&#xff0c;SSL证书究竟是如…...

C# Onnx Yolov8 Detect Poker 扑克牌识别

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System…...

想要精通算法和SQL的成长之路 - 最长等差数列

想要精通算法和SQL的成长之路 - 最长等差数列 前言一. 最长等差数列 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 最长等差数列 原题链接 思路&#xff1a; 我们假设dp[i][j] 为&#xff1a;以num[i]为结尾&#xff0c;以j为公差的最长等差子序列的长度。由此可知&a…...

【简单的自动曝光】python实现-附ChatGPT解析

1.题目 一个图像有 n 个像素点,存储在一个长度为 n 的数组 img 里, 每个像素点的取值范围[0,255] 的正整数。 请你给图像每个像素点值,加上一个整数 k (可以是负数),得到新图 newImg , 使得新图newImg 的所有像素平均值最接近中位值 128。 请输出这个整数 k。 输入描述 n …...

网工内推 | 运维工程师,CCNP认证优先,周末双休,多次调薪机会

01 驻场运维 职责描述&#xff1a; 1、驻场某大型汽车整车厂&#xff0c;配合客户完成网络相关&#xff08;路由交换&#xff09;的项目。 2、按照客户要求&#xff0c;与项目组配合共同完成项目前期调研&#xff0c;设计&#xff0c;规划&#xff0c;项目中期调试测试&#…...

LeetCode 1337. The K Weakest Rows in a Matrix【数组,二分,堆,快速选择,排序】1224

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…...

如何使用Spring提供的Retry

0、本例中使用的是 springboot-2.0.4.RELEASE&#xff0c;jdk1.8 1、导包。需要注意版本。2.0.0需要spring6和jdk17 <dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId><version>1.3.4<…...

【ONE·Linux || 进程间通信】

总言 进程间通信&#xff1a;简述进程间通信&#xff0c;介绍一些通信方式&#xff0c;管道通信&#xff08;匿名、名命&#xff09;、共享内存等。 文章目录 总言1、进程间通信简述2、管道2.1、简介2.2、匿名管道2.2.1、匿名管道的原理2.2.2、编码理解&#xff1a;用fork来共…...

207.Flink(二):架构及核心概念,flink从各种数据源读取数据,各种算子转化数据,将数据推送到各数据源

一、Flink架构及核心概念 1.系统架构 JobMaster是JobManager中最核心的组件,负责处理单独的作业(Job)。一个job对应一个jobManager 2.并行度 (1)并行度(Parallelism)概念 一个特定算子的子任务(subtask)的个数被称之为其并行度(parallelism)。这样,包含并行子任…...

debian终端快捷键设置

为了方便使用图形化debian&#xff0c;快捷调出shell终端是提升工作学习效率的最重要的一步。 1.首先点击右上角&#xff0c;选择设置 2.点击键盘&#xff0c;选择快捷键&#xff0c;并创建自定义快捷键 3.点击添加快捷键 4.根据图中提示创建快捷键 Name: Terminal Command…...

原生ajax

什么是Ajax Asynchronous JavaScript and xml 异步的 js 和 xml(数据承载方式) &#xff0c;本质&#xff1a;使用js提供的异步对象XMLHttpRequest 异步的向服务器提交请求&#xff0c;并且接受服务器响应回来的数据。 使用ajax 1.创建异步对象 var xhrnew XMLHttp…...

面试题库(五):并发编程

多线程类的使用 java线程同步有哪些方法、各自的优缺点synchronized 和ReentrantLock区别,可重入锁是什么?threadlocal有什么用Java中创建线程有几种方式?分别是? 当主线程执行结束后,子线程还会继续执行下去吗?JUC中有哪些常用的集合?(项目中用到的)CopyOnWriteArray…...

Android FileProvider笔记

一、FileProvider是什么 通过FileProvider.getUriForFile(NonNull Context context, NonNull String authority, NonNull File file)方法获得一个有临时权限的Uri给客户端用来访问本APP文件。 当然看FileProvider类的注释更加详细 二、代码示例 <providerandroid:name&q…...

华为云云耀云服务器L实例评测 |云服务器选购

华为云耀云服务器 L 实例是一款轻量级云服务器&#xff0c;开通选择实例即可立刻使用&#xff0c;不需要用户再对服务器进行基础配置。新用户还有专享优惠&#xff0c;2 核心 2G 内存 3M 带宽的服务器只要 89 元/年&#xff0c;可以点击华为云云耀云服务器 L 实例购买地址去购买…...

PTA L1-064 AI核心代码:从‘估值一亿’到‘精准实现’的避坑指南

1. 这道题为什么值"一亿"&#xff1f; PTA L1-064被戏称为"估值一亿"的题目&#xff0c;主要因为它在字符串处理中埋了多个隐蔽的坑点。我第一次做这道题时&#xff0c;看着题目要求觉得规则很明确&#xff0c;不就是几个字符串替换吗&#xff1f;结果提交…...

Markdown Viewer浏览器扩展完全指南:从安装到高级配置

Markdown Viewer浏览器扩展完全指南&#xff1a;从安装到高级配置 【免费下载链接】markdown-viewer Markdown Viewer / Browser Extension 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-viewer Markdown Viewer是一款功能丰富的浏览器扩展&#xff0c;专为提…...

Docker+iredmail搭建企业级邮件服务器全流程(附常见问题排查)

Dockeriredmail搭建企业级邮件服务器全流程指南 邮件系统作为企业日常沟通的核心基础设施&#xff0c;其稳定性和安全性直接影响业务运转效率。传统邮件服务器部署往往需要复杂的配置和漫长的调试周期&#xff0c;而Docker容器化技术结合iredmail开源邮件解决方案&#xff0c;为…...

Laravel Backup隔离模式详解:多服务器环境下的终极安全备份方案

Laravel Backup隔离模式详解&#xff1a;多服务器环境下的终极安全备份方案 【免费下载链接】laravel-backup A package to backup your Laravel app 项目地址: https://gitcode.com/gh_mirrors/la/laravel-backup Laravel Backup包为Laravel应用提供了强大可靠的备份解…...

Framer.js测试策略终极指南:构建可靠UI原型的完整测试方案

Framer.js测试策略终极指南&#xff1a;构建可靠UI原型的完整测试方案 【免费下载链接】Framer Framer - Design Everything 项目地址: https://gitcode.com/gh_mirrors/fr/Framer Framer是一款强大的UI设计和原型工具&#xff0c;能够帮助设计师和开发者快速创建交互丰…...

Java高频面试题:RocketMQ有哪些使用场景?

大家好&#xff0c;我是锋哥。今天分享关于【Java高频面试题&#xff1a;RocketMQ有哪些使用场景&#xff1f;】面试题 。希望对大家有帮助&#xff1b;Java高频面试题&#xff1a;RocketMQ有哪些使用场景&#xff1f;RocketMQ 是阿里巴巴开源的一款分布式消息中间件&#xff0…...

RWKV7-1.5B-g1a多场景落地:HR部门用它自动生成岗位JD要点与面试问题清单

RWKV7-1.5B-g1a多场景落地&#xff1a;HR部门用它自动生成岗位JD要点与面试问题清单 1. 为什么HR部门需要AI助手 招聘工作中有大量重复性文案工作&#xff0c;比如&#xff1a; 为不同岗位编写职位描述(JD)设计结构化面试问题整理岗位核心能力要求制作候选人评估标准 传统方…...

从‘距离’理解生成对抗:Wasserstein距离如何拯救你的GAN项目?通俗图解+代码验证

从Wasserstein距离到实战&#xff1a;如何用数学直觉拯救你的GAN训练&#xff1f; 想象你正在训练一个生成对抗网络&#xff08;GAN&#xff09;&#xff0c;却发现生成器要么完全崩溃&#xff0c;要么反复输出几乎相同的图像——这就是典型的模式坍塌&#xff08;Mode Collaps…...

Quartus-II 9.0实战:从半加器到4位加法器的数字逻辑设计全流程解析

1. 半加器设计&#xff1a;数字逻辑的起点 半加器是数字电路设计中最基础的加法单元&#xff0c;理解它的工作原理对后续学习全加器和多位加法器至关重要。半加器之所以称为"半"&#xff0c;是因为它只能处理两个1位二进制数的相加&#xff0c;不考虑来自低位的进位输…...

3步搞定Qobuz高品质音乐下载:QobuzDownloaderX-MOD完全指南 [特殊字符]

3步搞定Qobuz高品质音乐下载&#xff1a;QobuzDownloaderX-MOD完全指南 &#x1f3b5; 【免费下载链接】QobuzDownloaderX-MOD Downloads streams directly from Qobuz. Experimental refactoring of QobuzDownloaderX by AiiR 项目地址: https://gitcode.com/gh_mirrors/qo/…...