开源(免费)三维 GIS(地形,游戏) 续1
转自:http://www.cnblogs.com/xiexiaokui/archive/2009/04/02/1428525.html
转自 三维数字地球发布平台探索--几款开源软件介绍
http://www.3snews.net/html/71/22271-21962.html
先写想法:
想做个简单的地形漫游,于是考虑在ww直接开发,或找个控件形式的开发组件。
最大的期望有:
1. 支持google的sketchup,快速智能三维建模
2. 设计模式做好点,最好先做成组件形式,然后开发应用程序
3. 性能再好点,对于索引技术,内存管理等等
4. 客户端独立版本 和客户服务器端耦合版本的优化
5. 放点服务器的资料。
.net平台
1.WorldWind
知名度很高,介绍也很全。链接在这里NASAWorld Wind
目前分为.net版本和java版本。
开发语言:c#.java
渲染方式:DirectX,Opengl(Java)
WorldWind的优势
WorldWind的软件架构应该来说还是很不错的,很优秀。开放的设计,使得Worldwind的扩展非常方便和快捷,目前已有上百种各式各样的插件,很多插件都很有意思和实用。使用.net和java,研究它的工作原理变的相对容易。
相对来说.net版本的容易深入些。java版的严格面向对象方法的使用,使得java版的精简,但深入起来不如.net容易。
以前交流的时候,我经常会推荐WorldWind。很好很强大。
这里以.net版进行说明。
下面的缺陷不能掩盖WorldWind的光彩。
WorldWind的缺陷
总体架构设计没太大问题。主要在内部的几点
1.速度慢。几个原因导致worldwind在实际使用中存在速度慢的问题.
a)影像数据组织混乱。由于worldwind在系统设计时面向的就是各个行业各种数据的集成。因此他设计时的兼容,导致同一地区数据获取重复(占内存资源)、不同数据获取服务器速度不一致影响。
b)c#异常。捕获异常占用了worldwind大部分时间。导致显示、数据获取时严重的停顿。
c)SRTM的动态生成。如果你想像取图工具一样把SRTM下载下来,那简直不可能。
d)QueueDownload实际运作时,一旦出现异常和错误,将导致数据下载停顿。需要重新调整视角。而貌似多线程的下载,实际效果并不明显。这就导致显示出现停顿。
2.三维支持能力稍差。
尤其是在模型的支持方面,虽然有个ModelFeature类来进行三维显示。这里有问题:
a)不支持LOD,虽然.x文件设计时能支持,不过显然ModelFeature不支持。
b)模型显示漂移。当你放大到最详细时,会发现模型左右上下晃动。
c)模型未按tile形式组织。Cache、内存、释放等方式都存在问题。
3.矢量支持
worldwind的矢量处理显示类比较混乱。效果也不是太好。
4.KML支持
通过一个插件能够支持KML,不过想达到googleearth的添加等功能,还需要做很多工作。
5.内存泄露
按理,c#不会存在内存泄露。出现问题的地方是QuadTile.Dispose,D3D的纹理没有进行清除。使得资源占用越来越大,速度越来越慢
6.DEM显示缺陷
每个Tile之间未作平滑处理,经常会出现深坑、断档。
7.影像黑边
大多数基于worldwind的软件,可以看到影像边缘很明显的黑边、锯齿。究其原因,是Jpg压缩,出现黑色渗透交融导致黑边锯齿。 两种解决办法,a)边缘地带采用png。b)严格的数据组织。
WorldWind的国内应用
可以说,国内很多高手都解决了上述的问题,并且发扬WorldWind的优势。典型代表EVGlobe等等。很不容易,从某种角度上来说,确实是自主研发。
非.net平台
2.OSSIMPlanet
链接:ossimplanet
开发语言:c++
渲染方式:opengl
相比WorldWind而言,名气并太大。虽然推荐时,我一般不推荐它,但他确实是另外一个很强大的开源数字地球。我不推荐它的原因是:
1)基于c++。光研究了解它就要花好多成本,这并不太适合国内公司和单位。门槛高,时间长,见效慢。
2)相关资料少。它涉及到太多的大型开源库,而国内翻译的资料相对少很多。不像WorldWind,拿套源代码就能开干。
但我很喜欢它,作为技术人员来说,我推荐大家去看。很多乐趣和知识在里面。很优雅,很内涵,值得收藏。
OSSIMPlanet优势
1)基于OSG(Open Scene Graph),一个很庞大很工业很成熟的开源软件。这点很吸引我。国内很多公司采用,如西安赛能。地址:http://www.3snews.net/html/71/www.openscenegraph.org
仅OSG就能列出非常多的文章,使用OSG的好处不胜列举。要描述清楚需要花很多篇幅。这里我们就带过。
2)平滑快速高效的显示效果。
3)作为平台来说,他涵盖的内容很全,比如你可以用OSG做出媲美TerraBuilder的软件。用GDAL+OSG支持绝大多数矢量、影像、模型文件。
4)完美的模型支持。不用说LOD,连整个城市装入一点问题没有。在很早以前,有个叫做VTP的虚拟城市开源软件。
5)专业化,确实很专业。
6)脚本支持。通过采用OSG的osgInterper(这部分实在是太美妙了),能快速绑定Python,Lua,JavaScript,Ruby。
7)想了解更多的优势,还是自己去下个来看吧。
OSSIMPlanet缺陷
从技术角度来讲,OSSIMPlanet的缺陷几乎没有。不过,上面说过了,想基于它形成自己的产品和解决方案,要花很多投入和资金。因此它的硬伤就是,不适合商业化。
OSSIMPlanet国内应用
几年前,我和一个开发工作室聊过。他们采用的是OSG以及基于OSG开发的数字地球,参考了ossimplanet但未直接使用。因此,国内应用,没有。
这个工作室产品名为VirtualTerran。后来貌似变成了mapok(不确定,知道的请联系我)
3.Gps3D
地址:http://www.3snews.net/html/71/www.mgix.com/gps3d/
这款开源软件应该来说更侧重于gps功能。当然也包含了三维地球的部分功能。
开发语言:c++
渲染方式:Opengl
这个开源软件很小巧也很实用。作为技术参考来说,非常不错。可以参考的部分是经纬度转三维坐标,WMS、WFS的远程调用以及Tile的三维显示。
缺点就不多说,毕竟方向不一致,不能以平台来要求它。
4.Earth3D
地址:http://www.3snews.net/html/71/www.earth3d.org
这款开源软件适合初步研究三维地球。它显示了三维地球,并显示了国界线。
开发语言:c++
渲染方式:Opengl
作为初步研究,还是不错的。毕竟起点的第一步就是如何显示三维地球并贴上MODIS数据。它还能显示国界线。很不错的参考。
5.其他更多的开源软件
目前为止,我发现的开源软件就是以上4种,如果你知道更多,请告诉我。
总结:
1.WorldWind最成熟,最适合商业化.
2.技术最优OSSIMPlanet
开源(免费)三维 GIS(地形,游戏) 续1的更多相关文章
- 开源(免费)三维 GIS(地形,游戏)
先写想法: 想做个简单的地形漫游,于是考虑在ww直接开发,或找个控件形式的开发组件. 最大的期望有: 1. 支持google的sketchup,快速智能三维建模 2. 设计模式做好点,最好先做成组件形 ...
- .NET平台下开源三维 GIS (地形与游戏)平台资料
.net平台下开源(免费)三维(地形,游戏)GIS平台 open source (free) 3d (terrain,game) gis platform based on .net (C#) Axi ...
- 开源免费的HTML5游戏引擎
青瓷引擎的成长 青瓷引擎自2015年4月项目启动开始,7月首次亮相2015年ChinaJoy,便得到业界的极大关注,随后开启限量测试,收到数百个开发者团队的试用申请及反馈,期间经历了18个内测版本,完 ...
- 开源免费的HTML5游戏引擎——青瓷引擎(QICI Engine) 1.0正式版发布了!
青瓷引擎的成长 青瓷引擎自2015年4月项目启动开始,7月首次亮相2015年ChinaJoy,便得到业界的极大关注,随后开启限量测试,收到数百个开发者团队的试用申请及反馈,期间经历了18个内测版本,完 ...
- Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架
Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架,提供JavaScript和TypeScript双重支持,内置游戏对象的物理属性,采用Pixi.js引擎以加快Canvas和W ...
- 19个三维GIS软件对比
19个三维GIS软件对比 麦豆科研技术中心 days ago 我国GIS经过三十多年的发展,理论和技术日趋成熟,在传统二维GIS已不能满足应用需求的情况下,三维GIS应运而生,并成为GIS的重要发展方 ...
- 国内外主流的三维GIS软件
我国GIS经过三十多年的发展,理论和技术日趋成熟,在传统二维GIS已不能满足应用需求的情况下,三维GIS应运而生,并成为GIS的重要发展方向之一.上世纪八十年代末以来,空间信息三维可视化技术成为业界研 ...
- OpenWebGlobe-开源三维GIS初体验(附源码和演示)
1.OpenWebGlobe简介 OpenWebGlobe是一个高性能的三维引擎.可应用于可视化仿真,游戏,三维GIS,虚拟现实等领域.它使用纯javascript编写,可以运行在任何支持HTML5. ...
- [转]的C#实现三维数字地形漫游(基于Irrlicht)
马省轩 任丽娜 摘 要:本文采用C#编程语言,利用Irrlicht三维图形引擎实现了三维数字地形的漫游.为三维数字地形显示提供了较易实现的解决方案. 关键词:C# 高度图 Irrlicht引擎 ...
随机推荐
- C#微信开发之旅--自定义菜单
上一篇说道基本信息的回复<C#微信开发之旅--基本信息的回复>,当中就说到文本信息的回复,其他信息的回复,可以参考下开发文档中回复信息的格式进行修改就可以. 下面来实现下自定义菜单.据我了 ...
- 怎么安装MySQL,安装MySQL遇到的一些问题!!!!!!
简介: 对于初学,我们在安装MySQL时,会出现各种各样的报错,这让我们非常的头痛.那么我来分享一下我在安装的过程中遇到的一些问题吧! 我们在安装MySQL之前,先安装好dotNetFx40_Clie ...
- Android自定义视图教程
Android自定义视图教程 Android的UI元素都是基于View(屏幕中单个元素)和ViewGroup(元素的集合),Android有许多自带的组件和布局,比如Button.TextView.R ...
- 自定义注解与MYSQL
无聊之作,可以提意见,但别嘲笑啊 package bean; import java.sql.Date; import annotationK.annotation.Column; import an ...
- 获取元素样式 currentStyle 和 getcomputedStyle
场景 你要获取某一元素的样式,可是没有获取到,返回的值为undefined,可是有时候又能成功? 为什么? 因为,xx.stly.xxx 可以获取的样式信息,是dom元素style属性里的样式,对于通 ...
- SSH框架jar神包
SSH JAR包链接(https://zhidao.baidu.com/share/ac8b1389bac84023d7442cad88f3933c.html)
- php随机生成福彩双色球号码
发布:thebaby 来源:net [大 中 小] 不瞒您说,俺也是个双色球爱好者,经常买,但迟迟没有中过一等奖,哈哈.这里为大家介绍用php随机生成福彩双色球号码的二种方法,供朋友们学习 ...
- S3C2440的LCD虚拟显示测试
一.概述 S3C2440的LCD控制器支持虚拟显示,说的容易理解一点就是,可以显示比实际显示器大的图像.可以这样想象,有一个大的图片,但是显示器(显示串口)比较小,但是我们可以相对于大图片(即大图 ...
- 关于OA中权限越级的问题
最近被人问了一个问题, 在OA中我, 经理出差了,下属需要用到 经理的权限,应该怎么处理. 这个问题比较简单,大神,请指点一下. 一开始 ,我就被搞懵了. 我的回答是: 经理出差之前赋给权限就可以了. ...
- JVM 学习笔记(二)
JVM 堆中几乎存放着java中所有的对象实例,在在垃圾回收前先要判断对象是否已死,这里对对象的判断主要有: 1. 引用计数法 给对象中添加一个引用计数器,每当有一个地方引用他时,计数器就加1:当引 ...