OSGEarth编译与测试

合集下载

OSGEarth编译与测试

OSGEarth编译与测试

第一章OSGEarth编译与测试2.1 OSGEarth编译第一步:配置系统环境变量。

新设置OSG_FILE_PATH变量,值为E:\OSGearth\OSGEARTH\data; E:\OSGearth\GDAL\data;向PATH添加值:E:\OSGearth\3rdParty\bin;E:\OSGearth\OSGEARTH\bin\Debug;E:\OSGearth\OSGEARTH\bin\Release;第二步:使用“生成”->“批生产”,选择all_build(debug|win32和release|win32)进行生成。

在编译过程中存在4个文件无法编译成功,但是不影响正常的测试。

第三步:修改这些错误。

上述错误的问题主要出现在E:\osgearth\osgearth\src\applications\osgearth_imageoverlay\osgearth_imageoverlay.cpp文件的36-39行。

原因是OSG_MIN_VERSION_REQUIRED(2,9,6)限制了osg的版本。

本文使用了v3.0.1版,因此需要添加需要添加ImageOverlayEditor文件。

(目前还没有解决)2.2 OSGEarth测试测试release版本:1.打开cmd窗口,进入E:\osgearth\osgearth\vs2010\bin\Release;2.输入命令:osgearth_viewer.exe E:\osgearth\osgearth\tests\gdal_tiff.earth;会出现一个提示3.复制所需的dll到E:\osgearth\osgearth\vs2010\bin\Release文件夹中。

可能需要重复好多次。

4.测试成功会出现下面界面:。

osgEarth编译环境配置

osgEarth编译环境配置

中国西安OSGEARTH三维地形开源项目项目使用手册XComs2011-11-4[在此处键入文档的摘要。

摘要通常是对文档内容的简短总结。

在此处键入文档的摘要。

摘要通常是对文档内容的简短总结。

]前言本书主要基于OSGEarth v2.0版本进行编写,以vs2010主要编译工具,windowsXP 作为运行平台。

根据实际项目需求编写,主要目录前言 (2)第一章OSGEarth介绍 (5)第二章OSGEarth编译环境配置 (5)第一节OSGEarth V2.0相关资源 (5)第二节Open Scene Graph安装与配置 (6)2.1 CMake介绍与安装 (6)2.2 Open Scene Graph介绍 (7)2.3 Open Scene Graph 安装 (8)第三节CURL安装与配置 (18)3.1 CURL介绍 (18)3.2 CURL编译 (19)第四节GDAL安装与配置 (20)4.1 GDAL介绍 (20)4.2 GDAL编译 (21)第五节GEOS安装与配置 (23)5.1 GEOS介绍 (23)5.2 GEOS编译 (23)第六节Expat安装与配置 (29)6.1 Expat介绍 (29)6.2 Expat配置 (29)第七节SQLite安装与配置 (30)7.1 SQLite介绍 (30)7.2 SQLite编译与配置 (30)第八节Minizip安装与配置 (32)8.1 MiniZip介绍 (32)8.2 MiniZip的编译与配置 (32)第九节Virtual Planet Builder安装与配置 (33)9.1 Virtual Planet Builder介绍 (33)9.2 Virtual Planet Builder编译 (34)最后其他资源的配置 (42)X.1 Open Scene Graph 第三方支持库 (42)X.2 libzip库 (43)X.3 Osgearth资源下载 (43)第三章OSGEarth编译 (46)第一节sln生成 (46)1.1 CMAKE配置 (46)1.2 VS2010配置 (52)第二节OSGEarth编译与测试 (54)2.1 OSGEarth编译 (54)2.2 OSGEarth测试 (56)第四章OSGEarth学习 (57)第一章OSGEarth介绍第二章OSGEarth编译环境配置OSGEarth的编译环境配置随着版本的不同、运行平台的不同,也有很大的差异。

osgearth_conv 用法

osgearth_conv 用法

osgearth_conv 用法关于osgearth_conv 的用法osgearth_conv 是一个开源的命令行工具,用于在OpenSceneGraph 环境中进行地理数据转换和处理。

它提供了丰富的功能和选项,使用户能够灵活地处理地理数据以支持各种地理可视化和分析应用。

本文将一步一步地回答关于osgearth_conv 的用法。

一、安装osgearth_conv要使用osgearth_conv,首先需要安装OpenSceneGraph 和OsgEarth。

OpenSceneGraph 是一个高性能的、跨平台的3D 编程工具包,而OsgEarth 是基于OpenSceneGraph 的地理可视化工具包。

安装这两个工具包后,就可以使用osgearth_conv 了。

二、osgearth_conv 的基本用法osgearth_conv 的基本用法如下:osgearth_conv input_file [options]其中,input_file 是输入的地理数据文件路径,而options 表示一些可选的参数和选项。

三、地理数据格式支持osgearth_conv 支持多种地理数据格式,包括常见的地理信息系统(Geographic Information System,简称GIS) 格式如Shapefile、GeoJSON、KML 等,以及常用的栅格数据格式如GeoTIFF、JPEG2000 等。

用户可以根据自己的需要选择相应的输入格式。

四、地理数据投影转换osgearth_conv 提供了投影转换的功能,用户可以将输入数据从一个坐标系转换到另一个坐标系。

例如,如果输入数据使用的是WGS84 坐标系(经纬度坐标),而用户希望将其转换为投影坐标系,可以使用如下命令:osgearth_conv input_file in-epsg 4326 out-epsg 3857其中,in-epsg 表示输入数据的坐标系编码,4326 表示WGS84 坐标系;out-epsg 表示输出数据的坐标系编码,3857 表示Web Mercator 投影坐标系。

osgEarth用户手册

osgEarth用户手册

1、OSGEARTH 安装OsgEarth是一个跨平台的库,可以使用版本号为2.6.2或更新版本的Cmake 对其进行编译。

1.1、获取源码三个方法可以获取osgearth源码:Option1:使用GITosgEarth源码托管于GitHub,所以我们需要一个Git客户端。

Windows下推荐T ortoiseGit,SVN 小乌龟的Git 版本。

评价:该有的功能基本都有了,还是不错的。

备注:GitHub是一个为那些使用Git版本控制系统的项目提供基于互联网的存取服务的Git存取站点。

它是由GItHub公司(先前被称作用Logical Awesome)的开发者Chris Wanstrath, PJ Hyett, 和Tom Preston-Werner 使用Ruby on Rails写成的。

最新版本是Version 2.0,osgearth_2.0_T2011-02-24。

Option2: 下载tarballtarball是linux下最方便的打包工具,是以tar这个指令来打包与压缩的档案。

下载页面: /gwaldron/osgearth/downloadsOption3:使用版本控制SVN在您的SVN客户端上键入:/gwaldron/osgearth.git1.2、准备工作osgEarth需要第三方支持库才能编译。

所需的依赖服务如下:●OpenSceneGraph 2.8或更新的●GDAL 1.6或更新的,Geospatial Data Abstraction Layer的缩写。

是一个在X/MIT许可协议下的开源栅格空间数据转换库●CURL- HTTP transfer library,是一个利用URL语法在命令行方式下工作的文件传输工具。

可选依赖如下(没有他们,osgEarth可以运行,但将会失去一些功能):●GEOS3.2.0或更高版本-C++拓展库,这个库是用来osgEarthFeatures模块执行各种几何处理操作,如缓冲和交集。

osgEarth编译总结

osgEarth编译总结

首先在osg的编译上有一点记录一下:1 我们下载的第三方依赖3rdParty_x86_x64 这个文件对于VS2008和VS2010来说可能VS2008的提供库要全一些。

2 对于3rdParty_x86_x64文件夹下的x86和x64来说我们的系统如果是32位的应该就只能选x86 对于x64来说我们两个包都是可以选择的,据说在64位的系统上的32位程序是模拟运行的。

如果我们编译时选择直接编译。

那最好是选x86那个包。

在这次的选择中选择x64包结果编译到osgDB库的时候出现了错误。

如果想编译出来的程序只是用于x64 那么可以尝试在x64包的基础上对VS进行相关的设置,应该是不会有很大问题的。

下面主要是对osgEarth进行编译由于osgEarth没有对第三方依赖进行打包,所以我们就不得不自己进行配置相关的依赖。

首先下载源码包,我们进入官网/wiki/Downloads下载源码简单明了。

接下来我们下载第三方依赖:1 GDAL下载:/gdal/wiki/DownloadSource在这里我们选择1.8.1版本,因为在1.9.0版本使用中出现了编译不能通过的情况。

当然我们也可以自己将编译过程中出现的问题解决。

在这里我们只是为了编译GDAL“不节外生枝”下面我们来对这个库进行编译:对于这个版本有两种方法可以编译1 它里面有两个.sln,使用其中之一编译就行2 下载完GDAL的源码后,还需要先运行makegdal_gen.bat这个文件,然后打开X:\Program Files\Microsoft Visual Studio\VC98\bin\VCVARS32.BAT,X代表你VS的安装盘.打开后用cd命令切换到你GDAL的目录下执行命令,nmake /f makefile.vc MSVC_VER=1500 BUILD_DEBUG=YES,其中1500代表VS版本2008,当然你也可以进入nmake配置文件修改.文件编译完成后我们有两种不同的处理方法方法一将生成的lib dll 包括: gdal_i.lib gdal.lib cpl.lib(port目录下) ogr.lib(ogr目录下), 以及gdal17.dll 拷贝到E:\OSG\GDAL\apps下,这一种在后面的使用中会直接将这个作为cmake的应用目录(在工程中添加包含目录时会很麻烦,不推荐采用)方法二GDAL编译完成后的文件存放于C0:\warmerda\bld,包含文件include,lib,data,bin,可将它们拷贝到GDAL文件夹下,置于OSG目录下。

osgearth各个例子功能概述

osgearth各个例子功能概述

osgearth各个例⼦功能概述转⾃:/wl198302/article/details/21177309最近在学习osgearth,对其还不是很理解,有些例⼦不会运⾏,有些可以,把可以的做个统计,以备后⾯查⽤。

1、osgearth_graticule:⽣成经纬线。

2、osgearth_annotation:各类标注(点、线、⾯、模型、⽂本等)。

3、osgearth_city:加载⼀个城市三维模型,可以浏览。

4、osgearth_clamp:在⼀个区域加载⽣成5000个树⽊的三维模型展⽰。

5、osgearth_colorfilter:运⾏不起来……6、osgeatth_controls:有⼀个osg的图标,可以控制透明度与⽅向。

还有⼀些⽂本矩形框之类的。

7、osgearth_demo:qt的⼀个集成地球的例⼦8、osgearth_elevation:显⽰⿏标所指位置的经纬度、坐标系、⾼程(MSL\HAE)、分辨率。

不过运⾏⾮常缓慢。

9、osgearth_featureeditor:添加⼀条线,并可以修改线的节点与颜⾊(编辑时,线的形状变为虚线段)。

10、osgearth_featurfilter:出来⼀个地球,不知道需要什么数据才能运⾏出效果。

例⼦给出的⽤途为-简单的功能过滤,改变数据源特征属性的值。

11、osgearth_featureinfo:不是界⾯程序,不知道⼲嘛的……12、osgearth_featuremanip:出现⼀个地球,没明⽩⼲嘛的……13、osgearth_featurequery:同上……14、osgearth_imageoverlay:在地图上叠加⼀张gif图⽚,并可以控制图⽚的透明度。

15、osgearth_features:代码建⽴地图,并加载各国分界线的shp数据。

16、osgearth_los:以稍稍⽔平的视⾓,显⽰飞机模型绕⼀点旋转,还有⼀些运动对象。

17、osgearth_manip:地球上⽣成⼀个⽴体的helloworld⽂字,并且可以控制⽂字⾏⾛,快速定位不同级别的视点,让⽂字始终在屏幕中央,地球滚动,很好的功能 O(∩_∩)O~18、osgearth_map:代码⽣成地球tms地图图层。

osgEarth如何加载离线谷歌卫星地图瓦片的源码教程

osgEarth如何加载离线谷歌卫星地图瓦片的源码教程

osgEarth如何加载离线谷歌卫星地图瓦片的源码教程说明本实例演示重新编译bing驱动直接加载本地离线影像瓦片地图。

本实例使用软件版本:osg3.3.1和osgEarth2.5 VC10编译环境(参考osgearth加载谷歌卫星地图的源码案例),vs2010,水经注万能地图下载器。

影像瓦片来源“水经注万能地图下载器”。

如果没有安装本软件,可以百度“水经注软件”到官方网站下载。

一、下载瓦片数据启动水经注万能地图下载器,点击“我的下载”,选择“新建任务”,弹出“选择地图类型”对话框,选择相应的地图类型,点击“确认”,如下图。

弹出“新建任务”对话框输入全球坐标,由于我们需要导出瓦片数据,为了增加缩放效果,这里我们从1级到8级都勾选上。

选择好级别后,点击开始下载。

下载完成后会弹出对话框询问是否要立即导出,选择“是”,然后显示“导出图片数据”对话框,如下图所示。

在该对话框中,选择导出“瓦片:Bing Map”,导出级别“1-8”,选择保存路径,点击“输出”按钮导出数据即可。

二、重新编译Bing驱动新建“osgdb_osgearth_bingd”动态库项目,如下图所示。

点击“确定”,弹出“应用程序向导”,如下图所示。

点击下一步选择程序类型“DLL”,点击“完成”。

添加“包含目录”和“库目录”包含目录设置为“D:\OSG\include”库目录设置为“D:\OSG\lib“以上目录路径根据OSG文件位置设定。

附加依赖项OpenThreads.libosgd.libosgAnimationd.libosgDBd.libosgdb_osgearth_feature_ogrd.lib osgdb_osgearth_feature_tfsd.lib osgdb_osgearth_feature_wfsd.lib osgEarthd.lib osgEarthAnnotationd.lib osgEarthFeaturesd.lib osgEarthSymbologyd.libosgEarthUtild.libosgFXd.lib osgGAd.lib osgManipulatord.lib osgParticled.lib osgPresentationd.lib osgShadowd.lib osgSimd.lib osgTerraind.lib osgTextd.lib osgUtild.lib osgViewerd.lib osgVolumed.lib osgWidgetd.lib点击“确定“。

地图数据编译方案

地图数据编译方案

地图数据编译方案1. 引言地图数据是现代社会不可或缺的一部分,它们在各个领域都扮演着重要的角色,例如导航、物流、旅游等。

然而,地图数据的获取和编译是一项复杂的任务,需要综合考虑地理数据的准确性、更新性和可用性等因素。

本文将介绍地图数据编译方案,包括数据采集、处理和发布等环节,旨在提供一个可行的方法来编译地图数据。

2. 数据采集地图数据的采集是地图编译的第一步,它涉及到收集各种地理信息数据,例如地形、道路、建筑物等。

以下是一些常见的数据采集方法:2.1 GPS采集GPS(全球定位系统)是一种使用卫星信号进行定位的技术,它可以提供非常精确的地理位置信息。

通过搭载GPS接收器的设备,可以实时记录位置数据,并将其存储下来。

这种方法适用于采集单个点或线性特征的地理数据。

2.2 遥感影像采集遥感影像是卫星或飞机拍摄的地球表面的图像,在地图编译中有着重要的作用。

通过分析这些影像,可以提取出地理要素的位置、形状和属性等信息。

遥感影像采集方法可以通过卫星、飞机或无人机进行。

2.3 地面调查地面调查是指直接在现实中对地理要素进行观察和记录。

这种方法可以获取更详细、准确的地理数据,但时间和人力成本较高。

地图编译中的地面调查可以采用传统的测量仪器,如全站仪、GPS测量仪等。

3. 数据处理采集到的地理数据需要经过一系列的处理,以使其成为可用于地图编译的数据集。

以下是数据处理的一些主要步骤:3.1 数据清理采集到的地理数据可能存在错误、冗余和不一致等问题,需要进行数据清理。

这包括删除无效的数据点、修复错误的属性值和纠正地理拓扑关系等。

3.2 数据拓扑建模地理数据通常以点、线和面的形式存在,为了更好地表示地理现象,需要将这些数据要素进行拓扑建模。

这包括建立节点、线段和面片之间的拓扑关系,以及处理重叠、交叉和连接等现象。

3.3 数据属性关联地理数据的属性信息对地图编译具有重要意义,例如道路的名称、建筑物的类型等。

在数据属性关联过程中,我们需要将采集到的属性信息与地理要素进行关联,以便后续的地图显示和查询。

osgearth嵌入qt的实现方式

osgearth嵌入qt的实现方式

osgearth嵌入qt的实现方式osgEarth是一个基于开源地理信息数据源的3D地球可视化引擎,它使用OpenGL来渲染高质量的地球表面,并且允许用户跨平台、快速开发并拓展新的地球可视化应用程序。

Qt是一个跨平台的应用程序框架,它允许您以C++代码开发高性能、本地主题和易于使用的GUI应用程序。

osgEarth可以通过嵌入qt实现地球可视化在Qt应用程序中的集成。

本文将介绍如何将osgEarth嵌入到Qt应用程序中的实现方式。

主要包括以下几个方面:1.安装和配置osgEarth和Qt要将osgEarth嵌入到Qt应用程序中,首先需要安装和配置好osgEarth和Qt库。

这里不再介绍如何安装和配置这两个库,读者可以自行搜索相关教程进行学习。

2. 创建Qt窗口在Qt中创建一个窗口,可以在Qt Designer中完成,并使用Qt Creator进行编辑和添加相应的代码。

3. 配置osgEarth在Qt应用程序中运行osgEarth需要进行以下配置:3.1创建osgEarth::Map对象创建osgEarth::Map对象是展示地图的第一步。

osgEarth::Map对象加载地理数据源,i.e. imagerylayers, elevation layers, and other geospatial information. The simplest usage of Map involves loading a single layer like an OpenStreetMap service layer.osgEarth::Map对象是一个单例,重新加载地图只需要在原来Map对象的基础上添加新的地图服务即可。

3.2 创建osiEarth::Viewer对象Viewer对象是地球全局显示的对象。

一次显示经纬度为180°至-180°,纬度为90°至-90°地球的最基本配置包括:- 创建视口(viewport) - 创建相机(camera) - 创建场景图(scene graph)通过以上三点,地球才能正常渲染。

osgearth实践应用案例

osgearth实践应用案例

osgearth实践应用案例
1. 地理信息系统(GIS)应用:osgEarth可以与GIS软件集成,用于创建高度精确的地理信息系统。

例如,osgEarth可以用于创建地图、分析地形数据、显示地理位置等。

2. 3D可视化:osgEarth可以将地理数据转化为3D模型,实现地理数据的可视化展示。

例如,osgEarth可以用于创建虚拟地球模型,展示地球上的地形、水域、建筑物等。

3. 地理数据分析:osgEarth提供了丰富的地理数据分析功能,可以进行地形分析、地理数据可视化等。

例如,osgEarth可以用于分析地形高程数据,计算坡度、坡向等地形指标。

4. 场景模拟与规划:osgEarth可以用于场景模拟与规划,例如城市规划、交通规划等。

osgEarth可以将地理数据与实时数据结合,进行场景模拟和规划分析。

5. 航空航天应用:osgEarth可以用于航空航天应用,例如飞行模拟、无人机导航等。

osgEarth可以创建高度精确的地球模型,用于飞行仿真和导航。

6. 智能交通系统:osgEarth可以与交通系统集成,用于交通数据可视化和分析。

例如,osgEarth可以显示交通拥堵情况,进行交通流量预测等。

以上仅为osgEarth的一些实践应用案例,osgEarth还可以应用于许多其他领域,如农业、环境保护、水资源管理等。

编译osg、osgEarth、QGIS

编译osg、osgEarth、QGIS

编译QGIS-修改记录目录编译QGIS (1)- (1)修改记录 (2)目录 (3)1.准备 (4)1.1.下载源码: (4)1.2.下载依赖的第三方库 (4)1.3.使用osgeo4w-setup下载第三方依赖库 (4)1.3.1.osgeo4w-setup的获取 (4)1.3.2.下载第三方库 (4)2.编译OpenSceneGraph-3.2.1 (5)3.编译osgearth (5)4.编译QWT 5.2.3 (7)5.编译QGIS (8)5.1.准备: (8)5.2.修改CMakefile.txt文件: (8)5.3.编译Debug版本: (9)5.4.编译Release版本 (10)1.准备1.1.下载源码:下载OpenSceneGraph-3.2.1、osgearth-osgearth-2.5、qgis_2.4的源码;1.2.下载依赖的第三方库使用下载QIS依赖的第三方库。

使用windows-VS10.0.30319-x86-debug.7z中的osg第三方库。

1.3.使用osgeo4w-setup下载第三方依赖库1.3.1.o sgeo4w-setup的获取从安装版QGIS中获取。

或从/osgeo4w/网站获取。

1.3.2.下载第三方库1)运行osgeo4w-setup2)选择“Advanced Install“,下一步;3)选择“Download Without Installing“,下一步。

(只下载不安装,目的是以后继续使用下载的文件。

也可以选择”Install from Internet“);4)在“Select Loacal Package Directory“,选择存放安装包的本地目录,下一步。

5)在“Select Packages“页面中,选择要下载的包。

安装:1)在上述第3)步中,选择“Install from Local Directory“,2)在“Root Directory“中指定安装的目的目录(如E:\QEarth)3)在“Select Loacal Package Directory“中选择上面第4)步指定的存放安装包的本地目录。

osgEarth基础入门

osgEarth基础入门

osgEarth基础⼊门osgEarth基础⼊门2015年3⽉21⽇16:19osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了⽡⽚调度插件,可选的四叉树调度插件,更多的地理数据加载插件(包括GDAL,ogr,WMS,TMS,VPB,filesystem等),再结合⼀套地理投影转换插件,这样就能够实现⾼效处理加载调度地理数据在三维地球上的显⽰,实现三维虚拟地球。

想要实现⼀个简单的基于osgEarth的三维地球,有两种⽅式,这两种⽅式是互通的。

⼀种基于XML标签的earth⽂件加载,另外⼀种是采⽤C++代码,本质是⼀样的,osgEarth内部⽀持直接解析XML标签⽂件,转换为代码实现,具体参考tests⽂件夹例⼦,代码则参考application 下⾯例⼦。

但是⼤多数情况下,你需要更灵活掌控性更强的代码来实现功能,因为只有⼀个加载了基础数据的三维地球是只能看,不能解决实际问题的,需要界⾯通常采⽤QT,更多的三维渲染和仿真业务则由osg来完成。

因此学好osg是做这⼀切的基础。

osgEarth的特点:⽀持加载常见的栅格数据(影像和DEM),但是⼤数据必须建⽴⾦字塔,设置为地理投影,想要⾼效率最好处理为⽡⽚,这样也便于部署在服务端。

⽮量数据,最好尽可能的简化,因为⼤的⽮量会⼗分影响渲染速度,当然也可以对⽮量栅格化处理加快速度,对于模型的话,⼤数据量⼀定要做LOD或者pageLod。

osgEarth程序的常规流程:创建osgViewer---->创建MapNode---->设置Earth操作器---->设置场景参数----->runMapNode是继承⾃osg的Node,是osgEarth中地球节点,你所添加的影像,DEM,模型都包含在MapNode中,因为它们都加⼊到Map中,Map则类似⼆维中的Map可以添加各种图层。

剩余的不管是模型节点Node,或者是标注Node,还是其他的都是可以直接添加到MapNode中或者另外的Group中。

osg和osgearth编译

osg和osgearth编译

Ubuntu12.04下osg,osgearth编译全步骤1.安装文件夹拷贝到/home目录下2.su -命令切换到root,然后检测Linux环境是否是Linux64位3.检测ffmpeg是否存在,若存在则移除ffmpeg4.检测QT是否存在,若存在则移除QT删除QT5.更新源和直接用命令安装其他依赖的软件更新源:apt-get update -yapt-get upgrade -y安装依赖软件:apt-get install gcc –yapt-get install g++ -yapt-get install yasm –yapt-get install cmake –yapt-get install cmake-gui –yapt-get install curses-gui –yapt-get install cmake-curses-gui –y apt-get build-dep openscenegraph –yapt-get install libboost1.48-all-dev –y apt-get install gtk-2.0 –yapt-get install libgtkglext1-dev –y6.修复boost头文件位置cp –r /usr/include/boost /usr/local/include/7.安装QT进入qt安装包所在目录,开始安装配置环境变量:(1)gedit /etc/profile 打开配置文件,在末尾中添加:OSG_FILE_PATH=/home/GeoVisEnvironmentUbuntu/osg/OpenSceneGraph-Data-3.0.0 QTDIR=/opt/Qt5.4.0/5.4/gcc_64PATH=/opt/Qt5.4.0/Tools/QtCreator/bin:$QTDIR/bin:$PATHexport OSG_FILE_PATHexport QTDIRexport PATH(2)gedit /etc/ld.so.conf.d/libc.conf,在末尾添加:/opt/Qt5.4.0/5.4/gcc_64/lib(3)gedit ~/.bashrc,在末尾同(1)相同的加入:OSG_FILE_PATH=/home/GeoVisEnvironmentUbuntu/osg/OpenSceneGraph-Data-3.0.0 QTDIR=/opt/Qt5.4.0/5.4/gcc_64PATH=/opt/Qt5.4.0/Tools/QtCreator/bin:$QTDIR/bin:$PATHexport OSG_FILE_PATHexport QTDIRexport PATH8.安装ffmpeg进入ffmpeg所在文件夹,tar -xjf ffmpeg-2.5.tar.bz2cd ffmpeg-2.5./configure --enable-shared --enable-picmake -j 4make install9.安装和更新gdal删除之前的gdal库find / -name libgdal.so*解压gdal安装包,进入文件夹,执行./configure执行make –j 8,之后执行make install修正库路径cp ./.libs/libgdal.so* /usr/lib10.将动态链接库加载到内存,即配置路径,然后刷新,将其真正加载到内存并可用执行touch /etc/ld.so.conf.d/libc.confecho "/usr/local/lib64" >> /etc/ld.so.conf.d/libc.confecho "/usr/local/lib" >> /etc/ld.so.conf.d/libc.confldconfig -vsource /etc/profileapt-get autoremove10.编译osg源码编译debug版进入OpenSceneGraph-3.3.1源码所在目录,执行cmake . -DCMAKE_BUILD_TYPE=Debug这一步会报cmake版本过低的错误。

osgearth+vs2010安装

osgearth+vs2010安装

osgearth+vs2010安装OSGEARTH + VS2010 安装*VS 平台不重要,本教程也适⽤于VS2008等。

假设我的OSG⽬录为:D:/OSG*本教程参考⽹上osgearth+vs2008安装。

⼀、准备⼯作下载:1.CURL (curl-7.21.7.tar.gz):2.GDAL(gdal-1.8.0.tar.gz):3.GEOS(geos-3.2.2.tar.bz2):4.Expat(expat-win32bin-2.0.1.exe): code:exe⽂件:5.libzip(libzip-windows.zip): code:编译好的包供下载:vs2008:vs2010:6.OSGEARTH(SVN上下载):svn: (⽬前最新版是osgearth 2.0)⼆、安装1.CURL使⽤CMAKE进⾏配置:⽣成.sln后编译即可编译好后将⽬录下的include/curl下⽂件拷到E:\OSG\3rdparty\include\curl ,进⾏覆盖编译好后将⽬录下的lib下的libcurl.dll⽂件拷到E:\OSG\3rdparty\bin ,进⾏覆盖2.GDAL直接运⾏相应的.sln就可以了,我们VS2010打开makegdal10.sln直接编译。

GDAL编译完成后的⽂件存放于C:\warmerda\bld,包含⽂件include,lib,data,bin,可将它们拷贝到GDAL⽂件夹下,置于OSG⽬录下。

最后进⾏以下⼯作:将alg、gcore、ogr、port⽂件夹下的.h⽂件拷贝到include下,将⽣成的lib、 dll 包括: gdal_i.lib gdal.lib cpl.lib(port⽬录下) ogr.lib(ogr⽬录下), 以及gdal18.dll拷贝到D:\OSG\GDAL\lib下3.GEOS直接运⾏geos-3.2.2 \build\msvc10,将⽣成的geosd.lib,geos.lib, geos_c_i.lib, geosd_c_i.lib拷贝到D:\OSG\geos\lib下,将geos-3.2.2\source\headers下的geos⽂件夹拷贝到include下4.Expat直接运⾏即可,安装好后将 Expat 2.0.1\Source\lib⾥的.h全拷贝到D:\OSG\Expat\include下,将Expat 2.0.1\bin下的⽂件全拷贝到D:\OSG\Expat\lib下。

osgEarth编译

osgEarth编译

以下文档是osg和osgearth的编译过程,系统要求如下:操作系统:win7 home basic x64编译器:vs2010〇前言本文档编译成功后会形成4个目录,分别为:1Open Scene Graph, C:\Open Scene Graph2OpenSceneGraph, C:\OpenSceneGraph3OSG, D:\OSG4osgEarth, D:\osgEarth第一个存放osg软件,用于只使用osg软件用。

文件夹大小199M第二个存放osg+osgearth软件,用于使用osgearth和osg用。

文件夹大小626M第三个存放osg编译过程文件,用于对osg软件升级开发用。

文件夹大小3.6G第四个存放osgEarth编译过程文件,用于对osgEarth软件升级开发用。

文件夹大小2.54G 先编译一osg编译1.1 文件目录构建第一步:我们在D盘编译OSG,首先建立一个文件夹:D:\OSG;第二步:把源代码拷贝进OSG文件夹:D:\OSG\OpenSceneGraph-3.0.1第三步:把3rdParty第三方库拷贝到OSG文件夹:D:\OSG\3rdParty第四步:重新组织3rdParty,把x86文件夹中的内容拷贝到3rdParty中,把x86,x64删除。

如下图所示:第五步:把数据文件Data拷贝到OSG文件夹:D:\OSG\Data通过以上五步,所需准备完毕,文件目录组织情况如下:1.2 Qt和wxWidgets安装下载qt和wxWidgets安装文件:qt-win-opensource-4.8.4-vs2010.exe和wxMSW-2.8.12-Setup.exe,如图所示:1.3 cmake设置第一步:把cmake程序拷贝到C盘,C:\cmake-2.8.11-win32-x86第二步:打开cmake程序第三步:直接在source code文本框中输入D:/OSG/OpenSceneGraph-3.0.1第四步:在OSG文件夹中建立Build目录,用于存放编译工程文件第五步:直接在build the binaries文本框中输入D:/OSG/Build第六步:点击Configure第七步:选择Visual Studio 10,点击finish 第八步:等待初始配置结果:第九步:观察配置结果第十步:TIFF,FreeType配置修改观察cmake配置结果,显示TIFF,FREETYPE,没有找到,需要进行指定,TIFF没有debug版本,这里把debug版本指定为release版本。

osgearth 简单的例子

osgearth 简单的例子

1. 介绍osgEarthosgEarth是一个开源的地理空间3D渲染引擎,它建立在OpenSceneGraph(OSG)之上,提供了一套方便易用的工具和库,用于构建高性能的3D地球可视化应用程序。

osgEarth支持多种数据格式和地理空间数据源,包括地形数据、卫星影像、矢量数据等,用户可以利用osgEarth快速、灵活地构建出各种类型的地球可视化应用。

2. osgEarth的基本概念在了解osgEarth之前,需要了解一些基本概念。

osgEarth使用用于地球可视化的场景图,其中包含了地形、卫星影像、矢量数据和其他图层信息。

osgEarth使用图层树来管理这些数据,每个图层都有自己的样式和渲染规则。

osgEarth还提供了一套简单的、高效的符号渲染系统,可以用于在地图中显示各种地理要素。

3. osgEarth的简单例子下面通过一个简单的例子来介绍osgEarth的基本用法。

假设我们有一些地形数据和卫星影像数据,我们希望将它们加载到osgEarth中进行可视化展示。

(1)我们需要创建一个OSG Viewer实例,作为osgEarth可视化的窗口。

(2)我们需要创建一个Map实例,用于管理地理空间数据。

我们可以向Map实例中添加地形图层和卫星影像图层。

(3)接下来,我们需要创建一个MapNode实例,它是地球可视化的根节点。

我们可以将Map实例和OSG Viewer实例传递给MapNode实例。

(4)我们将MapNode实例添加到OSG Viewer中,这样就完成了地球可视化的搭建工作。

通过以上简单的步骤,我们就可以将地形数据和卫星影像数据加载到osgEarth中进行可视化展示了。

当然,osgEarth还提供了丰富的样式和渲染规则设置,可以根据实际需求进行定制化操作。

4. 总结osgEarth作为一个开源的地理空间3D渲染引擎,提供了丰富的功能和灵活的工具,可以帮助用户快速、高效地构建各种类型的地球可视化应用。

OSGEarth编译

OSGEarth编译

第一章OSGEarth编译
上一章我们做的所有工作都是为了配置OSGEarth,
第一节sln生成
VS2010的sln文件生成是OSGEarth的关键。

作者在配置出现很多错误,从而导致了使用VS2010编译出现很多问题。

1.1 CMAKE配置
第一步:启动CMake -gui.exe并设置文件地址,将编译地址设置为E:\OSGEARTH\OSGEARTH\vs2010,然后“configure”
添加方法:点击“Add Entry”,弹出Add Cache Entry对话框(如下图所示)
完成后cmake参数列表顶端出现添加的两个参数:
第二步:设置相关参数
设置完成后再次“configure”
第三步:生成vs2010文件。

点击“Generate”,结果如下:
E:\osgearth\osgearth\vs2010文件夹截图:
1.2 VS2010配置
第一步:使用vs2010打开E:\osgearth\osgearth\vs2010 \OSGEARTH.sln文件。

第二步:打开all_build工程属性,设置库目录和包含目录。

包含目录:
库目录:
保存所有文件,这样SLN文件就可以使用了。

osg源码编译

osg源码编译

OSG(OpenSceneGraph)是一个开源的高性能3D图形工具包,广泛应用于可视化、游戏、虚拟现实等领域。

以下是OSG源码编译的一般步骤:获取OSG源码:可以从OSG 的官方网站或代码仓库下载最新的源码。

准备编译环境:确保你的系统中已经安装了CMake和编译器(如GCC或Visual Studio)。

解压源码:将下载的OSG源码解压到一个合适的目录。

创建构建目录:在源码目录外创建一个新的目录,用于存放编译过程中生成的中间文件和最终的可执行文件。

配置CMake:打开CMake工具,指定源码目录和构建目录。

根据你的需求,可以选择合适的配置选项,如安装路径、编译选项等。

生成构建文件:点击CMake工具中的“Configure”按钮,等待配置完成后,再点击“Generate”按钮生成构建文件。

编译源码:打开你选择的编译器,加载生成的构建文件,然后开始编译。

编译完成后,你将在构建目录中找到生成的可执行文件和库文件。

请注意,具体的编译步骤可能因你使用的操作系统和编译器而有所不同。

因此,在编译OSG源码之前,建议仔细阅读OSG的官方文档和相关资源,以确保你了解适用于你的环境的详细步骤和要求。

osgearth嵌入qt的实现方式

osgearth嵌入qt的实现方式

osgearth嵌入qt的实现方式
osgEarth是一个开源的地球可视化工具,它可以将地球数据(如地图、影像、3D模型等)与OpenGL渲染引擎相结合来实现高效的地球可视化效果。

而Qt是一种跨平台UI开发框架,可以很方便地实现GUI 界面的设计和编程。

下面我们就来介绍一下osgEarth如何嵌入到Qt
应用程序中。

首先,在Qt项目中引入osgEarth库,可以通过CMake编译生成osgEarth的动态链接库(.so或.dll文件),然后将它们加入到Qt项目中。

在Qt源代码中引入osgEarth库的头文件,并在需要使用osgEarth的地方调用相关的接口函数,就可以实现地球数据的加载、
显示、交互等功能。

其次,osgEarth与Qt的交互可以通过Qt提供的QOpenGLWidget
类来实现。

QOpenGLWidget是一个基于OpenGL的窗口部件,可以在Qt
应用程序中创建一个OpenGL上下文,使得可以在其中进行OpenGL绘制。

通过将osgEarth的场景渲染到QOpenGLWidget中,就可以将osgEarth的地球场景嵌入到Qt应用程序中。

最后,需要注意的一点是,在使用osgEarth和Qt开发应用程序时,需要注意二者之间的线程安全问题。

osgEarth是一个多线程的场
景渲染引擎,需要在渲染线程中操作,而Qt的UI部分则必须在主线
程中运行。

因此,在将osgEarth嵌入到Qt应用程序中时,需要保证
二者之间的通信和交互是线程安全的,以避免出现意外的错误和异常。

osgEarth编译中的问题

osgEarth编译中的问题

1.编译OSG中遇到的问题:a)Png库无法加上: 原因在于需要首先加上zlib的库才可以.2.CURLa)编译OpenSSL1.在64 位Win7 上编译,使用Visual Studio 2010,执行命令nmake -fms\ntdll.mak 时不管是编译32 位库文件还是64 位库文件,都曾遇到如下错误:LINK : fatal error LNK1123: 转换到COFF 期间失败: 文件无效或损坏解决方法是:在计算机中搜索cvtres.exe 文件,在目录\Windows\\Framework 和\Microsoft Visual Studio 10.0\VC下都能找到32位的文件cvtres.exe,发现\Microsoft Visual Studio 10.0\VC下文件版本较老,将其改名或删除。

在目录\Windows\\Framework64 和\Microsoft VisualStudio 10.0\VC\bin 下都能找到64位的文件cvtres.exe,发现\MicrosoftVisual Studio 10.0\VC\bin 下文件版本较老,将其改名或删除。

ii.之后执行nmake -f ms\ntdll.mak 时就不会报告“转换到COFF 期间失败: 文件无效或损坏”的错误了。

b)编译libssh2i.依赖zlib和openssl1.编译zlib,源码编译后默认位置为c:\program Files3.GDALa)修改nmake.opt ‘win64=yes’b)编译GDAL4.GEOSa)nmake /f makefile.vc5.Expata)安装exe文件6.Minizip 使用官网的zlibstat.lib代替7.Cmake osgearth的时候, library要指向具体的lib文件,而不是目录!!!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章OSGEarth编译与测试
2.1 OSGEarth编译
第一步:配置系统环境变量。

新设置OSG_FILE_PATH变量,值为E:\OSGearth\OSGEARTH\data; E:\OSGearth\GDAL\data;
向PATH添加值:
E:\OSGearth\3rdParty\bin;
E:\OSGearth\OSGEARTH\bin\Debug;
E:\OSGearth\OSGEARTH\bin\Release;
第二步:使用“生成”->“批生产”,选择all_build(debug|win32和release|win32)进行生成。

在编译过程中存在4个文件无法编译成功,但是不影响正常的测试。

第三步:修改这些错误。

上述错误的问题主要出现在
E:\osgearth\osgearth\src\applications\osgearth_imageoverlay\osgearth_imageoverlay.cpp文件的36-39行。

原因是OSG_MIN_VERSION_REQUIRED(2,9,6)限制了osg的版本。

本文使用了v3.0.1版,因此需要添加需要添加ImageOverlayEditor文件。

(目前还没有解决)
2.2 OSGEarth测试
测试release版本:
1.打开cmd窗口,进入E:\osgearth\osgearth\vs2010\bin\Release;
2.输入命令:osgearth_viewer.exe E:\osgearth\osgearth\tests\gdal_tiff.earth;会出现一个提示
3.复制所需的dll到E:\osgearth\osgearth\vs2010\bin\Release文件夹中。

可能需要重复好多次。

4.测试成功会出现下面界面:。

相关文档
最新文档