当前位置: 首页 > news >正文

海量空间数据库实施策略-栅格数据 8

I. 设计策略示例

· 单幅大影像

数据源:单幅58.1G大小的NTF数据。

这是一个无压缩的DEM数据,虽然数据没有压缩,但是对于NTF这种数据格式直接访问的性能,我们未必有把握断言,因此,首先需要对这个数据本身读取的效率进行一定的度量。

参考前面的讨论和一些数据,我们知道一个4.72G大小的无压缩TIFF在数据分辨率下进行一个预览的耗时仅有0.08秒。现在首先来看一下这个近60G的无压缩NTF数据的效率:

image

图 10 使用Map Service Publishing查看出图效率

在栅格数据的分辨率比例尺下,通过预览工具进行渲染耗时0.05秒,可见,NTF格式无压缩数据的读取效率没有问题。

但是,该数据并没有金字塔,在小比例尺下的效率很低,因此,必须对其进行创建金字塔的操作。对于这个近60G的数据,创建全比例尺的金字塔耗时39分钟,生成了2G大小的金字塔。

直接用这个数据进行配图发布服务,使用50个并发用户进行动态出图的压力测试,可以达到5M/秒的吞吐量。

image

图 11 通过ArcGIS JavaScript API访问包含栅格数据的Map Service

· 多幅小影像

数据源:146幅总量23.3G的MrSID数据。

这是一个本身包含金字塔的压缩数据,其未压缩大小约为750G。在这里首先面临的一个选择就是,是不是需要解压这个数据?要做这个选择的前提是需要估计解压缩这个数据需要的时间、数据以后更新的频率和存储空间的富余情况。其中最重要的可能还是解压缩的耗时。

我们取其中一幅数据进行测试,其未压缩大小为5.2G,源数据大小为200M。测试将其解压为无压缩含金字塔的TIFF格式总共耗时1小时23分,这样保守估算所有数据如果导出为无压缩格式大概需要160小时(一周)。在这里,我只想将其作为底图,因此配置为地图服务后还会进行切片缓存,完全没有必要花这么多时间在数据解压上。

那么,接下来的工作就是直接基于MrSID数据了,因为数据分幅比较多,我们希望可以用更方便地方式进行管理。但是,我们不要导出数据,当然也不希望进行托管入库操作,因为托管的过程肯定比导出无压缩格式更加耗时。这时,我们就只有两个选择,一个是File Geodatabase结合非托管模式或Mosaic Dataset、另一个是ArcSDE结合Mosaic Dataset。

这里我选择ArcSDE,在ArcSDE中新建了一个Mosaic Dataset,然后将所有的MrSID数据直接添加到这个数据集中,耗时37分11秒,也就是说每大约15秒可以导入一个栅格的信息到这个Mosaic Dataset中。

在ArcGIS 10中,我们可以直接将这个Mosaic Dataset发布成Image Service,对这个服务使用50个并发用户进行动态出图的压力测试,可以达到2.5M/秒的吞吐量。

image

图 12 通过ArcGIS JavaScript API访问栅格数据发布的Image Service

相关文章:

  • Entity Framework 并发处理(转)
  • 总结 — 各种数据访问方式
  • 《海量空间数据库实施策略-栅格数据》PDF版本
  • WhyEngine游戏合集2014贺岁版
  • 基于属性的编辑器框架
  • Windows Phone 7 SDK 正式版本RTW
  • 解读Linux命令格式(转)
  • 通过手机摄像头实现动作追踪一----单帧的识别
  • PL/SQL Developer 9.x 注册码
  • 公司到底是怎么看我们的——Leo网上答疑47
  • Ext 2.2在IE 9运行居然说Ext-all.j运行错误,晕死了
  • 解决局域网文件共享设置
  • Socket 编程IO Multiplexing
  • Android 上传文件
  • [IE9] GPU硬件加速到底是实用创新还是噱头
  • #Java异常处理
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • cookie和session
  • css布局,左右固定中间自适应实现
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Effective Java 笔记(一)
  • flask接收请求并推入栈
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JS 面试题总结
  • laravel 用artisan创建自己的模板
  • MySQL几个简单SQL的优化
  • MySQL用户中的%到底包不包括localhost?
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 多线程事务回滚
  • 飞驰在Mesos的涡轮引擎上
  • 技术:超级实用的电脑小技巧
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 力扣(LeetCode)22
  • 什么软件可以剪辑音乐?
  • 推荐一个React的管理后台框架
  • 微信小程序:实现悬浮返回和分享按钮
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 阿里云移动端播放器高级功能介绍
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #WEB前端(HTML属性)
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (4) PIVOT 和 UPIVOT 的使用
  • (C语言)二分查找 超详细
  • (python)数据结构---字典
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (三)elasticsearch 源码之启动流程分析
  • (数据结构)顺序表的定义
  • (四)linux文件内容查看
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)