首页 > 其他分享 >Cesium学习笔记11——坐标量测

Cesium学习笔记11——坐标量测

时间:2023-12-13 17:58:22浏览次数:42  
标签:11 cartesian 量测 cartographic viewer height var Cesium

 

代码:

 1 var annotations;
 2 function axToolCoordinate(layer) {
 3     var handler=new  Cesium.ScreenSpaceEventHandler(viewer.canvas);
 4     annotations=viewer.scene.primitives.add( new Cesium.LabelCollection());
 5     handler.setInputAction(function (evt){
 6         var pickedObject=viewer.scene.pick(evt.position);
 7         if(viewer.scene.pickPositionSupported && Cesium.defined(pickedObject)){
 8             var cartesian=viewr.scene.pickPosition(evt.position);
 9             if(Cesium.defined(cartesian))
10             {
11                 var cartographic=Cesium.Cartographic.fromCartesian(cartesian);
12                 var lng=Cesium.Math.toDegrees(cartographic.longitude);
13                 var lat=Cesium.Math.toDegrees(cartographic.latitude);
14                 var height=cartographic.height;
15                 annotate(cartesian,lng,lat,height);
16             }
17         }
18         else{
19             var ray=viewer.camera.getPickRay(evt.position);
20             var cartesian=viewer.scene.globe.pick(ray,viewer.scene);
21             if(Cesium.defined(cartesian)){
22                 var cartographic=Cesium.Cartographic.fromCartesian(cartesian);
23                 var lng=Cesium.Math.toDegrees(cartographic.longitude);
24                 var lat=Cesium.Math.toDegrees(cartographic.latitude);
25                 var height=cartographic.height;
26                 annotate(cartesian,lng,lat,height);
27             }
28         }
29     },Cesium.ScreenSpaceEventType.LEFT_CLICK);
30 
31     handler.setInputAction(function (){
32         viewer.entities.removeAll();
33         annotations.removeAll();
34     },Cesium.ScreenSpaceEventType.RIGHT_CLICK);
35 }
36 
37 function createPoint(worldPostion){
38     var point = viewer.entities.add({
39         position:worldPostion,
40         point:{
41             color:Cesium.Color.CRIMSON,
42             pixelSize:9,
43             outlineColor:Cesium.Color.ALICEBLUE,
44             outlineWidth:2,
45             disableDepthTestDistance:1000
46         }
47     });
48 }
49 
50 function annotate(cartesian,lng,lat, height){
51     createPoint (cartesian);
52     annotations.add({
53         position:cartesian,
54         text:
55         'Lon:'+lng.toFixed(5)+'\u00B0'+
56         '\nLat:'+lat.toFixed(5)+'\u00B0'+
57         '\nHeight:'+height.toFixed(2)+'m',
58         showBackground:true,
59         font:'22px monospace',
60         horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
61         verticalOrigin: Cesium.VerticalOrigin.Bottom,
62         disableDepthTestDiatane:Number.POSITIVE_INFINITY
63     });
64 }

 

标签:11,cartesian,量测,cartographic,viewer,height,var,Cesium
From: https://www.cnblogs.com/yhlx125/p/17899606.html

相关文章

  • 1211 | 和PAI一起,每周玩转AI,活动开始了
    【和PAI一起,每周玩转AI】系列活动上线了!人工智能平台PAI提供近万元免费云上资源,助力开发者们体验AIGC能力。参与每周AIGC主题活动,有机会赢取小米手环8、小米充电宝等多重好礼!加入AIGC活动钉群,及时了解每周最新AI活动!......
  • Java-jdk 11或17 文件路径中没有jre文件
    Java-jdk11或17文件路径中没有jre文件 简介: Java-jdk11或17文件路径中没有jre文件在使用IDE敲代码的时候,是需要安装jdk的。但是由于jdk版本的不同导致在配置系统环境的时候找不到对应的jre文件。    所以我们想要配置系统变量就需要有jre文件,j......
  • 2023年11月国产数据库大事记-墨天轮
    本文为墨天轮社区整理的2023年11月国产数据库大事件和重要产品发布消息。目录11月国产数据库大事记TOP1011月国产数据库大事记(时间线)产品/版本发布兼容认证代表厂商大事记厂商活动排行榜新增数据库11月国产数据库大事记TOP10 11月国产数据库大事记(时间线)11月1......
  • cesium.js入门基础教程二 (影像和标注)
    影像简介Cesium加载大的虚拟地球默认是有影像的,如图:默认使用的影像是“BingMapsAerial”:影像提供者ImageryProvider除了途中列出的一些影像,开发者可以通过Cesium中的ImagerProvider影像提供者类创建所需的影像,Cesium中提供了很多种ImageryProvider影像提供类(不包括抽象......
  • springboot+vue小白升级之路11-请假申请,请假审核功能
    这部分代码,我们接着上一个的,就不全部贴出来了。把与这个功能有关的代码贴出来,大家参考。pom.xml<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></de......
  • Django runserver 时报错 [Errno 11001] getaddrinfo failed
    现象描述:python使用Django命令pythonmanage.pyrunserver0:8000时,在浏览器登录遇到错误[Errno11001]getaddrinfofailed错误:解决办法:查看本机ip地址(windows在cmd中输入ipconfig可查看本机ip)打开Django项目的settings.py文件,在ALLOWED_HOSTS=[]中填入查......
  • 【SpringBootWeb入门-11】MySQL-概述-安装配置
    1、入门前言之前的文章我们讲解了javaweb的springboot框架的入门学习,javaweb开发-数据库也是我们需要学习的核心之一,接下来我们进入MySQL的学习,本篇内容主要讲解MySQL的安装以及配置。2、MySQL下载MySQL官方给我们提供了两种不同的版本:商业版本和社区版本,具体区别如下图:我们......
  • 使用ubuntu根据cuda11.2安装pytorch
    在使用镜像新建了一个cuda11.2-python3.9容器配置环境的过程中需要安装PyTorch。一开始我直接使用pipinstalltorch来进行安装,但是运行程序时出现报错:RuntimeError:TheNVIDIAdriveronyoursystemistooold(foundversion11020).PleaseupdateyourGPUdriverbyd......
  • 12.11 迪杰斯特拉方法实现最短路径(c++)
     今天通过自主学习,,对数据结构中的迪杰斯特拉方法实现最短路径进行了深造,让我学会了很多新的东西。首先是问题描述:用迪杰斯特拉算法实现有向网的最短路径输入格式:第一行输入有向网的顶点和边数,第二行输入各顶点值,用空格间隔,第三行开始输入各条边的两个点的及边上的权值,用空......
  • 云原生周刊:Kubernetes v1.29 新特性一览 | 2023.12.11
    开源项目推荐kubedogKubedog是一个用于在CI/CD部署管道中监视和跟踪Kubernetes资源的库。这个库被用于werfCI/CD工具中,在部署过程中跟踪资源。RunWhenLocalrunwhen-local是一个工具,用于在本地环境中运行runwhen脚本。runwhen是一个灵活的任务调度工具,可以根据条......