Cesium 上展示点的坐标

news2024/12/23 22:44:23

文章目录

  • 需求一
      • 需求
      • 分析
  • 需求二
    • 需求
    • 分析

需求一

需求

Cesium 中绘制点并在点上添加该点的坐标
在这里插入图片描述

分析

  • 在Cesium中,可以使用以下代码来显示指定点的坐标:
//定义点的坐标
var position = Cesium.Cartesian3.fromDegrees(longitude, latitude, height);
//在场景中添加文字标签
var label = viewer.entities.add({
     position: position ,
    point: {
          color: Cesium.Color.RED,    //点位颜色
          pixelSize: 10                //像素点大小
      },
    label : {
        text : "坐标:(" + longitude + ", " + latitude + ", " + height + ")",
        font : '14pt Source Han Sans CN',    //字体样式
        fillColor:Cesium.Color.BLACK,        //字体颜色
        backgroundColor:Cesium.Color.AQUA,    //背景颜色
        showBackground:true,                //是否显示背景颜色
        style: Cesium.LabelStyle.FILL,        //label样式
        outlineWidth : 2,                    
        verticalOrigin : Cesium.VerticalOrigin.CENTER,//垂直位置
        horizontalOrigin :Cesium.HorizontalOrigin.LEFT,//水平位置
        pixelOffset:new Cesium.Cartesian2(10,0)            //偏移
    }
});
 

其中longitude、latitude和height分别代表经度、纬度和高度。这段代码会在指定的经纬度处添加一个红色的点,并在该点上方显示一个带有坐标信息的文字标签。

需求二

需求

在线上显示点的坐标
在这里插入图片描述

分析

  1. 首先,定义需要显示的线和点的经纬度坐标。你可以将这些坐标存储在一个数组中。
    例如:
let lineCoords = [
  Cesium.Cartesian3.fromDegrees(-75.62898254394531, 40.02804946899414),
  Cesium.Cartesian3.fromDegrees(-75.62442398071289, 40.02804946899414),
  Cesium.Cartesian3.fromDegrees(-75.62301635742188, 40.02932357788086),
  Cesium.Cartesian3.fromDegrees(-75.61843872070312, 40.02932357788086)
];
 
let lineCoords = [
  Cesium.Cartesian3.fromDegrees(-75.62898254394531, 40.02804946899414),
  Cesium.Cartesian3.fromDegrees(-75.62442398071289, 40.02804946899414),
  Cesium.Cartesian3.fromDegrees(-75.62301635742188, 40.02932357788086),
  Cesium.Cartesian3.fromDegrees(-75.61843872070312, 40.02932357788086)
];
 
  1. 创建一组点集合,并将这些点添加到集合中。
let points = new Cesium.PointPrimitiveCollection();
for (let i = 0; i < lineCoords.length; i++) {
  let point = points.add({
    position : lineCoords[i],
    pixelSize : 10,
    color : Cesium.Color.YELLOW
  });
}
 
let points = new Cesium.PointPrimitiveCollection();
for (let i = 0; i < lineCoords.length; i++) {
  let point = points.add({
    position : lineCoords[i],
    pixelSize : 10,
    color : Cesium.Color.YELLOW
  });
}
 

在这个例子中,我们使用了 Cesium.PointPrimitiveCollection 来创建点的集合。我们需要遍历所有的坐标,并将它们添加到集合中。在添加过程中,我们还可以设置每个点的大小和颜色。
3. 最后,将点集合添加到场景中。

viewer.scene.primitives.add(points);
 
viewer.scene.primitives.add(points);
 

完整代码如下所示:

let lineCoords = [
  Cesium.Cartesian3.fromDegrees(-75.62898254394531, 40.02804946899414),
  Cesium.Cartesian3.fromDegrees(-75.62442398071289, 40.02804946899414),
  Cesium.Cartesian3.fromDegrees(-75.62301635742188, 40.02932357788086),
  Cesium.Cartesian3.fromDegrees(-75.61843872070312, 40.02932357788086)
];

let points = new Cesium.PointPrimitiveCollection();
for (let i = 0; i < lineCoords.length; i++) {
  let point = points.add({
    position : lineCoords[i],
    pixelSize : 10,
    color : Cesium.Color.YELLOW
  });
}

viewer.scene.primitives.add(points);
 
let lineCoords = [
  Cesium.Cartesian3.fromDegrees(-75.62898254394531, 40.02804946899414),
  Cesium.Cartesian3.fromDegrees(-75.62442398071289, 40.02804946899414),
  Cesium.Cartesian3.fromDegrees(-75.62301635742188, 40.02932357788086),
  Cesium.Cartesian3.fromDegrees(-75.61843872070312, 40.02932357788086)
];

let points = new Cesium.PointPrimitiveCollection();
for (let i = 0; i < lineCoords.length; i++) {
  let point = points.add({
    position : lineCoords[i],
    pixelSize : 10,
    color : Cesium.Color.YELLOW
  });
}

viewer.scene.primitives.add(points);
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/970832.html

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

相关文章

QML配置启用 QML编译

简述 常规情况下 QML 是解释执行的&#xff0c;为了加快启动速度&#xff0c;官方开发了 QML 编译器&#xff0c;支持编译到 C。 用法 在 pro 文件添加配置,使其生效 CONFIG qtquickcompiler添加后可以看到编译的中间文件有变化&#xff0c;上边是未配置编译 QML&#xff…

从出版到金融:为何现代行业都选择“爱校对”?

在快速发展的数字时代&#xff0c;无论是企业内部的邮件、宣传手册&#xff0c;还是专业的金融报告和出版物&#xff0c;准确无误的文字成为成功的关键。那么&#xff0c;面对山量的文档&#xff0c;如何确保每一句话都字正腔圆、无误导性&#xff1f;答案可能比你想象的还要简…

视频号发农村怀旧治愈系短视频月入5K+,一部手机在家就能搞的副业项目

视频号大家都熟悉&#xff0c;治愈系短视频有人可能也见到过&#xff0c;只是可能没有人想过发发视频就能搞钱&#xff0c;尤其是在视频号里。其实这个项目不仅仅可以视频号做&#xff0c;抖音、快手、小红书都可以同步做&#xff0c;而且都有收益。 先给大家看看案例&#xf…

科技云报道:AI大模型终于走到了数据争夺战

科技云报道原创。 当前&#xff0c;大模型正处在产业落地前期&#xff0c;高质量的数据&#xff0c;是大模型实现产业化的关键要素。 最近&#xff0c;一项来自Epoch AI Research团队的研究抛出了一个残酷的事实&#xff1a;模型还要继续做大&#xff0c;数据却不够用了。 …

Vue 2 nextTick方法|异步更新|事件循环

1 nextTick的用处 vm.$netTick的作用是将回调延迟到下次DOM更新周期之后执行。 它接受一个回调函数作为参数。 其实&#xff0c;在我们更新数据状态后&#xff0c;是不会立马渲染的&#xff0c;你不能即刻获取到新的DOM&#xff1a; <!DOCTYPE html> <html><…

vscode+esp-idf 搭建esp32开发环境,编译信息中文乱码

1.修改波特率 2.C:\Users\Administrator\.vscode\extensions\vsciot-vscode.vscode-arduino-0.6.0-win32-x64\out\src\common 打开文件 util.js 屏蔽掉这部分的代码 、

献给前端研发同学的福利!性能诊断神器——Chrome Performance insight!

Performance insight概述 Performance insight是chrome Chrome DevTools中的自带工具&#xff08;Chrome102 版本发布&#xff09;&#xff0c;目前还是在chrome DevTool中启动即可&#xff0c;如下图所示&#xff1a;我们可以模拟cpu&#xff0c;选择4x slowdown&#xff0c;…

大数据可视化大屏实战项目(8)史上最炫酷科技风销售额度展示大屏,适用于电子产品---HTML+CSS+JS【源码在文末】(可用于比赛项目或者作业参考中)

大数据可视化大屏实战项目&#xff08;8&#xff09;史上最炫酷科技风销售额度展示大屏&#xff0c;适用于电子产品—HTMLCSSJS【源码在文末】&#xff08;可用于比赛项目或者作业参考中&#x1f415;&#x1f415;&#x1f415;&#xff09; 一&#xff0c;项目概览 ☞☞☞☞…

发生OOM时JVM会退出吗

程序是否退出和发生 OOM 无关 需要明确&#xff0c;程序是否退出和发生 OOM 无关&#xff0c;而和当前是否还有存活的非守护线程有关。 只要还有运行中的子线程&#xff0c;即使 main 线程结束或异常崩溃了&#xff0c;程序也不会停止。 public class TestThreadRun {privat…

管理类联考——逻辑——汇总篇——知识点突破——论证逻辑——论证模型

不同的模型对应的削弱、支持、假设。 归纳模型 模型识别 1.完全归纳 完全归纳指的就是所谓的穷举法&#xff0c;即通过某一类对象中的全部元素具备或者不具备某个性质&#xff0c;从而证明这一类对象都具备或者不具备某个性质。考试中一般不考察完全归纳&#xff0c;因此&am…

彻底了解 npm、cnpm、pnpm 、yarn几种包管理工具

npm、cnpm、pnpm 、yarn几种包管理工具 npmcnpmyarnpnpm四者的优缺点&#xff1a; npm npm 是 Node.js 自带的包管理器&#xff0c;平时通过 npm install 命令来安装各种 npm 包&#xff08;比如&#xff1a;npm install vue-router &#xff09;&#xff0c;就是通过这个包管…

基于OpenEuler的信创国产瘦客户机软件系统 DoraOS

DoraOS是一款瘦客户机系统软件&#xff0c;最新版本基于OpenEuler开发。可以将主机转化为专业的瘦客户机。目前支持x86架构的硬件。 软件下载地址为&#xff1a; https://www.doracloud.cn/downloads/32-cn.html 制作一张启动U盘&#xff0c;即可进行安装。 DoraOS的连接窗口…

3D数据导出工具HOOPS Publish:3D数据查看、生成标准PDF或HTML文档!

HOOPS中文网http://techsoft3d.evget.com/ 一、3D导出SDK HOOPS Publish是一款功能强大的SDK&#xff0c;可以创作丰富的工程数据并将模型文件导出为各种行业标准格式&#xff0c;包括PDF、STEP、JT和3MF。HOOPS Publish核心的3D数据模型是经过ISO认证的PRC格式(ISO 14739-1:…

【UIPickerView案例04-随机点餐完善 Objective-C语言】

一、之前我们讲到哪里 1)首先,是搭建界面 2)然后呢,是加载数据 先把这个数据文件,拖进来,然后呢,设置它的代理对象、数据源对象 然后呢,在控制器里面,遵守对应的协议, 实现对应的方法 跟TableView的思路,一样一样的, 也是,把多少行返回 把多少组,返回 然后呢…

【python爬虫】12.建立你的爬虫大军

文章目录 前言协程是什么多协程的用法gevent库queue模块 拓展复习复习 前言 照旧来回顾上一关的知识点&#xff01;上一关我们学习如何将爬虫的结果发送邮件&#xff0c;和定时执行爬虫。 关于邮件&#xff0c;它是这样一种流程&#xff1a; 我们要用到的模块是smtplib和emai…

WordPress Page Builder KingComposer 2.9.6 Open Redirection

WordPress Page Builder KingComposer 2.9.6 Open Redirection WordPress 插件 KingComposer 版本2.9.6 以及以前版本受到开放重定向漏洞的影响。该漏洞在packetstorm网站披露于2023年7月24日&#xff0c;除了该漏洞&#xff0c;该版本的插件还存在XSS攻击的漏洞风险 图1.来自…

【无源谐波滤波器通常用于电力系统中的谐波抑制】用于抑制电力系统谐波的无源谐波滤波器(Simulink实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

十年AI技术成果加持,猿辅导带你体验网课中的科技感

近年来&#xff0c;AI正以润物细无声的方式重塑多个行业的面貌&#xff0c;教育行业也不例外。同时&#xff0c;随着Chat GPT对社会带来的冲击不断加强&#xff0c;AI教育已经成为整个行业不可逆转的趋势。作为最早踏入智能教育领域的企业之一&#xff0c;猿辅导深谙技术革新对…

揭秘大企业的在线帮助中心搭建都有什么技巧?

大企业的在线帮助中心是为了提供更好的客户支持和服务而设立的一个重要平台。一个优秀的在线帮助中心可以帮助企业有效地解决客户问题、提高客户满意度&#xff0c;并且节省人力资源。 搭建大企业在线帮助中心的技巧&#xff1a; 设计用户友好的界面&#xff1a;在线帮助中心…

OPPO手机便签数据搬家到华为mate60Pro手机怎么操作

今年8月底&#xff0c;华为上线了本年度的旗舰手机——华为mate60Pro。有不少网友都在抢购这台手机&#xff0c;不过在拿到新手机之后&#xff0c;还有一件重要的事情要做&#xff0c;这就是把旧手机中比较重要的数据&#xff0c;例如图片、短信、通讯录、联系人、便签等数据搬…