自己写的可视域分析,效率比不上超图的,为什么超图的可视域分析计算那么快?是怎么实现的
大概有5秒的延时 要看地形数据范围和切分精细度
步骤是这样:1、视点为圆心画圆,圆周平分360份获取坐标 2 连接视点和圆周切分点 3、判断各个视线上切分线段的可视性 4 线段组成可视域
优化:
所有点的高程是一次性求 你把所有线段合起来求高程 完了再拆开 会变快很多
var ellipsoidTerrainProvider = new Cesium.EllipsoidTerrainProvider();
terrainProvider 设成ellipsoidTerrainProvider
scene.postRender.addEventListener(function() {
var heading = scene.camera.heading;
var x = -Cesium.Math.toDegrees(heading);
var degrees = "rotate(" + x + "deg)";
$("#compass").css("transform", degrees);
});
两种方法:
直接扔tomcat下,然后用xyz加载
瓦片都是小文件,如果瓦片很多,大约在几十万以上的,建议使用sqlite数据库保存瓦片,按zxy建索引,可以大大提高访问速度。因为小文件太多,操作系统的文件系统是个很大的瓶颈。
官方文档wiki:https://github.com/AnalyticalGraphicsInc/cesium/wiki/Architecture
cesium卡是因为很吃内存,可能是加载了大的模型,我用chrome加载800MB的模型,大概会吃掉2G的内存,如果用手机或者平板浏览器打开 在缩放到很近的时候浏览器会崩溃
直接访问连接就能看看到这个json了。
举个例子:
服务器域名+当前路径的父路径(对应..)+"/data/apidemo/tower.json"