基于ArcEngine的影像数据管理系统研制

如果批处理,速度很慢,效率低。

详情如下:

分成很多小块的影像数据,要达到连续显示的效果,并导入ArcSDE for SQL Server中以方便管理。在ArcEngine的开发包中,提供两种实现方式:

1)        MosaicRaster类的append方法可用于将多个栅格数据镶嵌到一块,再利用该类的saveAs方法就把镶嵌到一块的栅格数据集保存到本地、个人Geodatabase或者ArcSDE中。这种方式的优点是实现容易、代码简洁;缺点是:如果要镶嵌的小块数据比较多,数据量比较大时,会比较慢,效率低,这是因为该方式是先将要镶嵌的所有栅格数据都读到内存镶嵌,然后再保存。这种方式适合数据量小的影像数据镶嵌入库。

2)        IRasterLoader接口同样可以实现栅格数据的镶嵌与入库,并且它有两个方法都可以达到目的。它的loadRasters方法用于多个影像一次镶嵌入库的情况,这个方法与第一种方式类似,也是把全部数据都读入内存同时进行镶嵌入库,故它也是适合数据量小的影像数据镶嵌入库;load方法适合单个影像的镶嵌入库,但如果循环使用就可以达到将一幅幅影像都镶嵌入库的目的,该方式的好处是一次只需要读入一幅影像,内存消耗少,速度快。

按照需求要把影像数据镶嵌入库,因为要进行处理的数据量比较大,故使用IRasterLoader接口的load方法循环实现,load方法要求必须有个已存在的IRasterDataset,这就要首先在ArcSDE中新建一个IRasterDataset,利用接口IRasterWorkspaceEx的createRasterDataset方法在ArcSDE数据库中建立一个新的栅格数据集。要注意其中几个参数的设置,ISpatialReferenceFactory3、ISpatialReference、IRasterDef接口空间参照设置,要注意与入库影像数据的空间参照一致,IRasterStorageDef接口的设置比较关键,该接口用来设置是否建立金字塔、用来建立金字塔的级别数、建立方法、压缩方式、分块大小等。值得注意的是在入库的时候最好先不要建立金字塔,这样会大大的加快入库的速度,待入库完成后再一次建立金字塔。因为建金字塔是比较耗时间的,每入一幅影像都建立金字塔,处理起来会非常的慢。rstPixelType用来设置像素的类型,设置时要保持原始影像的精度。

在新建栅格数据集后,用IRasterLoader接口的load方法继续追加影像数据,并镶嵌为一个整体,在SDE数据库中保存。当需要更新某一个范围的数据时,只要重复以上方法将新数据追加到需要更新的栅格数据集上,就实现了影像数据的更新。

http://www.cnblogs.com/curtful/category/281739.html

基于ArcEngine的影像数据管理系统研制的更多相关文章

  1. easyconf——基于AugularJS的配置管理系统开发框架

    目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...

  2. 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)

    基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构.自己定义工作流) 课程讲师:张弘 课程分类:Java 适合人群:中级 课时数量:37课时 用到技术:Spring  ...

  3. 基于SSH实现员工管理系统之框架整合篇

    本篇文章来源于:https://blog.csdn.net/zhang_ling_yun/article/details/77803178 以下内容来自慕课网的课程:基于SSH实现员工管理系统之框架整 ...

  4. 原创:XXX公司-基于SAP的库存管理系统解决方案

    XXX公司-基于SAP的库存管理系统 解决方案 版本:V0.3.0 Excel_Cortan 文件状态: [ ] 草稿 [ ] 正式发布 [√] 正在修改 文件标识:   当前版本: V0.3 作 者 ...

  5. 基于UML的毕业设计管理系统的分析与设计

    基于UML的毕业设计管理系统的分析与设计 <本段与标题无关,自行略过 最近各种忙,天气不错,导师心情不错:“我们要写一个关于UML的专著”,一句话:“一个完整的系统贯穿整个UML的知识”:我:“ ...

  6. 11 基于django的图书管理系统 多表

    1.需求 作业需求:1.列出图书列表.出版社列表.作者列表2.点击作者,会列出其出版的图书列表3.点击出版社,会列出旗下图书列表4.可以创建.修改.删除 图书.作者.出版社 踩分点:1.满足需求1,2 ...

  7. 基于S2SH开发病房管理系统的设计与实现 源码

    基于S2SH开发病房管理系统的设计与实现: 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MySQL数据库 运行效果图:       此源码经 ...

  8. 基于Web的实验室管理系统技术简要报告

    基于Web的实验室管理系统技术简要报告 Copyright 朱向洋 Sunsea ALL Right Reserved 一.网站架构 该网站使用C#语言,利用SQL Server2008数据库,采用V ...

  9. 基于SSM的健身房管理系统

    基于SSM的健身房管理系统 The project was made in 2020-05-05~2020-05-10 谨以此片博文记录下我的第一个Java小Demo 项目展示 用户登录页 用户注册页 ...

随机推荐

  1. javaweb一周总结(菜鸟)

    我的试用期开始了. 这是我的第一篇博客,这也是我作为java工程师的第六天,主要是为了记录一周内出现的问题以及一些工作上的解答,吐槽一句工作的确和想的不一样之后直接记录下吧. 由于拥有工作平台看不到底 ...

  2. OleVariant的本质

    OleVariant的本质 OleVariant,COM的一种数据类型.MIDAS基于COM之上构建的,自然使用OleVariant作为数据序列格式. 延续到现在最新的DATASNAP仍然支持它. T ...

  3. wetask.cn领度任务全新试用体验

    管理一个公司或者团队,最困难的事情莫过于追踪大家的工作状况,往往是任务分配下去了,无法及时掌握进度.做绩效评估时候仅凭主观判断,无法清晰掌握团队的工作成绩和工作效率.团队日报.周报各种报表繁多,也是事 ...

  4. Entity Framework学习笔记

    原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和 ...

  5. Unity3D 物体移动到点击位置

    using UnityEngine;using System.Collections; public class MoveToClick : MonoBehaviour{ public GameObj ...

  6. android 开发代码被黑客破译有那么容易吗?

    很多程序员辛辛苦苦开发出的android开发代码,很容易就被黑客翻译了. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了 ...

  7. iOS使用sqlite3原生语法进行增删改查以及FMDB的使用

    首先要导入libsqlite3.dylib并且加入头文件#import <sqlite3.h>,在进行增删改查之前还要先把数据库搞进去. 一种方法是从外面拷贝到程序里:http://www ...

  8. jquery设置文本框值 与获取文本框的值

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. 使用trim方法检测用户输入

    首先需要封装trim方法,可以去除字符串两端空格的方法 function trim(str) { return str.replace(/^\s+|\s+$/g, ""); } 获 ...

  10. 网站图片列表动态显示、根据屏幕宽度动态设置DIV的CSS样式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...