三维开发及三维地形和地理信息系统的集成探索

一开始只是对于OSG的3D牛显示有比较好奇的心态,这只是初步映像,又有了Perform这种商用软件平台的应用经验,越来越对3D的自主开发感兴趣了。

对于一个没有一点地理信息经验的人,怎么才能实现一个3D地形场景,而且可以任意变化。怎么办?

1.      查资料,搜集信息:

ARCGIS可以实现,MALTIGEN CREATE 也可实现, OpenGL也可实现,Osg也可实现

2.      比较收集的资料优缺点:

  1. ArcGIS是国外的开发软件,但主要是基于2D的为主,3D为辅助,而且实时性差,开发权限受限制,移植性也不好。
  2. MALTIGEN CREATE 主要还是本身只是个国外的建模软件,而且有软件缺陷,超出一定内存,就会崩溃,而且也有版权的问题存在。
  3. OpenGL的实现,地形网格和纹理贴图,这些都能实现,而且还是开源的3D图形开发语言。只有一点,就是编写代码太过冗长。
  4. 使用OSG的好处是以C++为基础,继承和集成了OpenGL的一些API,归并和提炼出更高一层的图像开发语言。它在相机控制、图形着色,都有很好的凝练,而且还提供了特殊的地形处理类,但只是在地形使用和成像上提供了很好的帮助。问题是能得到随意的任意需改的地形?

3.      做出决策:

进过比较和思考,决定从OSG的着手,它是以C++为基础的,而且可以很好的集成其他C++面向对象的开放代码;同时又是3D图形开放源码语言,而且又继承和集成了OpenGL的一些API。

4.      根据自己的需求改进和创新:

经过比较考虑和发掘,发现OSG的地形处理和ArcGIS软件都使用了开源代码GDAL来处理DEM地形数据。针对这一点,我决定严格从GDAL出发来解决问题。

详细查看GDAL的使用环境和技能特点:它在处理2维图像上具有相当的权威性,而且还可以实现各种地理坐标系统和投影坐标系统的转换。

OSG的地形处理类中的DEM数据又恰好符合GDAL的特征,那么我就找到了地形处理的核心。结合OSG的地形处理,和GDAL的2维图像处理和坐标投影等功能,再综合其他的一些地形信息处理C++函数,我就实现了自主开发的实现三维地形和地理信息系统的集成平台。

世界地图3D:

结合数据库,中国省界城乡地名及水系地理信息系统:

在这个基础上还可容易的扩展的C++的一些其他库函数的集成:

a.曲线库:OpenNurbs

b.碰撞检测库:OsgBullet

c.爆炸特效粒子库:osgSpark

d.声音库:osgAudio

e.医学影像库:DCMTK

f.其它库:OsgWOrk、Boost、Cal3D、RVO2

三维开发及三维地形和地理信息系统的集成探索相关推荐

  1. M3DGIS三维电子沙盘数字沙盘可视化交互地理信息系统开发教程第4课

    M3DGIS三维电子沙盘数字沙盘可视化交互地理信息系统开发教程第4课 虚拟三维数字沙盘开发教程第4课 下面介绍怎样在地球上增加自己的FrameworkElement,因为FrameworkElemen ...

  2. 地理信息系统复习摘要

    地理信息系统要点总结 根据华一新<地理信息系统教程>(武汉大学出版社)总结而来,涵盖绝大部分要点知识,可供突击复习参考. 一.绪论 1.  GIS是由计算机硬件.软件和不同的方法组成的系统 ...

  3. 地理信息系统有哪些功能?

    1.基本功能需求 作为以地理信息为处理与分析对象的系统,地理信息系统的基本功能需求包括以下几类.     (1)位置,即地理要素的空间定位问题.位置主要由坐标来表示,也可以用地名.邮政编码等其他形式来 ...

  4. 南京师范大学 地图学与地理信息系统(GIS) 国家重点学科 江苏省重中之重学科 地理信息科学江苏省重点实验室...

    南京师范大学地图学与地理信息系统学科为国家重点学科.江苏省重中之重学科,该学科拥有地理信息科学江苏省重点实验室,设有地理信息工程所.地图与遥感研究所.计量地理研究所.环境科学研究所.地理信息科学系和土 ...

  5. 嵌入式地理信息系统技术

    嵌入式地理信息系统技术 摘要:通过分析嵌入式地理信息系统的技术及应用,介绍了如何进行嵌入式地理信息系 统组件的开发以及嵌入式系统的地理信息数据如何使用.从技术上采用微软的COM技术, 以C++为开发语 ...

  6. 地理信息系统名词解释大全(四)

    地理信息系统名词解释大全 名词解释大全(一).名词解释大全(二).名词解释大全(三) 名词解释大全(四).名词解释大全(五).名词解释大全(六) 名词解释大全(七).名词解释大全(八).名词解释大全( ...

  7. 三维数字沙盘电子沙盘人工智能地理信息系统开发教程第14课

    三维数字沙盘电子沙盘人工智能地理信息系统开发教程第14课 很久没有写了,主要前段时间在针对怎么显示高精度的 倾斜数据而努力,现在终于实现了效果不错.以前的版本显示倾斜数据控制不太好.最近SDK也改动了 ...

  8. M3D GIS三维数字沙盘可视化交互地理信息系统开发教程第44课

    M3D GIS三维数字沙盘可视化交互地理信息系统开发教程第44课 设置system.ini 如下内容 Server=122.112.229.220 user=GisTest Password=chin ...

  9. M3DGIS三维数字沙盘电子沙盘地理信息系统开发教程第10课

    三维数字沙盘电子沙盘M3DGIS地理信息系统开发教程第10课 设置system.ini 如下内容 Server=122.112.229.220 user=GisTest Password=chinam ...

  10. 公安警务指挥一张图三维电子沙盘可视化地理信息系统

    [公安警务指挥一张图三维电子沙盘可视化地理信息系统](https://img-blog.csdnimg.cn/20190103133200100.jpg?x-oss-process=image/wat ...

最新文章

  1. 指尖大冒险、跳一跳升级版html5游戏全代码
  2. 计算机算法设计与分析二--分治
  3. BFE Ingress Controller正式发布!
  4. boost::histogram模块实现导向轴的测试程序
  5. linux alsa 录音程序,Linux下alsa直接录音代码
  6. SAP Fiori Elements 在本地测试模式下如何修改 List Report 里字段标签和图标
  7. 【华为云技术分享】如何设计高质量软件-领域驱动设计DDD(Domain-Driven Design)学习心得
  8. poj 3335 Rotating Scoreboard - 半平面交
  9. 数组(数组名)与指针辨异
  10. 3 Django视图层
  11. JanusGraph入门实操
  12. 文学-赋:洛神赋(三国曹植赋作)
  13. JVM菜鸟进阶高手之路十(基础知识开场白)
  14. vue路由SPA的介绍
  15. 每日一诗词 —— 将进酒
  16. 在单个虚拟机中搭建DPDK测试环境
  17. Surface的理解
  18. 2020最新安卓版本是多少_元气骑士2020最新角色兑换码 IOS、安卓礼包码大全领取攻略...
  19. 微型计算机字,小型微型计算机系统
  20. 这和计算机列表浏览服务器有关,电脑升级win10后,必做的40项性能优化

热门文章

  1. P4238 【模板】多项式乘法逆
  2. 苹果授权登录(Sign in with Apple)-JAVA后端开发
  3. C++编程-牛客网-雀魂启动
  4. 低代码掀起“数字革命”,引领制造业数字化转型
  5. FineBI中tomcat服务器部署
  6. 大文件分割工具,QT实现
  7. 电驴服务器软性文件,电驴服务器.doc
  8. VMware和mobaXterm连接总结
  9. DT算法(暗像元法)在C6.1中的改进:Aerosol Dark Target (10km 3km) Collection 6.1 Changes
  10. 解决win10任务栏卡死无响应点不动