从BigeMap数据到Osgearth数据加载

合集下载

osgEarth用户手册

osgEarth用户手册
</map>
这个文件建立了一个地图“MyMap”,geocentric 类型,GeoTIFF 图片源 名称是“bluemarble”(GeoTiff 是包含地理信息的一种 Tiff 格式的文件)。驱 动 driver 属性告诉 osgearth 哪个驱动去加载这些图片,所有子元素针对特定 的驱动。
2.1.2.多重图像层 osgEarth 支持有多个图像源的地图。这允许你创建的地图时,在基础层上
featuregeometryosg的几何渲染矢量数据featurestencil使用模板缓冲技术褶皱化地形矢量数据simple加载外部模型并放置在场景图421featuregeometrymodeldriver建立矢量特征数据的osg几何形状如今这个驱动程序可以简单的将矢量数据嵌合进几何图形中同时会有一个可选择的高度偏移这样你可以将几何图形放置于地形上将来它将支持足迹挤压纹理化和其他一些功能
mu lt ipas s
复合材料由多个渲染的图像,通过对场 景图。这种技术对图像层, 你可 以有数量没有限制,但可能会影响性能 ,因为每个额外的层意味着 另一 个渲染传递的场景图。
10
示例:
<map> <options> <terrain> <compositor>multitexture</compositor> </terrain> ... </options> ...
optional
<image>
图像图层。随着 osgearth 的合成器 compositor 使用,你的电
脑图像显示硬件将决定<image>层可以显示的最大数量 。
optional

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 投影坐标系。

Bigemap如何将下载的影像转成CGCS2000坐标系的

Bigemap如何将下载的影像转成CGCS2000坐标系的

Bigemap如何将下载的影像转成CGCS2000坐标系的
注意:投影转换成cgcs2000坐标系需要下载无偏移卫星图像进行转换,有偏移的转换将导致转换后的卫星图像扭曲,坐标错误,无法配准。

第一步:选择无偏移地图源,下载你所需要的卫星图像。

第二步:选择BIGEMAP软件右边工具栏,选择【投影转换】,如下图所示:
2.1 选择说明:
1. 源文件:选择下载好的卫星图像文件(下载目录中后缀为tiff的文件)
2. 源坐标系:打开的源文件的投影坐标系(自动读取,不需要手动填写)
3. 输出文件:选择转换后你要保持文件的文件路径和文件名
4. 目标坐标系:选择你要转换成的目标坐标系,如下图:
选择上图的更多,如下图所示:
1:选择 -CGCS2000 2:选择地区3:选择分度带对应的带号(一般默认,也可以手动修改)
选择对应的分度带或者中央子午线(请参看:如何选择分度带?),点击【确定】
5. 重采样算法:投影转换需要将影像的像素重新排列,一次每种算法的效率不一样,一般选择【立方卷积采样】,以达到最好的效果。

如下图:
6. 指定变换参数:在不知道的情况下,可以不用填此处信息,如果√上,则如下图:
此参数为【三参数】或者【七参数】,均为国家保密参数,需要到当地的测绘部门或者国土部门,以单位名义签保密协议进行购买,此参数各地都不一样,是严格保密的,请不要随便流通。

第三步:点击【确定】,开始转换,如下图:
第四步:完成后,打开你刚才选择的输出文件夹,里面就是转换后的卫星图像。

第五步:如果你需要套合你手里已经有的矢量文件,请参看:【BIGEMAP无偏移影像叠加配准】。

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点击“确定“。

osgearth论坛问题集锦

osgearth论坛问题集锦

刚接触osgearth,想请教大家:怎么获取osgearth支持的影像数据到本地,包括一些层级不高的不需要很精确的全球影像和层级较高的较清晰的部分城市的影像(像Google earth 那样有地名的),以.earth文件中读取本地数据?谢谢大家!使用osgEarth的缓存插件,设置缓存路径就可以了这个方法知道,但不知道从哪可以获取到符合要求(类似Google earth 有位置标签)的影像数据。

可以用谷歌地图下载器下载,然后使用GDAL插件加载可以用GDAL插件加载吗?好像不行哎,你试验成功过嚒?得修改GDAL插件? 图片是没有坐标的,所以得人为制定坐标包围盒? 这个看着有些抽象osgearth在局域网上的配置问题由于个人电脑不能上外网,所以只能在单位内部网络上自行加载地形和影像数据。

在服务器端加载了地形和影像,客户端用.earth文件配置来读取,提示can not initialize TileSource for layer west.tif<map name="earth" type="geocentric" version="2"><image driver="gdal" name="world-tiff" ><url>http://192.168.150/world.tif</url></image><elevation driver="gdal" name="DE-tiff" ><url>http://192.168.150/srtm.tif</url></elevation ><options lighting="false"/></map>我在服务器端没有编译gdal。

osgEarth加载谷歌卫星地图的源码案例

osgEarth加载谷歌卫星地图的源码案例

osgEarth加载谷歌卫星地图的源码案例2014-12-24 11:51 242人阅读评论(0) 收藏举报osgEarth谷歌卫星地图一、准备工作安装水经注万能地图下载器,如果没有安装本软件,可以百度“水经注软件”到官方网站下载。

编译OSG、OSGEarth和第三方插件等,这里有一个已经编译好的vs2010+osgearth,下载地址“/share/link?shareid=107009&uk=2801833827”。

二、下载地图首先需要把谷歌卫星地图下载下来,这里以“郫县”为例。

启动水经注万能地图下载器,点击“框选下载区域”,双击下载区域,选择级数,如下图。

image001.jpg(269.3 KB, 下载次数: 0)下载附件保存到相册2014-12-23 16:01 上传在级别列表中,你可以选择任何级别,但一般来讲城区选择19级,郊区选择16级比理想,但选择级别之前,最好在在线地图浏览中先查看所想要下载的级别是否有数据,这里我们以10级为例。

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

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

在该对话框中,不需要作任何设置,点击“输出”按钮以默认参数导出数据即可。

默认导出路径为“D:\SGDownload\tt1_拼接[默认]\L10”。

三、VS2010创建应用程序解压编译包后还不能直接使用,需要设置环境变量:OSG_ROOT X:\OSGOSG_FILE_PATH %OSG_ROOT%\dataOSG_WINDOW 600 15 800 800Path %OSG_ROOT%\bin;设置文件目录属性Osgearth的一个主要目标是易于应用集成,实际上有2种方式去整合osgearth.第一种方式你可以建立一个earth file,然后在你的应用程序中加载它.第二种使用osgearth API的时候以编程方式动态建立一个地图。

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还可以应用于许多其他领域,如农业、环境保护、水资源管理等。

地下水模拟软件GMS中文使用手册

地下水模拟软件GMS中文使用手册

2.1.1 纲要....................................................................................................................................... 17
2.2 开始.............................................................................................................................................. 18 2.3 属性对象...................................................................................................................................... 18
1.12.1 创建概念模型..................................................................................................................... 13 1.12.2 根据 GIS 数据作图............................................................................................................. 13
2.4 结论.............................................................................................................................................. 24 25 3 MODFLOW—概念模型法................................................................................................................ ................................................................................................................25 3.1 简介.............................................................................................................................................. 26

GoogleEarth使用技巧:路测图导入方法

GoogleEarth使用技巧:路测图导入方法

GoogleEarth使用技巧
——路测数据导入方法
1.首先,将路测数据导入Mapinfo,然后将希望导入GoogleEarth的部分放大到窗口大
小。

2.使用Mapinfo自带的Export Map Image to GoogleEarth.工具(现场使用的Mapinfo
版本是8.5),选择存储路径和文件名然后单击OK,会在指定目录下生成两个同样文件名但后缀分别是JPG和KML的文件。

3.此时实际已经生成了GoogleEarth文件,但由于图片格式问题,显示在GoogleEarth
中效果不好。

接下来需要对图片进行一些处理。

首先,在Mapinfo的窗口中选择File -> Save Window As
4.将窗口存成*.png 格式的文件,并且和刚才生成的JPG和KML文件放在同样的目录下,
取同样的文件名(因为后续要用PNG格式的图片代替JPG格式的图片)。

5.然后使用一些图形处理的软件(现场使用的是一款PhotoPlus的软件)打开PNG文件,
将除了路测线路以外的部分删除。

6.对KML文件单击右键选择用记事本打开。

找到JPG文件名所在的位置,将JPG后缀
改为PNG,保存->关闭文件。

7.最后,直接双击打开KML文件,如下图所示,已成功将路测数据导入GoogleEarth。

osgEarth使用笔记4—加载矢量数据

osgEarth使用笔记4—加载矢量数据

osgEarth使用笔记4—加载矢量数据目录1. 概述2. 详论2.1. 基本绘制2.2. 矢量符号化2.2.1. 可见性2.2.2. 高度设置2.2.3. 符号化2.2.4. 显示标注2.3. 其他3. 结果4. 问题1. 概述前面文章加载的底图数据是一种栅格数据,还有一种很重要的地理信息表现形式是矢量数据。

在osgEarth中,这部分包含的内容还是很丰富的,这里就总结一二。

2. 详论在《osgEarth使用笔记1——显示一个数字地球》这篇文章中代码的基础之上,添加加载显示矢量的代码:1.#include<Windows.h>2.#include<iostream>3.#include<string>4.5.#include<osgViewer/Viewer>6.#include<osgDB/ReadFile>7.8.#include<osgEarth/MapNode>9.#include<osgEarth/ImageLayer>10.11.#include<osgEarthDrivers/gdal/GDALOptions>12.#include<osgEarthDrivers/cache_filesystem/FileSystemCache>13.#include<osgEarthDrivers/feature_ogr/OGRFeatureOptions>14.15.#include<osgEarthFeatures/FeatureSourceLayer>16.#include<osgEarthFeatures/FeatureModelLayer>17.18.#include<osgEarthUtil/EarthManipulator>19.ing namespace std;21.22.void AddVector(osg::ref_ptr<osgEarth::Map> map)23.{24.//25.std::string filePath ="D:/Work/OSGNewBuild/osgearth-2.10.1/data/world.shp";26.osgEarth::Drivers::OGRFeatureOptions featureData;27.featureData.url()= filePath;28.29.// 如果缺少空间参考,可以手动指定30.// ifstreaminfile("C:/Data/vector/hs/23.prj");31.// string line;32.// getline(infile, line);33.// featureData.profile()->srsString() = line;34.35.// Make a feature source layer and add itto the Map:36.osgEarth::Features::FeatureSourceLayerOptio ns ogrLayer;()= filePath +"_source";38.ogrLayer.featureSource()= featureData;39.osgEarth::Features::FeatureSourceLayer* featureSourceLayer =newosgEarth::Features::FeatureSourceLayer(ogrLayer);40.map->addLayer(featureSourceLayer);41.osgEarth::Features::FeatureSource*features = featureSourceLayer->getFeatureSource();42.if(!features)43.{44.printf(("无法打开该矢量文件!"));45.return;46.}47.48.//49.osgEarth::Features::FeatureModelLayerOption s fmlOpt;()= filePath;51.fmlOpt.featureSourceLayer()= filePath +"_source";52.fmlOpt.enableLighting()=false;53.54.osg::ref_ptr<osgEarth::Features::FeatureMod elLayer> fml =newosgEarth::Features::FeatureModelLayer(fmlOpt);55.map->addLayer(fml);56.}57.58.int main()59.{60.osgEarth::ProfileOptions profileOpts;61.62.//地图配置:设置缓存目录63.osgEarth::Drivers::FileSystemCacheOptions cacheOpts;64.string cacheDir ="D:/Work/OSGNewBuild/tmp";65.cacheOpts.rootPath()= cacheDir;66.67.//68.osgEarth::MapOptions mapOpts;69.mapOpts.cache()= cacheOpts;70.mapOpts.profile()= profileOpts;71.72.//创建地图节点73.osg::ref_ptr<osgEarth::Map> map =new osgEarth::Map(mapOpts);74.osg::ref_ptr<osgEarth::MapNode> mapNode = new osgEarth::MapNode(map);75.76.osgEarth::Drivers::GDALOptions gdal;77.gdal.url()="D:/Work/OSGNewBuild/osgearth-2.10.1/data/world.tif";78.osg::ref_ptr<osgEarth::ImageLayer> layer = new osgEarth::ImageLayer("BlueMarble", gdal);79.map->addLayer(layer);80.81.AddVector(map);82.83.osgViewer::Viewer viewer;84.viewer.setSceneData(mapNode);85.86.osg::ref_ptr<osgEarth::Util::EarthManipulator> mainManipulator = new osgEarth::Util::EarthManipulator;87.viewer.setCameraManipulator(mainManipulator);88.89.viewer.setUpViewInWindow(100,100,800,600);90.91.return viewer.run();92.}osgEarth表达矢量的基本思路是,先将其读取到矢量源图层FeatureSourceLayer中,这个图层加载到osgEarth的图层列表中是不显示的,必须得再加载一个专门的符号化图层,将其符号号,才能正常显示。

基于osgEarth三维数字地球建设的研究

基于osgEarth三维数字地球建设的研究

基于osgEarth三维数字地球建设的研究吴晓雪;任鸿翔;张显库;谷军;何南【摘要】The eMule-project based on osgEarth is an important application which combined the geographic information system and virtual reality technology. Taking the three-dimensional earth based on osgEarth for example, this paper used lod, paging, dynamic scheduling and other technologies, researched 3d terrain, image, object organization, scheduling and integrated approach, and also analysed template body technology in drawing linear vector data and scene hierarchy hidden in the technology. In Visual Studio 2010 platform, the OpenSceneGraph was used to program language. The experimental results proved the feasibility of the technology, and realized the construction of three-dimensional digital earth.%基于osgEarth开源工程是将地理信息系统和虚拟现实技术结合起来的一个重要应用。

以基于osgEarth三维数字地球建设的研究为例,采用 LOD与分页、动态调度等技术。

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 pointsymbol sizestring函数 -回复

osgearth pointsymbol sizestring函数 -回复

osgearth pointsymbol sizestring函数-回复osgearth是一个开源的地理信息系统(GIS)渲染引擎,用于在地球上绘制和渲染矢量数据。

osgearth提供了一个灵活的符号系统,可用于在地图上展示不同类型的数据。

在osgearth中,可以使用sizestring函数来定义点符号的大小。

在这篇文章中,我们将深入研究osgearth的pointsymbol和sizestring函数,并逐步解释它们的用法和功能。

第一部分:osgearth简介首先,让我们简要介绍一下osgearth。

osgearth是一个使用开源地理信息系统(GIS)库OpenSceneGraph开发的引擎,旨在帮助开发人员构建交互式地理可视化应用程序。

osgearth支持从各种数据源(如矢量、栅格和地形数据)加载地理数据,并提供强大的绘图和渲染功能,以实现高度自定义的地图显示效果。

第二部分:点符号在osgearth中,点符号(PointSymbol)是用于表示点要素的图形符号。

点要素通常用于表示地图上的位置、位置或特定事件。

osgearth的点符号系统很灵活,可以根据用户需要定义点的大小、形状、颜色和其他属性。

sizestring函数是osgearth中的一个关键函数,用于确定点符号的大小。

第三部分:sizestring函数sizestring函数是osgearth中的一个函数,用于确定点符号的大小。

它接受一个字符串作为参数,并根据该字符串的值计算点符号的大小。

sizestring函数的语法如下:sizestring("sizeExpression")其中,sizeExpression是一个表示大小的表达式。

该表达式可以包含变量、数学操作和函数调用。

第四部分:使用sizestring函数要使用sizestring函数,首先需要初始化一个点符号对象。

可以使用osgearth::PointSymbol类来创建一个新的点符号,并设置其属性。

OSGEarth地形和影像的数据预处理

OSGEarth地形和影像的数据预处理

OSGEarth地形和影像的数据预处理OSGEarth是一个GIS工具,主要用来实现三维GIS的基本功能,其中最为基础当属对地形和影像的处理以及进行三维地形的构建与渲染。

下面简要说明下osgearth中对数据的要求以及数据处理的方法。

一、数据来源OSGEarth的地形和影像数据来源是以常见的地形和影像,包括各种高程数据和遥感影像数据。

osgearth中地形和影像数据主要以TIFF格式为主,其来源是测量数据、CAD数据、或者是直接从网上下载的数据。

二、数据处理OSGearth中数据必须要有坐标系。

坐标系可以是地理坐标系和投影坐标系。

当为了生成地球场景时,需要数据为地理坐标系;当生成平面场景时,数据必须为投影坐标系。

1、数据配准数据坐标存在的问题时,地形和影像数据部匹配的时候,需要进行配准。

配准:利用道路图层和jpg影像,使用georeferencing 工具选取标志性地物进行配准。

2、数据没有坐标系的情况下(可以通过ArcGIS的查看图层的坐标系),我们需要自己定义一个坐标系。

自定义一个坐标系的方法:用Arctoolbox工具中的Data Management Tools ->Projections and Transformations->Define Projection工具定义坐标系(包括投影坐标系个地理坐标系)图1 定义坐标系注意:在完全不知道坐标系的情况下,在定义坐标系时,可以随便指定一个坐标系(不管是地理坐标系还是投影坐标系都可以)。

但是如果知道了数据的坐标(比如,有的数据是CAD数据(一般是平面坐标,即是X、Y是六位和七位数组成的一个数值))。

在这中情况下,我们可以查看X、Y的坐标值,确定此数据的带号以及在定义投影坐标时是否需要做500公里的偏移处理。

(你们公司的专业GIS人员应该知道!!!)。

3、osgearth的数据需要的是投影坐标系时,而原始数据却是地理坐标系(比如,数据是从google earth或测绘部门的获得,其坐标系一般都是地理坐标系),此时需要将地理坐标系转为投影坐标系。

osgEarth数据加载及组织解析-推荐下载

osgEarth数据加载及组织解析-推荐下载
图 3.1 所示是加载数据的整体流程,本节将就这四个步骤进行具体的解读。
1.1 读取 earth 文件
读取earth文件
分解Conf属性 构建map对象
根据map对象及 options对象,创 建mapNode节点
将mapNode节点加入场 景图中,通过分页LOD 动态调度进行组织渲染
图 3.1 osgEarth 数据加载整体流程
记录数据属性、 渲染属性的Conf
map对象 options对象
mapNode节点
拥有地形的三维 场景
MapNodeHelper::load() ExampleResources.cpp
readNodeFile(filename,Registry::in stance()->getOptions()) ReadFile.h
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

使用BIGEMAP制作OSGEARTH瓦片地图

使用BIGEMAP制作OSGEARTH瓦片地图

使用BIGEMAP制作OSGEARTH瓦片地图愈挫愈勇(QQ473943748)摘要: osgEarth是基于OSG的与GoogleEarth类似的跨平台地形SDK,笔者结合自己的经验,利用BIGEMAP来进行地图影像资源的下载,给大家介绍一种适用于osgEarth的TMS 地图瓦片数据集的制作方法。

关键词: BIGEMAP; OSGEARTH;瓦片一、引言OpenSceneGraph是一个开源的三维引擎,被广泛的应用在视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索、石油矿产等领域。

OSG 采用标准C++和OpenGL编写而成,可运行在所有的Windows平台、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android和FreeBSD 操作系统。

OSG 在各个行业均有着丰富的扩展,能够与使用OpenGL书写的引擎无缝的结合,使用国际上最先进的图形渲染技术,让每个用户都能站在巨人的肩上。

而osgEarth 是正是基于OSG的与GoogleEarth类似的跨平台地形SDK。

osgEarth的开源特性使得相当多的人对其进行了研究,而对于广大工程人员来说,一个漂亮的地图是其开展应用的第一步,为此,笔者结合自己的经验,给大家介绍一种适用于osgEarth的地图瓦片数据集的制作过程。

二、地图影像资源的收集本文笔者利用BIGEMAP(免费版)软件来进行地图影像资源的下载,以谷歌中国地图(图1)为例,选中菜单项中的“矩形框”,在地图上任意选取一个矩形区域(图2),后选择界面右上方的“编辑”,修改矩形框的范围为:-180.0-180.0 ,-90.0-90.0(图3),这样就框中了全球区域(图4)。

双击矩形区域内部,就弹出地图下载对话框(图5),将“存储选项”选择“瓦片:TMS ”,“PNG”图片格式,瓦片级别根据需要选择,由于硬盘空间原因,本文只选到了8级,单击“确定”后就开始了瓦片的下载,详细情况可以在“下载列表”里查看。

osgearth取高程方法

osgearth取高程方法

osgearth取高程方法osgEarth是一个开源的地理信息系统(GIS)工具包,它提供了一种简单而强大的方法来显示和分析地球空间数据。

在osgEarth中,取得高程数据的方法是通过使用高程图层。

本文将详细介绍osgEarth中的高程图层及其使用方法。

高程图层是osgEarth中用于显示地球表面高程的一种图层类型。

它可以从各种数据源获取高程数据,如地形数据集、DEM数据等。

osgEarth支持多种高程数据格式,包括ESRI Grid、GeoTIFF、DTED 等。

用户可以根据自己的需求选择合适的高程数据源。

在osgEarth中,要使用高程图层,首先需要创建一个Map对象,并将高程图层添加到地图中。

可以使用代码如下所示:```cpposgEarth::Map* map = new osgEarth::Map();osgEarth::ElevationLayer* elevationLayer = new osgEarth::ElevationLayer();map->addLayer(elevationLayer);```接下来,需要指定高程图层的数据源。

osgEarth提供了多种数据源类型,包括本地文件、在线服务等。

例如,可以使用以下代码将高程图层的数据源设置为本地的DEM文件:```cpposgEarth::ElevationLayerOptions elevationLayerOptions; elevationLayerOptions.url() = "path/to/dem.tif"; elevationLayer->setOptions(elevationLayerOptions);```除了本地文件,osgEarth还支持从在线服务获取高程数据。

例如,可以使用以下代码将高程图层的数据源设置为NASA的SRTM数据:```cpposgEarth::ElevationLayerOptions elevationLayerOptions; elevationLayerOptions.url() = "http://elevation/nasa_srtm"; elevationLayer->setOptions(elevationLayerOptions);```在设置好高程图层的数据源后,还可以对高程图层进行一些其他设置。

osgearthsetelevation范围 -回复

osgearthsetelevation范围 -回复

osgearthsetelevation范围-回复osgearthsetelevation范围是什么?osgearth是一个基于OpenSceneGraph的开源的地理信息系统(GIS)工具包。

它提供了一系列强大的功能,可以用于创建高性能的地理可视化应用程序。

osgearthsetelevation是osgearth工具包中的一个功能模块,用于设置或修改地形的高程数据。

地形高程数据是地理信息系统中非常重要的一部分。

它描述了地球表面的高度变化情况,可以用于构建真实的地形模型,进行可视化展示和分析。

osgearthsetelevation就是一个用于处理地形高程数据的工具,它可以从不同的数据源加载高程数据,并将其应用于osgearth视图中。

在osgearthsetelevation中,主要有以下几种设置高程数据的方式:1. 使用本地高程数据文件:osgearth支持从本地存储的高程数据文件中加载高程数据。

用户可以通过osgearthsetelevation指定要加载的高程数据文件的路径,osgearth会读取文件中的数据并将其与当前视图关联起来。

2. 使用在线高程数据服务:osgearth还支持从在线高程数据服务中加载高程数据。

用户可以通过osgearthsetelevation指定要使用的在线服务的URL,osgearth会根据URL访问对应的服务,并将获取到的高程数据应用于当前视图。

3. 使用DEM(数字地形模型)数据集:osgearth还支持直接使用DEM数据集加载高程数据。

用户可以通过osgearthsetelevation指定要使用的DEM数据集的路径,osgearth会读取数据集中的数据并将其应用于当前视图。

DEM数据集通常以二进制文件的形式存储,包含了整个地区的高程数据。

除了设置高程数据外,osgearthsetelevation还提供了其他一些功能,用于调整和处理地形的高程数据。

例如,用户可以使用osgearthsetelevation设置地形的最大高度和最小高度,以限制地形的可视范围。

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

从下载数据到加载数据的详细解析
从上周四开始至昨天周一为止,自己一直在做准备Pakistan影响和高程数据的准备工作。

虽然是数据的准备工作,但是在这几天的工作,着实也是学到了不少东西,积累到不少经验,因此在这里做一个文档进行总结。

高程数据和影响数据处理过程很类似,在这里我只详细描述影响数据从下载到应用的全部过程。

下载数据
下载数据应该是整个过程中相对比较烦人的一个工作。

想要下载到高清、无水印的数据不是想象中的那么简单。

工作之前队友王小芦和王雨霞对下载影响数据的工具已经进行了充分的调研,发现一款名为BigeMap的软件相对比较好用,因此在下载数据的过程中,我也是首选了BigeMap这款软件。

就BigeMap这款软件而言,也是存在它的本身缺陷的。

最大的困难就是这不是一款免费软件,或者购买或者通过做任务拿到正版授权,在这里授权部分不再赘述。

拿到BigeMap的正版授权的话,就可以下载数据了,自己在下载数据的时候也出现了很多问题。

首先就是层级的问题,自己并不清楚下载多少层数据。

其次就是选择哪个地区的数据下载。

在这里就给出下载数据的一些具体流程(以下载Pakistan数据为例):
1、首先下载一块Pakistan全国11级数据,这块数据大小在1GB左右,是
自己可以接受的范围
2、接着放大地图,下载Pakistan局部地区13级数据。

至于下载哪一块区
域就看自己的意向,本人在下载时,选择了Pakistan首都地区伊斯兰堡。

大小在1GB左右。

3、再放大地图,下载包含伊斯兰堡地区的15级数据,大小1GB左右
4、再放大,下载伊斯兰堡城市的17级数据,大小在2GB左右
5、最后将地图放大至最大,下载伊斯兰堡市区人口相对密集的地区,大小
在5GB左右。

下载数据的过程是BigeMap的使用过程,BigeMap是一款设计非常好的软件,一般人员都会使用,所以这里就不在对下载数据进行详细解释。

下面我们来详细介绍切图以及osgearth怎么加载数据。

测试数据
之所以要进行测试数据,是为了验证从网上down下来的数据时完整,没有
损坏的。

如果down下来的源数据都是损坏的,那么经过切片之后的数据很显然也是损坏的。

我在第一次切片Pakistan数据时,就是因为没有进行数据测试,导致切片之后发现数据有问题,回过头来检查才发现是源数据本身损坏了,因此我们为了保险起见还是进行下数据测试,毕竟切片的过程是一个很漫长的过程。

测试数据我们主要是用osgearth_viewer这个库,让osgearth直接加载下载下来的tif文件。

为此,我们要为下载下来的tif文件写一个.earth的配置文件,.earth文件里面主要包含tif文件的地址信息,截图如下:
在这个.earth文件中,最重要的一条信息就是:
<image driver="gdal" name="world-tiff">
<url>D:/矩形区域_#24_卫图_Level_13.tif</url>
</image>
这样子我们可以通过读取这个.earth文件来读取我们下载的ID为“矩形区域_#24_level_13.tif”这个文件,读取的时候我们要用到osgearth_viewer这个命令,在dos环境下输入命令读取,截图如下:
Osgearth_viewer表示我们要用这个库来读取,D:/gdal_tiff.earth表示D 盘下的.earth文件。

意思就是我们要用osgearth_viewer这个库来读取D盘下的gdal_tiff.earth文件。

由于之前已经说明这个.earth是我们下载的tif文件的配置文件,因此通过这行命令就可以读取tif文件了。

需要说明的是,由于tif文件都比较大,因此直接用osgearth加载的话可能会比较慢,所以需要大家耐心等待。

加载完成之后如果显示是这样子的,说明文件没有损坏:
把地图放大,可以明显看到我们下载的地图,如图所示:
如果加载出来的数据某一部分是黑的或者全部都是黑的,如图所示。

说明数据已经损坏,损坏原因不明,可能是BigeMap软件本身的缺陷。

数据一旦损坏请重新下载,不然切出的地图数据也会有问题的。

上图左下角呈现黑色,数据已损坏。

数据切片
前两部分主要是说明了数据的准备,这部分主要是进行数据的切片。

数据切片我们主要用到两个东西。

一个就是数据的配置文件——.earth文件;另一个就是osgearth提供的切片工具osgearth_package。

.earth配置文件如图所示:
里面包含了我们要切割的所有源数据的地址信息。

另外我们还需要在DOS环境下输入命令,进行切割,如图所示:
Osgearth_package表示我们要用这个工具进行切图;--tms表示我们要用到的源数据的配置文件为:gdal_tiff.earth;--out表示输出文件夹;--Max-level 表示切图的最大层级。

通过上述命令,osgearth就会通过源数据图的分辨率自动计算可以切多少层,每层切多少瓦片。

切图过程需要一定时间,切完之后的文件如图所示:
可以看到切完之后生成了一个.xml文件,这个文件是对切片的配置文件,包括文件ID和索引等一些基本信息,如果想要读取这些瓦片数据的话,直接读取这个.xml配置文件即可。

完整演示
前面我们叙述过,osgearth读取文件需要用osgearth_viewer这个工具读取数据的.earth配置文件,而经过切片之后,切片数据会生成一个.xml的配置文件,要想读取切片之后的数据就要读取这个.xml文件,因此osgearth要想读取切片完成之后的数据,就要读取.earth文件,而这个.earth文件是指向包含切片数据信息的.xml文件的。

这个.earth文件的详细信息如图所示:
将.earth指向.xml文件
最后效果如图所示:
至此,一个完整的数据准备过程结束了。

相关文档
最新文档