admin

第 1 位会员

管理员
个人信息
  • 加入于 2018-06-21 23:46:36
  • 最后登录时间 4个月前
个人成就
  • 发表文章次数 217
  • 发布回复次数 1521
  • 个人主页浏览次数 321
哪位知道UrlTemplateImageryProvider 请求的切片跨域怎么解决啊6年前

 response.header("Access-Control-Allow-Origin", "*");
  response.header("Access-Control-Allow-Headers", "X-Requested-With");
  response.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
  response.header("X-Powered-By",' 3.2.1');
  response.header("Content-Type", "application/json;charset=utf-8");

写个中间服务,自己转一次,加上跨域支持

加载水系数据到cesium里面并且有动态水系的效果6年前

可以自己画出轮廓加上水系效果

不是 terrain扩展就是标记一个点是不是水面

像反光在海面和陆地就不一样

cesium 贴地测量 怎么做6年前

您看看,这个对您是否有帮助: /topic/64.html

cesium 贴地测量 怎么做6年前

你这个问题可以转换为两个经纬度之间的距离,不过比较复杂的是,如果算的是贴地的曲线而不是直线就很复杂了。

cesium里面的一条线段(a,b两点),绕b点旋转90度后的a点坐标是多少,怎么计算6年前

  1. 获取b点的地面法向量BN(cesium有专门的方法)
  2. 构造基于BN旋转90度的矩阵
  3. 计算A点相对B点的坐标A‘
  4. 对A’应用旋转矩阵
  5. 计算A‘的世界坐标

求教,按线路飞行如何以第一视角方式飞行?6年前

heading的position和指向你都有了的话 你在lookat就是对的

但是你得先pick到你的飞机。

操作上可行。

请问一下各位,怎么获取某个位置的高程值?已知经纬度6年前

// var viewer = new Cesium.Viewer('cesiumContainer');
var viewer = new Cesium.Viewer('cesiumContainer', {
                   terrainProvider: Cesium.createWorldTerrain()
        });

document.getElementById('btn').onclick = function () {
            a();
        };
function a() {
     var terCartographic = new Cesium.Cartographic(1.98,0.6,0);
    console.log(terCartographic);
    //根据经纬度计算出地形高度。
    var terHigh =  viewer.scene.globe.getHeight(terCartographic);
    console.log(terHigh);
}

cesium 相机怎么固定在primitives对象上6年前

lookAt, 可以把相机固定在一个点上

知道了经纬度,怎么才能使用Cesium显示6年前

 var ellipsoid = viewer.scene.globe.ellipsoid;
 var cartographic = Cesium.Cartographic.fromDegrees(116.396363384705070, 39.987432389031696,100); //中心
 var cartesian3 = ellipsoid.cartographicToCartesian(cartographic);

cesium 通视分析怎么做,有大神可以指点一下吗?6年前

通视?是可视分析还是透视分析?

如果是可视分析,请查看:可视分析

Cesium加载3dtiles时,悬浮在空中,怎么让它贴地?6年前

  1. 根据当前的经纬度,cesium会自己有一个高度的定义。
  2. cesium的高度和我们生成3D Tiles模型的高度有可能对不上,这就是所谓的不贴地。
  3. cesium中可以手动调节模型的height。
  4. 转换工具可以手动调节height,这种方式比较繁琐。

osgb转Cesium 3D tiles工具6年前

另一种开源工具: 参考链接: https://github.com/fanvanzh/3dtiles

3dtiles

Build status

The fastest tools for 3dtiles convert in the world!

include these tools:

osgb => 3dtile , convert huge of osgb file to 3dtiles.

shapefile => 3dtile, convert shape file to 3dtiles.

fbx => 3dtile, convert fbx file to 3dtile, include auto_lod\texture convert etc..

How to build / 编译指南

How to debug / vs调试指南

Windows pre-build / 预编译下载

3dtile 转换工具集。

世界上最快的 3dtiles 转换工具,极度节省你的处理时间。

命令行:

3dtile.exe [FLAGS] [OPTIONS] --format <osgb,shape> --input <FILE> --output <FILE>

示例:

3dtile.exe -f osgb -i E:\Data\倾斜摄影\hgc -o E:\Data\倾斜摄影\hgc_test

3dtile.exe -f osgb -i E:\Data\倾斜摄影\dayanta -o E:\Data\倾斜摄影\dayanta_test -c "{\"offset\": 0}"

参数说明:

-c, --config

     {
	
      "x": 120,
      
      "y": 30,
      
      "offset": 0 , // 模型最低面地面距离
      
      "max_lvl" : 20 // 处理切片模型到20级停止
      
     }
  -f, --format <osgb,shape> 
  
  -i, --input <FILE> 
	
  -o, --output <FILE> 
  
  --height, 指定shapefile的高度字段

命令行参数详解:

-c 在命令行传入 json 配置的字符串, json 内容为选配,可部分实现。

-f 输入数据格式: osgb 为倾斜摄影格式数据。

-i 输入数据的目录,截止到 "\Data" 目录的上一级。

-o 输出目录。最终结果位于输出目录的 "\Data" 目录。

--height 高度字段。指定shapefile中的高度属性字段。

数据说明:

1、倾斜摄影数据:

倾斜摄影数据仅支持 smart3d 格式的 osgb 组织方式, 数据目录必须有一个 “Data” 目录的总入口, “Data” 目录同级放置一个 metadata.xml 文件用来记录模型的位置信息。

每个瓦片目录下,必须有个和目录名同名的 osgb 文件,否则无法识别根节点。

osgb 文件名中需要能识别出来是第几级,如 Tile_001_001_L8.osgb,程序能根据最后一个L识别出来第8级,否则程序无法辨认,产生的 geometricError 会有错误。

正确的目录结构如下:

--metadata.xml

--Data\Tile_000_000\Tile_000_000.osgb

--Data\Tile_000_000\Tile_000_000_L6.osgb

2、shapefile 数据:

目前仅支持 shapefile 的面数据,可用于建筑物轮廓批量生成 3dtile。

shapefile 中需要有字段来表示高度信息。

osgb转Cesium 3D tiles工具6年前

目前我还没遇到个数限制哈,我大概800MB的数据,转换一点问题没有,不过也推荐这位朋友自己开源的项目: https://github.com/fanvanzh/3dtiles

求教,按线路飞行如何以第一视角方式飞行?6年前

官网有个demo 可以切换视角

Your Site Analytics