基于ArcEngine的影像数据管理系统研制
基于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的影像数据管理系统研制的更多相关文章
- easyconf——基于AugularJS的配置管理系统开发框架
目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...
- 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)
基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构.自己定义工作流) 课程讲师:张弘 课程分类:Java 适合人群:中级 课时数量:37课时 用到技术:Spring ...
- 基于SSH实现员工管理系统之框架整合篇
本篇文章来源于:https://blog.csdn.net/zhang_ling_yun/article/details/77803178 以下内容来自慕课网的课程:基于SSH实现员工管理系统之框架整 ...
- 原创:XXX公司-基于SAP的库存管理系统解决方案
XXX公司-基于SAP的库存管理系统 解决方案 版本:V0.3.0 Excel_Cortan 文件状态: [ ] 草稿 [ ] 正式发布 [√] 正在修改 文件标识: 当前版本: V0.3 作 者 ...
- 基于UML的毕业设计管理系统的分析与设计
基于UML的毕业设计管理系统的分析与设计 <本段与标题无关,自行略过 最近各种忙,天气不错,导师心情不错:“我们要写一个关于UML的专著”,一句话:“一个完整的系统贯穿整个UML的知识”:我:“ ...
- 11 基于django的图书管理系统 多表
1.需求 作业需求:1.列出图书列表.出版社列表.作者列表2.点击作者,会列出其出版的图书列表3.点击出版社,会列出旗下图书列表4.可以创建.修改.删除 图书.作者.出版社 踩分点:1.满足需求1,2 ...
- 基于S2SH开发病房管理系统的设计与实现 源码
基于S2SH开发病房管理系统的设计与实现: 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MySQL数据库 运行效果图: 此源码经 ...
- 基于Web的实验室管理系统技术简要报告
基于Web的实验室管理系统技术简要报告 Copyright 朱向洋 Sunsea ALL Right Reserved 一.网站架构 该网站使用C#语言,利用SQL Server2008数据库,采用V ...
- 基于SSM的健身房管理系统
基于SSM的健身房管理系统 The project was made in 2020-05-05~2020-05-10 谨以此片博文记录下我的第一个Java小Demo 项目展示 用户登录页 用户注册页 ...
随机推荐
- C++命名准则
总则:命名用英语,单词简单,明了.意义明确.过长的单词可以使用省略.一般是去掉元音字母形成省略.如果有通用的缩写,应该采用通用的缩写. 1.函数命名 1.1:全局函数:采用限定词+动词(+名词的原则) ...
- 多线程并发编程之显示锁ReentrantLock和读写锁
在Java5.0之前,只有synchronized(内置锁)和volatile. Java5.0后引入了显示锁ReentrantLock. ReentrantLock概况 ReentrantLock是 ...
- vim highlight whitespace at end of line and auto delete them
install Vundle.vim mkdir ~/.vim/bundle git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bun ...
- Django模板-基础知识
上一篇中带参数的URLconf虽然可以做到传参动态显示内容,但是最终现实的内容还是硬编码到Python代码中的 def hours_ahead(request,phours): try: phours ...
- Python下的机器学习工具sklearn--数据预处理
1.数据标准化(Standardization or Mean Removal and Variance Scaling) 进行标准化缩放的数据均值为0,具有单位方差. from sklearn im ...
- python 网络编程第四版
使用SocketServer 模块来完成服务端编程 1.服务端代码如下: #!/usr/bin/python #!coding:utf-8 import SocketServer as sockets ...
- SQL Server 查看实例配置情况的 2 方法
方法 1. sp_configure; execute sp_configure; 方法 2. sys.configurations select * from sys.configurations ...
- Delphi下URL汉字编码解码的两个函数
//汉字URL编码函数function URLEncode(const S: string; const InQueryString: Boolean): string;var Idx: Integ ...
- Velocity引擎导致jvm内存外内存泄露
我公司一兄弟,在controller层,每次调用controller的时候都创建了velocity引擎,而且没有去关闭,最终导致的现象就是jvm的内存信息正常,但是jvm之外的内存发生了泄露,导致是用 ...
- c#常见操作
1. StreamWriter - 文件写入类StreamWriter s = new StreamWriter(address + "/Menu.ini", true);s.Wr ...