背景:

由于entity实体过多,而又要一次性加载,所以用聚合(后台聚合),前端cesium也可以聚合,cesium前端渲染大量点很快很快的,但是由于请求后台时数据量太大,光请求时间都很长。不能忍受,所以改为后台聚合。后台聚合用的是pg的空间函数。前端去后台请求时  需要要携带当前屏幕所在地理范围参数(经纬度格式)

获取当前屏幕所在地理范围

getViewExtend() {let params = {};let extend = viewer.camera.computeViewRectangle();if (typeof extend === "undefined") {//2D下会可能拾取不到坐标,extend返回undefined,所以做以下转换let canvas = viewer.scene.canvas;let upperLeft = new Cesium.Cartesian2(0, 0);//canvas左上角坐标转2d坐标let lowerRight = new Cesium.Cartesian2(canvas.clientWidth,canvas.clientHeight);//canvas右下角坐标转2d坐标let ellipsoid = viewer.scene.globe.ellipsoid;let upperLeft3 = viewer.camera.pickEllipsoid(upperLeft,ellipsoid);//2D转3D世界坐标let lowerRight3 = viewer.camera.pickEllipsoid(lowerRight,ellipsoid);//2D转3D世界坐标let upperLeftCartographic = viewer.scene.globe.ellipsoid.cartesianToCartographic(upperLeft3);//3D世界坐标转弧度let lowerRightCartographic= viewer.scene.globe.ellipsoid.cartesianToCartographic(lowerRight3);//3D世界坐标转弧度let minx = Cesium.Math.toDegrees(upperLeftCartographic.longitude);//弧度转经纬度let maxx = Cesium.Math.toDegrees(lowerRightCartographic.longitude);//弧度转经纬度let miny = Cesium.Math.toDegrees(lowerRightCartographic.latitude);//弧度转经纬度let maxy = Cesium.Math.toDegrees(upperLeftCartographic.latitude);//弧度转经纬度console.log("经度:" + minx + "----" + maxx);console.log("纬度:" + miny + "----" + maxy);params.minx = minx;params.maxx = maxx;params.miny = miny;params.maxy = maxy;} else {//3D获取方式params.maxx = Cesium.Math.toDegrees(extend.east);params.maxy = Cesium.Math.toDegrees(extend.north);params.minx = Cesium.Math.toDegrees(extend.west);params.miny = Cesium.Math.toDegrees(extend.south);}return params;//返回屏幕所在经纬度范围}

Cesium 获取屏幕窗口经纬度范围(2D和3D)相关推荐

  1. cesium 获取当前经纬度和视角还有当前level层级

    cesium 获取当前经纬度和视角还有当前level层级 // 跟随鼠标获取经纬度和视角高度var longitude_show=document.getElementById('longitude_ ...

  2. javascript获取屏幕、窗口、元素等的大小

    javascript获取屏幕.窗口.元素等的大小 一. 屏幕大小 ​ 什么是屏幕大小?屏幕大小是指当前所用设备的屏幕的分辨率(浏览器窗口外部显示器的大小),它一般是不变的.它们可以通过javaScri ...

  3. android获取导航栏宽高,Android获取屏幕的宽高度、状态栏、标题栏、导航栏、编辑区域高度...

    目录 0.相关文章: 1.获取屏幕款高度 代码: /** * 获取屏幕宽度 * * @param context 上下文对象 * @return int */ public static int ge ...

  4. 关于使用“JS获取屏幕,浏览器,网页高度宽度”的个人思考

    在js开发中免不了获取屏幕或文档的宽度高度问题.今天在搜索引擎中搜索时,看到最多的就是这篇文章 这张图片已经被转载了很多了,我想说的是,在转载之前能否先思考下,是否完全懂了,而不是囫囵吞枣(虽然我也记 ...

  5. Visual C++——获取屏幕大小、窗口大小、对话框大小和位置、控件大小和位置

    解决方案 获取屏幕大小 //下边两个函数获取的是显示屏幕的大小,但不包括任务栏等区域int cx = GetSystemMetrics(SM_CXFULLSCREEN); int cy = GetSy ...

  6. C#获取屏幕分辨率(大小)

    using System.Windows.Forms;             获取屏幕分辨率            int SH = Screen.PrimaryScreen.Bounds.Heig ...

  7. c语言中width获取窗体宽度,获取屏幕宽高width(),outerWidth,innerWidth,clientWidth的区别...

    基本介绍 $(window).width()与$(window).height() $(window).width()与$(window).height():获得的是屏幕可视区域的宽高,不包括滚动条与 ...

  8. c#获取屏幕分辨率信息

    转自:http://blog.sina.com.cn/s/blog_4c83c6bf010008zj.html 引用:http://technet.microsoft.com/zh-cn/magazi ...

  9. android获取键盘状态,Android获取屏幕方向及键盘状态的小例子

    Android获取屏幕方向及键盘状态的小例子 复制代码 代码如下: Configuration config = getResources().getConfiguration(); if (conf ...

  10. 使用GTK+获取屏幕分辨率并设置满屏显示效果

    在linux下,经常需要设置程序全屏显示,GTK+中提供了获取屏幕分辨率的方式,然后只要根据得到的宽高设置窗口显示大小,同时使用gtk_window_set_decorated去掉边框和标题栏显示,就 ...

最新文章

  1. free() invalid next size异常
  2. 好奇,我们常用的 Integer 内部为什么会去实现 Comparable 接口,他的作用是什么?...
  3. 如何用redis实现分布式锁?这篇文章教你用redisson实现分布式锁,封装之后的方法更好用!
  4. ITK:越界像素返回常数值
  5. 将Notepad++配置成Java轻量级的IDE
  6. width:100%与绝对定位同时存在,偏移出父级容器
  7. Kafka常见面试问题
  8. mysql计算3000分钟后的日期_MySQL – 计算两个日期时间之间的净时差,同时排除中断?...
  9. Linux常用工具包安装
  10. viewUrl 终结者
  11. 【gazebo要素9】 SDF制作Model文件(2)
  12. 国家语言代码大全【方便翻译查询】
  13. CUBA:如何准备上线
  14. 值得反复看的经典算法书
  15. 富勒烯|Fullerene C60 富勒石 CAS:131159-39-2 |瑞禧
  16. RNN实现股票预测(别当真)
  17. Python如何读取Jason格式,变成dataframe
  18. 禁用Ubuntu 16.04.4 LTS 图形登陆界面只能选择guest账号登陆
  19. 甘肃非税收缴实现“一网通办”:随时随地扫码“搞定”
  20. 小米笔记本2020版云测评

热门文章

  1. lnmp平台的简单基础搭建
  2. 小川OpenCV100例 之 识别定位二维码
  3. 【SCM】基于报童模型的MAPE与Profit仿真
  4. WORD2016打印文档时,图片打印不正常的解决方法
  5. oracle财务系统名称,Oracle财务系统总账模块操作手册
  6. T分布和T检验的理解,Python代码实现T检验的计算
  7. 微信购物商城网站定制需要多少钱?电商网站建设开发方案(一)
  8. IOMeter安装以及测试
  9. java秒抢商品_Java秒杀系统实战系列~待秒杀商品列表与详情功能开发
  10. 程序员修炼之道(第2版)