admin

第 1 位会员

管理员
个人信息
  • 加入于 2018-06-21 23:46:36
  • 最后登录时间 1天前
个人成就
  • 发表文章次数 219
  • 发布回复次数 1524
  • 个人主页浏览次数 321
osgb转Cesium 3D tiles工具7年前

另一种开源工具: 参考链接: 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工具7年前

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

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

官网有个demo 可以切换视角

cesium地图上一条线路,如何对这条线路进行缓冲分析?7年前

jsts或turf计算出面坐标自己绘制

cesium加载obj转成的3dtiles文件,写js控制旋转结果不对,有人碰到过这个问题吗?7年前

 var a = Cesium.Matrix4.fromArray(tileset._root.transform); 
 var s = Cesium.Matrix4.getTranslation(a, new Cesium.Cartesian3); 
 var _s = Cesium.Transforms.eastNorthUpToFixedFrame(s); 
 var angle = Cesium.Matrix3.fromRotationX(90); 
 var modelMatrix =Cesium.Matrix4.multiplyByMatrix3(_s, angle,new Cesium.Matrix4() ); tileset.modelMatrix = modelMatrix;

怎样配置默认的加载级别7年前

minimumLevel maximumLevel 是配置最大最小层级的并不是默认级别,我觉得你可以控制相机的高度

cesium最新版本的不能内网部署了吗7年前

这个应该是需要访问Cesium Ion上数据导致的。

去掉也简单,就是提供自己的provider数据源即可。

cesium最新版本的不能内网部署了吗7年前

它怎么知道你是内网还是外网?

怎么判断entity为polyline??7年前

entity.polyline != undefined

cesium 调用天地图使用地形图?7年前

检查scene.postProcessStages.fxaa,scene.postProcessStages.ambientOcclusion,scene.postProcessStages.bloom这几个开了没 如果开了,都关掉试试

请问,cesium的有可视区域分析吗?7年前

把renderState里面深度测试关闭,就可以画到最顶层了

var defaults = {
          depthTest : {
              enabled : false
           }
      };
var rs = Cesium.RenderState.fromCache(defaults);

var instance = new Cesium.GeometryInstance({
  geometry : new Cesium.EllipseGeometry({
      center : Cesium.Cartesian3.fromDegrees(-74.00081302800248, 40.69314333714821),
      semiMinorAxis : 500.0,
      semiMajorAxis : 500.0
  })
});
viewer.scene.primitives.add(new Cesium.Primitive({
  geometryInstances : instance,
  appearance : new Cesium.EllipsoidSurfaceAppearance({
    material : Cesium.Material.fromType('Color'),
      renderState:rs
  })
}));

请问,cesium的有可视区域分析吗?7年前

这功能可以做,就是查自己圈选的图形被遮盖

怎么让一个div内容像label那样随球转动啊,并且可以设置地形上方的高度7年前

你管它地形是不是负值做什么,只要位置是正确的就可以 屏幕位置

怎么让一个div内容像label那样随球转动啊,并且可以设置地形上方的高度7年前

div是html里的东西,这个还是不能混到一起,你可以实时获取该postion,然后更新div的位置

配置vue+cesium 启动的时候失败7年前

基于webpack 构建Cesium + Vue 的应用操作步骤: https://www.jianshu.com/p/fb237c7eb48c

谁熟悉cesium在react中使用7年前

你的web server是啥 我这样说吧 但是有一个问题就是 你用一个静态的html 调用react的iframe可以吗

谁熟悉cesium在react中使用7年前

你这个相当于要在地图上弹一个div出来 ,然后div是react的吗或者iframe,我觉得能直接做啊,完全不影响

Your Site Analytics