Raster Products(栅格产品)的定制开发
之前介绍了栅格产品的基本原理以及基于元数据信息进行建筑物高度量测的内容,今天想更加深入的洞悉一下栅格产品,和大家一起聊聊栅格产品的定制开发及注册。
1、栅格产品定制开发
栅格产品是栅格类型(Raster Type)与栅格函数模板(Raster Function Template)的集合体,因此它的定制开发自然离不开这两项。
实现起来概括的说需要三步:(1)扩展栅格类型;(2)添加栅格函数模板;(3)开启栅格类型功能
上面说的有点太简略,那下面就举个具体的实例,来说明栅格产品定制开发的过程。就以HJ卫星为例。
步骤如下:
(1)创建栅格类型:在此创建的栅格类型为HJ-1A/1B CCD
(2)创建产品类型:本例中创建的产品类型有原始波段组合的影像“raw”,以及原始影像拉伸后的影像“stretch”。
(3)设置栅格函数模板:根据设置的产品类型,进行栅格函数模板的设置,raw template以及stretch template。
(4)实现影像自动抓取方式:获取影像存储路径、所需影像,以及元数据存储文件格式。
(5)生成栅格产品:动态实现上述静态设置,生成栅格产品。
(6) 调用builder,开启使用栅格产品能力
整个的开发过程需要五个类接口,对应着执行过程的相应开发步骤。分别是CreateRasterType、URIFilter、ItemTemplates、GetRecommendedCrawler以及build。相互关系如下图所示。
通过CreateRasterType实现RasterType的创建,URIFilter创建了产品类型,ItemTemplates定义了栅格函数模板,GetRecommendedCrawler实现了影像的自动抓取,最后的build类生成栅格产品。
下面是实现定制开发的具体源码:
(1)创建栅格类型(CreateRasterType)
(2)设置产品类型(URIFilter)
(3)设置栅格函数模板(ItemTemplates)
(4)实现影像自动抓取方式(Get RecommendedCrawler)
(5)生成栅格产品(Build)
(6)调用builder,开启栅格产品功能
2、栅格产品注册应用
执行源代码,生成了应用程序扩展esriRasterType.dll文件。只需将该文件注册到本机中,即可实现HJ卫星影像的栅格函数扩展。
先来看一下注册之前的HJ卫星影像是怎样的。文件夹中文件包括单波段的影像数据、快视图,以及元数据文件*.xml。
注册的步骤很简单:
(1)在arcgis的bin目录下,搜索“Categories.exe ”
(2)使用Categories,选择"Esri Raster Type Factories",使用“Add Object”,将DLL注册即可。
文件注册成功之后,大家可以看到,之前的元数据文件变成了栅格产品,正如我们定义的,得到了Raw以及Stretch两个栅格产品。
栅格产品的定制开发就为大家介绍到这里,即将召开的2012年Esri中国第十届用户大会,demo剧场里会有相关的内容,影像技术专场中也会有相关讲座,敬请关注啦!