一、前情提示
影像底图服务,一直是GIS应用的重要基础。对于大批量的影像数据,在有限的硬件资源、局促的时间、一人一机(骑)的条件下,提供OGC标准的缓存地图服务,支持大连接量、一定并发量的GIS业务需求,是一个“小问题”。
本次测试的软硬件如下:
服务器:3虚机*(32核+64GB内存+2.29主频+无显卡)
数据量:9TB+(分多批次存放,范围随意,IMG格式,未创建金字塔),数据通过磁盘共享进行传输
物理机:40核+256GB内存+2.2主频+无显卡
软件:Geoscene Pro4.0、Geoscene Server4.0
地图缓存级别:7-18级
耗时:包括创建镶嵌数据集,服务发布、切片,共 25h
二、Geoscene Pro 4.0 使用镶嵌数据集管理影像数据(支持并行)
镶嵌数据集可用于管理、显示、分析、提供和共享影像和栅格数据。系统会对数据集进行索引,通过函数可使镶嵌数据集传送动态镶嵌的影像,使用函数执行动态处理操作(例如,正射校正、影像增强和影像代数)可增强镶嵌影像产品。
一句话:不会修改栅格源数据,提供超级多的栅格数据集工具,所有的栅格函数都可以往上怼。
2.1 问题记录
刚使用镶嵌数据集管理影像的时候,总是碰到很多问题:
(1)看不到影像
(2)影像周边都是黑漆漆的
(3)小比例尺时边界有黑边,大比例尺时消失
(4)出现黑白格
(5)设置Nodata后,还有小黑边
(6)花费了很久时间,啥也不是……
2.2 新手上路
使用Geoscene Pro还原,常规操作下,创建镶嵌数据集管理影像的过程。
01 创建镶嵌数据集
直接通过目录窗格进行操作,创建镶嵌数据集。
02 添加栅格数据
将文件、文件夹、表或 web 服务等各种来源的栅格数据集添加到镶嵌数据集。
03 构建轮廓线
计算镶嵌数据集中每个栅格的范围。从镶嵌数据集添加或移除栅格数据集并想要重新计算轮廓线时使用此工具。
04 构建概视图
定义并生成镶嵌数据集的概视图。
2.3 使用进阶
使用模型构建器,完成创建镶嵌数据集管理影像的过程。
01 使用模型构建器
基于Geoscene Pro提供的模型构建器可视化编程语言,将创建镶嵌数据集管理影像的过程,按顺序串联在一起。
实现,一步到位。
02 模型构建器小技巧
有那么一种使用场景,我组织好一个业务工作流后,我不想随时去关注当前任务是否运行完成,我还有很多业务工作流,我想在模型构建器中挨个运行。
多个业务流之间,可能存在一定的逻辑顺序,或者就是单纯的挨个执行。尤其是很多业务流需要较长的时间,我希望将晚上的时间充分利用起来。
也就是,无人值守模式下的多任务流执行。
实现:使用模型构建器中的分组功能,将一个业务流中所有工具的运行过程分为一个组(选中串联在一起的工具,单击“分组”选项卡),分组之间使用一个逻辑判断(如数据已存在),将为TRUE的输出放置在下一个分组中即可。
如下图所示,模型构建器将按分组的顺序,挨个执行业务流。
运行过程如下:
三、Geoscene Pro 4.0 镶嵌数据集的迁移和管理
很多时候,我们只需要创建一个镶嵌数据集即可完成我们的需求。但有时候,我们需要将多个镶嵌数据集合并为一个镶嵌数据集,或者将其从一台机器拷贝到其他机器。
3.1 镶嵌数据集的合并管理
下图示例中,所有的镶嵌数据集都在一个GDB中,当然,它们也可以位于不同的GDB中。
在合并之前,我们需要检查,合并数据源(镶嵌数据集)是否有效。这一步非常重要。
方法一:
将镶嵌数据集加载到Pro中,预览是否正常;
方法二:
通过导出分析镶嵌数据集或导出镶嵌数据集路径,查看引用杀栅格数据源路径是否有效。
本文使用方法二检查,第一步,导出镶嵌数据集路径;
第二步,查看数据源是否有效,按下图的1、2、3步骤,若能正确预览到数据,说明当前镶嵌数据集引用的数据源路径是有效的;
若出现打不开指定路径下的数据错误提示,则需要对数据源进行修复。
右键镶嵌数据集,选择“修复镶嵌数据集”,界面如下图,正常填写修复即可:
第三步:添加栅格数据集到镶嵌数据集,重点是输入数据下拉列表中,选择“数据集”;
运行过程如下图,这个步骤运行非常快,因为镶嵌数据集的其他主要操作在合并的镶嵌数据集中都已经处理完成:
3.2 镶嵌数据集的迁移
涉及迁移的镶嵌数据集,如果是在同一个网络中迁移,则迁移的镶嵌数据集中所使用的的数据源一定要使用网络共享路径。并且,在向镶嵌数据集中添加栅格的时候,就应该使用共享路径,这样,其他机器只需拷贝“.gdb”和".Overviews"文件夹即可。
如果是不同网络中的镶嵌数据集迁移,则设计同时拷贝影像数据,“.gdb”和".Overviews"文件夹,拷贝后,使用“修复镶嵌数据集”工具,使用最终影像存放的路径修复原来镶嵌数据集指向的路径即可。
四、Geoscene Pro4.0 创建缓存切片(支持并行)
不懂就问:
(1)“免切片技术”能实现多景影像数据的匀色吗?
(2)一般的服务器,能扛得住“免切片”的按需切片吗?
(3)“免切片”仅使用一个服务实例实现所有影像数据的调用吗?
(4)“免切片”如何解决大连接、高并发的需求?
希望了解这部分技术的朋友,能私信解惑和指导,真心想学习,谢谢!
4.1 使用Geoscene Pro切片
这是一个非常适用和牛皮的工具,配好图后,不需要发布服务,直接在Pro中对当前Layers进行切片。省去了server端缺失字体,带来的切片注记乱码、制图中使用的符号server不支持,以及制图效果与切片结果显示不完全一致等问题。
主要是,性能相当的给力!
4.2 使用Geoscene Server切片
使用server切片,优点就是可以使用Server站点集群处理切片任务。
前提就是需要成功发布地图服务。
4.3 影响切片效率的因素分析
实际上,这个名字“影响切片效率的因素分析”都可以写一个专题,但本文说到切片,就简单归纳如下:
(1)制图的复杂程度;
(2)标注查询,要素过滤条件等多个SQL的使用;
(3)标准引擎中的标注策略,如避让,权重等设置;
(4)引用数据源位置,是否在本地,网络路径带宽是否足够;
(6)切片写入的位置,计算机IO读写效率;
(7)计算机(服务器或工作站)CPU的计算能力,核数和显卡等;
(8)切片服务器是否同时被其他应用占用;
……
这部分内容在后续的文章中将进行分享,敬请期待。