开源(免费)三维 GIS(地形,游戏)

先写想法:

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

其他.net平台下开源(免费)三维 GIS (地形,游戏)平台资料

Axiom:开源3D游戏引擎,是著名的开源引擎OGRE的.NET版本。源代码完全用c#构造,主要为图形部分。
RealmForge:开源3d游戏引擎,图形部分采用Axiom、并组合并重写其他一些网络、人工智能等模块,完全由C#构造。

还有google earth,

Axiom 
The Axiom 3D Engine is an open-source, cross-platform 3D graphics rendering engine for .NET and Mono.  The engine is a high-performance C# port of the powerful OGRE engine.  Its flexible component-oriented architecture allows easy extension and provides full support for both DirectX and OpenGL.  The engine is also cross platform supporting both Windows and Linux operating systems.

RealmForge:
The .NET 3D game engine predecessor to Visual3D.NET (www.visual3d.net), which is a framework and toolset for the visual design and development of 3D games, simulations, and interactive environments using C#, .NET 2.0, and XNA.

irrlicht
The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.
We‘ve got a huge active community, and there are lots of projects in development that use the engine. You can find enhancements for Irrlicht all over the web, like alternative terrain renderers, portal renderers, exporters, world layers, tutorials, editors, language bindings for java, perl, ruby, basic, python, lua, and so on. And best of all: It‘s completely free.

非.net平台

ORGE:评价非常高开源3D游戏引擎。使用c++构建,主要为图形部分。

TerraVision 
http://www.ai.sri.com/digitalearth/index.shtml

http://www.ai.sri.com/tvgeo/download_full.shtml

https://sourceforge.net/projects/terravision

http://www.ai.sri.com/tvgeo/

TerraVisionTM is an Open Source distributed, interactive terrain visualization system developed by SRI International. It allows users to navigate, in real time, through a 3-D graphical representation of a real landscape created from elevation data and aerial images of that landscape. There are many terrain visualization tools on the market, but here are some of the features that make TerraVisionTM unique:

New: Full Open Source hosted on SourceForge. 
TerraVisionTM can browse huge datasets, in the order of terabytes. 
All data can be distributed over multiple servers across the Web. 
3-D VRML and GeoVRML models can be overlaid, e.g. buildings, wind vectors, etc. 
TerraVision can access OGC Web Map Servers (WMS) [More] 
Datasets of different size, resolution, source, and coordinate system are supported. 
New: TerraVision Server on Internet2. 
Available for free for Windows, Linux, and SGI platforms.
New: Version 6.0 released

时间: 2024-10-10 07:31:03

开源(免费)三维 GIS(地形,游戏)的相关文章

.NET平台下开源三维 GIS (地形与游戏)平台资料

.net平台下开源(免费)三维(地形,游戏)GIS平台 open source (free) 3d (terrain,game) gis platform based on .net (C#) Axiom:开源3D游戏引擎,是著名的开源引擎OGRE的.NET版本.源代码完全用c#构造,主要为图形部分.RealmForge:开源3d游戏引擎,图形部分采用Axiom.并组合并重写其他一些网络.人工智能等模块,完全由C#构造. 还有google earth, Axiom The Axiom 3D En

OpenSceneGraph是一个开源的三维引擎

http://www.osgchina.org/OpenSceneGraph是一个开源的三维引擎,被广泛的应用在可视化仿真.游戏.虚拟现实.科学计算.三维重建.地理信息.太空探索.石油矿产等领域.OSG采用标准C++和OpenGL编写而成,可运行在所有的Windows平台.OSX.GNU/Linux.IRIX.Solaris.HP-Ux.AIX.Android和FreeBSD 操作系统.OSG在各个行业均有着丰富的扩展,能够与使用OpenGL书写的引擎无缝的结合,使用国际上最先进的图形渲染技术,

基于三维GIS技术的公路交通数字孪生系统

交通运输系统是四个现代化建设的重要保障,在"一带一路"倡议规划背景下,互联网+.智慧交通提升到国家新战略.智慧交通的基石是建立可映射物理世界的虚拟世界,因此大多数交通管理平台项目通过抽象建模构造二维电子地图,并在抽象模型上集成数据及分析工具,实现运营期信息化管理.随着设计.施工.运营全生命周期细化管理日益增长的需求,传统的交通地理信息(Geographic Informa-tion System-Transportation,GIS-T)系统的压力也随之增加.交通基础设施数字化映射为三

基于三维GIS技术的矢量地图动态LOD渲染方法研究现状

“地图是人类文化的杰作,它融科学.艺术于一体,作为描述.研究人类生存环境的一种信息载体是人类生产与生活中不可缺少的一种工具.”这是陈述彭院士为<中国地图学年鉴>作序的开场语.Taylor也曾指出“当涉及应用人脑来识别空间联系中的模式与相互关系时,地图学的认知方法是唯一的过程”.地图存在于我们生活的方方面面,应用广泛且己经产生了巨大的社会效应和经济效益,其重要性不言而喻.地图是地图可视化的结果,地图可视化作为现代地图学的核心一直是三维GIS的研究热点.地图可视化将电子设备的视觉传输能力和人类的视

基于三维GIS技术的动态LOD渲染方法的实验及验证

针对透视投影下现有矢量地图动态LOD渲染方法存在的不足,本文从渲染的客观需求出发使用梯形格网统一了简化与剖分的过程,并研究了透视投影下梯形格网的简化算法.之后,分析了地图简化的影响因素,最终,针对GPU的渲染流程提出了一种基于三维GIS梯形格网的矢量地图动态LOD渲染方法.在此基础上,设计可视化平台的渲染引擎以实现地图渲染,并设计典型的实验案例验证本文方法的可行性与适用性.1.可视化平台的框架结构本文设计的可视化平台主要包括地图组织模块.地图操作模块和渲染执行模块三大子模块.以地理数据.符号库和

开源 免费 java CMS - FreeCMS1.9 站内信

项目地址:http://www.freeteam.cn/ 站内信 管理站内信数据. 1. 站内信 从左侧管理菜单点击站内信进入. 2. 发送 系统管理员可以直接发送站内信给会员. 点击"发送"按钮. 选择需要发送的会员,输入标题内容后点击"发送"按钮. 3. 查看 在站内信列表中直接点击标题可以查看站内信的详细信息. 4. 删除 选择需要删除的站内信,然后点击"删除"按钮. 提示:同时可以删除多个站内信. 为了防止误操作,系统会提示用户是否删除,

NLP常用开源/免费工具

一些常见的NLP任务的开源/免费工具, *Computational Linguistics ToolboxCLT http://complingone.georgetown.edu/~linguist/compling.htmlGATE http://gate.ac.uk/Natural Language Toolkit(NLTK) http://nltk.orgMALLET http://mallet.cs.umass.edu/index.php/Main_Page *English Ste

开源 免费 java CMS - FreeCMS1.9 移动APP生成栏目列表数据

项目地址:http://www.freeteam.cn/ 生成栏目列表数据 提取当前管理站点下允许移动APP访问的栏目列表,生成json数据到/site/站点目录/mobile/channels.html页面. 从左侧管理菜单点击生成栏目列表数据进入. 点击确定即可. 开源 免费 java CMS - FreeCMS1.9 移动APP生成栏目列表数据,布布扣,bubuko.com

开源 免费 java CMS - FreeCMS1.9 移动APP生成站点列表数据

项目地址:http://www.freeteam.cn/ 生成站点列表数据 提取允许移动APP访问的站点列表,生成json数据到/mobile/index.html页面. 从左侧管理菜单点击生成站点列表数据进入. 点击确定即可. 开源 免费 java CMS - FreeCMS1.9 移动APP生成站点列表数据,布布扣,bubuko.com