[转]三维数字地球发布平台探索--几款开源软件介绍

先写想法:

想做个简单的地形漫游,于是考虑在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

原文链接:三维数字地球发布平台探索--几款开源软件介绍

时间: 2024-12-28 12:07:17

[转]三维数字地球发布平台探索--几款开源软件介绍的相关文章

三维数字地球云平台

三维数字地球云平台开放式的设计,云计算与云服务技术,扩展非常方便和快捷,整合海量的影像.矢量.地名.高程.三维模型等数据,基于服务器的三维地图云平台,为客户提供一体化.一站式产品与服务.三维数字地球云平台支持影像数据集.高程数据集.矢量数据集.地名数据集.KML数据集等.具体如下: 影像数据:支持Image.GeoTiff等格式: 高程数据:支持Image.GeoTiff等格式: 矢量数据:支持ArcGIS和SuperMap等格式: 地名数据集:通过点层生成地名数据集: KML数据集:制作并生成

100款开源软件

不知道这些你就OUT了!100款开源软件 好的软件可以极大提高工作效率,完成一些不可能完成工作.然而我们也常常为选择哪款软件而头疼,本次为大家推出的100款软件都是经过整理分类的,而且最重要的是100款软件都是开源免费且使用于Linux环境下,大部分都可以直接从官网上下载使用.如果你完全没有接触过以下我介绍的这100款软件,我只能说一句你OUT了! 图:100款软件分类图 接下来将要介绍的100款开源应用程序,是我花了很多时间为大家整理的,这些软件对大家来说是很有用的.我希望通过这100款软件告

2016年开源软件排名TOP50,最受IT公司欢迎的50款开源软件

2016年开源软件排名TOP50,最受IT公司欢迎的50款开源软件 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开源项目. Black Duck 在 2015 年的一项调查发现,78% 的企业组织使用开源软件,这个比例几乎是 2010 年时候的两倍.此外,88% 的企业表示,它们预计在今后几年,会加大为开源项目贡献代码的力度,66% 表示在

最受IT公司欢迎的50款开源软件

文章来自:云头条编译 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品. 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开源项目. Black Duck 在 2015 年的一项调查发现,78% 的企业组织使用开源软件,这个比例几乎是 2010 年时候的两倍.此外,88% 的企业表示,它们预计在今后几年

支撑起整个互联网时代的 7 款开源软件

开源软件现在成为整个互联网时代的支撑技术,你可能已经无法离开由开源软件构建起来的网络世界了.下面我们就来看看一些最重要的开源技术. 为互联网而生的操作系统linux Linux是一款免费的操作系统,诞生于1991年,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码. 它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳 定的多用户网络操作系统.这个系统是由全世界各地的成千上万的程序员设计和实现的.其目

springboot实战:我们的第一款开源软件

在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来看开源软件的,你给我扯什么信息干嘛,别着急,听我慢慢道来. 背景 浏览器收藏夹应该是我们在收藏文章.网站的第一个利器,平时遇到喜欢的网站或者文章很方便的收藏到收藏夹中:很快我们的收藏夹就满了,于是就像我这样,创建文件夹来分组两层.三层都有: 有的也会借助百度首页导航这样的一些功能来整理自己收藏的网站,以前我记得QQ还有一款

主流开发语言 33 款开源爬虫

原文地址 去年,之前的同事,喜欢看小说,就想自己没事搞个网站,我告诉他,先用爬虫把别人网站的小说下载下来,放到自己的网站里~我同事编码能力很强,学东西相当快,给他大概讲一下,帮他下载个用 http 协议下载网站的程序集(.net)就可以,但是,时不时,Web 会拒绝,后来,我说,http 协议是应用层协议,频繁访问人家 Web,可能会封你的 IP,你要写爬虫,可以干脆用 TCP/IP 网络层协议写~后来,他写熟了,直接用 TCP/IP 协议写的~ 现在想想,爬虫,这么多开源项目,自己写还真是多余

爬虫_83款 网络爬虫开源软件

1.http://www.oschina.net/project/tag/64/spider?lang=0&os=0&sort=view& 搜索引擎 Nutch Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步演变成为一个公司垄断了几乎所有的web... 更多Nutch信息 最近更新:[每日一博]Nu

83款 网络爬虫开源软件

1.http://www.oschina.net/project/tag/64/spider?lang=0&os=0&sort=view& 搜索引擎 Nutch Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步演变成为一个公司垄断了几乎所有的web... 更多Nutch信息 最近更新:[每日一博]Nu