基于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 项目展示 用户登录页 用户注册页 ...
随机推荐
- javaweb一周总结(菜鸟)
我的试用期开始了. 这是我的第一篇博客,这也是我作为java工程师的第六天,主要是为了记录一周内出现的问题以及一些工作上的解答,吐槽一句工作的确和想的不一样之后直接记录下吧. 由于拥有工作平台看不到底 ...
- c++线程创建传递的参数发生改变
看看如下代码,觉得输出会是什么? #include "stdafx.h" #include <windows.h> #include <iostream> ...
- A==?B(A,B超级大)
#include <iostream>#include <string.h>#include <cstring>using namespace std;struct ...
- 用OpenCV实现Otsu算法
算法的介绍 otsu法(最大类间方差法,有时也称之为大津算法)使用的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找 ...
- Servlet 浅谈(一)
Servlet 的生命周期 类加载.实例化,init方法,service方法,destroy方法.关于这点,后面会有详细介绍. 什么是容器? 因为Servlet没有main方法,所以它受控于另一个Ja ...
- Python入门之中文乱码
python入门编码: Python 文件中如果未指定编码,有中文代码时候,在执行过程会出现报错: File "test.py", line 2 SyntaxError: Non- ...
- Javascript基本概念(语句和函数)
语句 for语句 for语句中的初始化表达式,控制表达式和循环后表达式都是可选的,将这三个表达式省略,就会创建一个无线循环. ECMAScript中不存在块级作用域,因此在循环内容部定义的变量也可以在 ...
- c语言 文件写入和读取
#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 10 struct studen ...
- struts2之动态方法调用(转)
转自:http://blog.csdn.net/longwentao/article/details/6940289 当我们访问一个Action时,默认是访问execute()方法,但当在一个Acti ...
- jQuery validate (转载)
转自:http://blog.sina.com.cn/s/blog_608475eb0100h3h1.html jQuery校验 官网地址:http://bassistance.de/jquery-p ...