Cesium源码分享--标绘

news2024/10/2 6:39:01

在这里插入图片描述

Cesium标绘插件

在线api文档说明

在线体验地址1(三维框架内)

在线体验地址2

更多案例地址

免费gis数据


ps:如果可以的话,希望大家能给我个star,好让我有更新下去的动力;


实现原理:

  • 其中实现动态绘制的原理主要是利用了callbackproperty(property总结),核心的难点是处理好标绘对象的状态管理,我在类中使用了一个state属性来进行了管理,用其控制何时开始绘制、何时结束绘制、何时开始编辑等。
    此类库提供了多种方法,如转geojson、加载geojson等。
  • 整个类库我分为了三个部分:basePlot(所有标绘的父类)、createxxx(单个标绘)、drawTool(我称之为标绘管理工具)。
    假设我现在想绘制一个线对象,那么我有以下两种方式:
    1. 通过引入单个createXXX.js,然后new此对象即可。
      import Polyline from "./js/plot/CreatePolyline.js";
      let line = new Polyline(viewer,{});
      line.start();
    
    1. 通过引入drawTool,然后new DrawTool ,然后调用其start方法,传入不同的参数(推荐此种方法,因为可以通过on进行状态监听)。
      import Tool from "./js/plot/drawTool.js"
      plotDrawTool = new Tool(viewer, {
        canEdit: true,
      });
      // 监听不同的状态:如开始标绘、标绘结束、开始编辑等
      plotDrawTool.on("endCreate", function (entObj, ent) {
          // 标绘结束时执行
          ......
      });
      plotDrawTool.start({
        "name": "线",
        "type": "polyline",
        "iconImg": "./easy3d/images/plot/polyline.png",
        "styleType": "polyline",
        "style": {
            "clampToGround": true,
            "color": "#ffff00"
        }
      });
    

以上是此库一个大致的介绍,具体调用和开发请参考开发文档。


更多案例地址(我们持续更新):

  • 标绘插件:
    github: https://github.com/gitgitczl/cesiumExp-plot
    码云: https://gitee.com/caozl1132/cesiumExp-plot
  • 气泡窗插件:
    github: https://github.com/gitgitczl/cesiumExp-prompt
    码云: https://github.com/gitgitczl/cesiumExp-prompt

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

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

相关文章

RSS订阅无需代码连接飞书自建的方法

RSS订阅用户使用场景: 公司为倡导员工阅读文化以及提高自身素质,通过RSS订阅一些书籍,然后由相关部分负责人每日推送到部门群,便员工们能够随时获取到最新的读书消息。但负责人时常会忘记,且人工手动复制粘贴多项信息比…

使用底层代码(无框架)实现卷积神经网络理解CNN逻辑

首先将数据集放入和底下代码同一目录中,然后导入一些相关函数的文件cnn_utils.py: import math import numpy as np import h5py import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.python.framework import ops def load_data…

Win10搭建Docker Desktop并安装vim

Win10搭建Docker Desktop 1 介绍 Docker Desktop是适用于Windows的Docker桌面,是Docker设计用于在Windows 10上运行。它是一个本地 Windows 应用程序,为构建、交付和运行dockerized应用程序提供易于使用的开发环境。Docker Desktop for Windows 使用 Wi…

shell脚本基本操作及案例

本文介绍了shell脚本的基本建立过程,并举了4个案例。关键是例3的shell脚本检测局域网ip地址机器是否宕机,例4的shell脚本获取本机ip地址 一、第一个shell脚本 1、定义解释器 #!/bin/bash echo "hello world" #! 是一个约定的标记…

今天面了个京东拿28K 出来的,让我见识到了测试界的天花板

今年的春招基本已经结束了,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的软件测试面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好&#…

【Android】基于Airtest实现大麦网app自动抢票程序

0x01 缘起 疫情结束的2023年5月,大家对出去玩都有点疯狂,歌手们也扎堆开演唱会。但演唱会多,票一点也不好抢,抢五月天的门票难度不亚于买五一的高铁票。所以想尝试找一些脚本来辅助抢票,之前经常用selenium和request做…

探索未来智能交通:网联汽车与汽车互联

网联汽车是指配备多种传感器和通信设备,并且能够接入互联网的汽车。这种汽车可以与外部环境进行交互,并利用各种技术(如 GPS 导航、娱乐系统、诊断传感器和通信工具等)实现数据的传输和接收。 网联汽车能够与其他车辆、交通基础设…

ChatGPT 引发AI服务器霸屏?AI服务器和普通服务器不同在哪?

​  近阶段,由于 ChatGPT 的横空问世,引发 AI 服务器再一次热潮来袭。随之而来的是,越来越多的企业和机构开始关注 AI 服务器和普通服务器之间的区别和对比。那么AI服务器到底是什么意思,它与普通服务器相比又有哪些差异呢? AI…

MySQL高级——第15章_锁

第15章_锁 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是针对一-些敏感的数据(比如订单、金额等),我们就需要保证这个数据在任何 时刻最多只…

动态规划进阶

文章目录 状压dp小国王玉米田炮兵阵地 状压dp 小国王 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter;public class Main{static BufferedReader br new Bu…

Day25力扣刷題

131.分割回文串 此題思維和前幾題不一樣,思維容量更大,主要在於返回的時候,還是會取值。 運行代碼: class Solution:def partition(self, s: str) -> List[List[str]]:result[]tt[]def backtrack(s,index):if len(s)index:res…

node.js PM2部署项目

pm2 是什么 pm2 是一个守护进程管理工具,它能帮你守护和管理你的应用程序。通常一般会在服务上线的时候使用 pm2 进行管理。本文围绕以下重点进行讲解:安装pm2;命令行部署到PM2;PM2查看日志等命令;PM2进行负载均衡;PM…

Python心经(4)

这节记录一些内置模块的使用 目录 hashlib模块,,加密用 json模块 os模块 一个实用的案例: os模块的找文件的操作 随机生成random模块 时间相关模块 time,datetime hashlib模块,,加密用 以md5加密…

什么是Spring Cache?Spring项目如何使用?

前言 目前Spring Cloud微服务在Web项目中占据了主流地位,如果去面试关于Spring Cloud的岗位时,面试官一般都会提问你的项目是如何优化的,从哪些方面入手去优化。而缓存技术绝对是项目必不可少的,所以我们必须掌握好Java项目的缓存…

unity 3种办法实现血条效果并实现3d世界血条一直看向摄像机

普通血条栏: 渐变色血条栏: 缓冲血条栏: 3D场景血条栏跟随玩家移动: 普通血条栏: 在Canvas下创建一个空物体HP bar,在空物体下方创建3个Image,分别为血条框bar 黑色,最大HP maxHP 白色,和当前HP currentHP 红色。(PS:注意先后顺序以调整显示的图层) 效果: …

java中排序

1.传统比较器格式 2.stream 3.结果 4.源码 List<String> list Arrays.asList("201305", "200305", "199009", "200208");Collections.sort(list, new Comparator<String>() {Overridepublic int compare(String o1, Stri…

SpringMVC 万字通关

文章目录 1. 什么是 Spring MVC?1.1 MVC 定义1.2 MVC 和 Spring MVC 的关系 2. Spring MVC 有什么用 ?3. 如何学 Spring MVC ?3.1 Spring MVC 的创建3.2 实现连接功能3.2.1 RquestMapping 详解1. RequestMapping 支持什么请求?2. 请求限定3. GetMapping 和 PostMapping4. c…

Sharding-Sphere系列-主从配置和分库分表

主从配置和分库分表 Sharding-Sphere组成 Sharding-JDBC Sharding-Proxy Sharding-Sidecar&#xff08;TODO&#xff09; Sharding-JDBC表的概念 逻辑表 广播表 绑定表 Sharding-JDBC中的分片策略 自动分片算法 标准分片算法 复合分片算法 自定义分片算法 分布式…

Mybatis-Plus 自动属性填充与自定义Insert into语句顺序

前言&#xff1a;系统中使用了Mybatis-Plus 自动属性填充为实体统一进行属性的填值&#xff0c;在Mapper的xml 文件中 insert into 语句 使用 <if test"id ! null">id,</if> 进行判断会发现该属性是空的&#xff0c;明明已经为改字段进行了属性的自动填充…

百度2023年Q1财报解析:AI+生态战略加速助推

原创 | 文 BFT机器人 01 百度靠AI实现翻身 &#xff08;一&#xff09;盈利能力 百度凭借着强大的AI能力&#xff0c;成功地实现了从依赖搜索业务的互联网公司到AI公司的转型。 从盈利能力层面上看&#xff0c;在第一季度&#xff0c;百度实现了营收311.44亿元&#xff0c;同比…