最近因为项目需要一直在研究world wind,之前总算把world wind wms 的服务器搭建完毕,算是迈出了第一步。紧接着就开始考虑加载三维模型的问题,world wind通过配置文件用ModelFeature实现了.x, .xml, .dae文件格式的加载。

但是ww对于大场景海量三维数据的加载、显示并没有实现。在网上、期刊网上调研了许久,发现基本上是采用分层、分块加lod的策略,遗憾的是,这些文章并没有涉及到具体的实现细节,这对于我这个第一次真枪实弹地做gis的人来说,真是蛋疼。

今天在网上瞎逛,偶遇OSGGIS,它是基于OpenSceneGraph的。OpenSceneGraph是一款高性能的3D图形开发库,貌似很牛。随后看了OSGGIS的一些资料,它能够做到:

1. 用3D模型来替换点要素;

2. 将大数据量的图层按网格组织;同时构建平行的单元格。

此外下图为网友的实现效果图,cool。(http://hi.baidu.com/lorin_hill/blog/item/225a2bf39b79971ab07ec5e8.html)

这里还有另外一个网友的介绍(http://blog.csdn.net/zhuliangxiong/archive/2009/04/21/4096189.aspx)

“图层编译器引导来自一个或者多个图层的要素穿过一个或者多个过滤器图.然后将来自于不同过滤器图的输出组合成为一个OSG场景图.osgGIS有三种内置的图层编译器:

1.简单编译器:将要素编译生成内存中的多LOD的场景图;

2.网格化编译器:将要素分成网格,然后将每个网格分别编译生成分页的多LOD场景图;

3.四叉树编译器:编译生成分页的多LOD场景图,同时每一个LOD是其上级节点的四叉树子节点;

网格化编译器和四叉树编译器可以实现增量编译和局部更新.由于每一个网格都是无关的,所以这些网格可以同时编译.这种机制使得OsgGIS具很强的伸缩性.因为使用这种增量编译和局部更新技术,OsgGIS就可以处理任意规模的数据.

OsgGIS将整个图层分解为许多小块后分别独立编译,同时OsgGIS使用Session将各个编译过程连接在一起.Session用于管理公共的资源(例如:纹理..)和对外部数据模型的引用。Session还记录有整个图层编译过程中产生的统计数据。”

呵呵,看到这些,一阵窃喜。OSGGIS值得一看。

不过终究是开源的东东,研究起来还是困难重重。一步一步来吧。

如何显示大场景海量三维模型?相关推荐

  1. Unity UI前显示可操控三维模型

    原理:将Canvas设置为指定Camera渲染,在该Canvas上添加UI. 将Canvas组件的Render Model属性设置为Screen Space - Camera,将摄像机挂到Render ...

  2. Cesium教程(十四):简易三维模型的可视化

    Cesium教程(十四):简易三维模型的可视化 效果预览 1.高效三维数据格式:3D Tiles 3D Tiles是Cesium提出的处理三维地理大数据的数据格式,目前已是OGC数据标准之一,并在We ...

  3. WebGL,Cesium以及GeoJSON数据的简单介绍

    目录 一.WebGL 二.Cesium (1)Cesium:一个用于显示三维地球和地图的开源js库. (2)Cesium的基本功能: (3)cesium的依赖性与技术标准 (4)Cesium与周边产品 ...

  4. Mars3D(含Cesium)数据及服务篇:城市建筑物转为3DTiles白膜格式

    1.城市建筑物白膜所需的shp数据介绍 在拥有如shp格式的建筑物二维面边界坐标数据,和高度或楼层数属性信息,再通过工具转换为三维立体的白膜建筑物3DTiles模型. Shapefile文件是ESRI ...

  5. 对比分析OSG与Cesium中模型LOD的异同

    1. LOD 熟悉渲染的读者可能经常听到LOD(Level Of Detail),也就是用不同的细节层次来表达同一个对象.比如下图中的雕像,从左到右精细度越来越低,最后甚至仅剩一个轮廓,已经看不出人形 ...

  6. OSM地图本地发布(一)-----概述

    目录 一.前言 二.开源GIS介绍 1.前端GIS框架 2.后端技术 3.空间数据库 4.地图服务器 4.GIS软件 三.技术选型 四.文章目录 1.OSM本地发布(一)-----概述 2.OSM本地 ...

  7. 19个三维GIS软件对比

    19个三维GIS软件对比麦豆科研技术中心 2 days ago 我国GIS经过三十多年的发展,理论和技术日趋成熟,在传统二维GIS已不能满足应用需求的情况下,三维GIS应运而生,并成为GIS的重要发展 ...

  8. 三维地理信息平台介绍与比较(转)

    Google Earth和World Wind是两款优秀的网络维地球影像浏览器,它们的出现,打破了传统Web GIS的数据发布模式,为空间信息的快速发布提供了新的解决思路和技术手段 采用这种技术,客户 ...

  9. 阿里为什么要拿下Flink?

     关注ITValue,查看企业级市场最新鲜.最具价值的报道! 如果这不是因为阿里新年消费的第一个大单,更多人知道Flink或许还会晚一点.据欧洲外媒Deutsche Startups报道,阿里巴巴集团 ...

最新文章

  1. 一天搞定CSS:字体font--04
  2. JAVA中如何确保N个线程可以访问N个资源,但同时又不导致死锁?
  3. 【ANDROID游戏开发之六】在SURFACEVIEW中添加系统控件,并且相互交互数据!
  4. 嵌入式Linux系统编程学习之二十五信号量
  5. C#编程(三十三)----------Array类
  6. 56. Attribute value 属性
  7. windows环境安装python
  8. 0910下eclipse 语言包的插件安装
  9. abaqus 关联 子程序_Abaqus2016版本关联子程序教程
  10. 快速入门 | 篇十九:正运动技术运动控制器多轴同步与电子凸轮指令简介
  11. 网站百度快速排名软件系统
  12. c4d如何把文字贴在物体表面_C4D立体贴地面字基础知识点
  13. 荒野猎人 但是亲眼看到还是第一次
  14. 数据库--db-sjk-Mysql-必须看-复制一张表
  15. 使用MOG2对运动物体进行检测
  16. 想要搭建建基于Nodejs的网站怎么做
  17. OneNote的正确登出方式
  18. python ASF API下载Sentine-1数据
  19. 一个毕业6年的程序员工作经历和成长感悟(下)
  20. 买卖时机APP 开启股票交易大数据时代!

热门文章

  1. Sentinel介绍与使用 收藏起来
  2. 软件测试涨工资啦!你知道吗?看看你有没有达到涨薪条件?
  3. vulkan_延迟渲染
  4. 关于spring以及springIOC,看这一篇就够了,给你总结的清新脱俗
  5. parseInt、valueOf、intValue和toString的区别
  6. 用Python创建动态彩色二维码
  7. 使用Docker Swarm模式搭建Swarm集群
  8. requests InsecureRequestWarning: Unverified HTTPS request is being made.
  9. 元宇宙拯救游戏直播?
  10. 积分系统软件怎么做?如何用积分机制快速“抓住用户”?