从BigeMap数据到Osgearth数据加载

  • 格式:docx
  • 大小:2.62 MB
  • 文档页数:9

从下载数据到加载数据的详细解析
从上周四开始至昨天周一为止,自己一直在做准备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文件
最后效果如图所示:
至此,一个完整的数据准备过程结束了。