http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> ArcGIS >> ArcSDE >> 正文

将栅格数据从ArcSDE8.3升级到ArcSDE9

作者:豆豆    文章来源:bbs.esrichina-bj.cn    点击数:    更新时间:2007-1-28
摘要:

四、使用SDERaster进行数据加载

    ArcGIS9/ArcSDE9的环境中,推荐使用ArcGIS geoprocessing工具来向geodatabase中加载栅格数据。但是,某些情况下,用户需要使用SDERaster命令来加载数据(比如当ArcSDE及数据都安装在UNIX系统下,用户需要采用SDERaster批处理脚本)。

    9版本中,栅格数据集和栅格目录表的结构都含有一个几何列,但是SDERaster命令不识别这种几何列,因为这种结构是在geodatabase的层次上定义的,而geodatabaseSDE客户端应用程序的最高层次。通常,SDERaster命令仅向栅格列(raster column)加载数据。对于栅格数据集,在ArcGIS中读取和显示数据并不需要几何列,因此使用SDERaster命令加载栅格数据集将创建一个能在ArcGIS9中直接使用的栅格数据集。如果某些应用程序需要使用几何列,则可以编写代码通过AOgeodatabase中注册栅格。

    使用SDERaster创建和插入栅格目录表
    使用SDERaster命令创建的栅格目录表将是8.3结构的,它的业务表中不含有几何列。这种栅格目录表在ArcGIS9里面表现为带有栅格列的表格。为了使之成为一个9版本的geodatabase栅格目录表,用户在加载完所有数据之后应该对其在geodatabase中进行注册。

    使用geoprocessing工具创建栅格目录表并使用SDERaster插入栅格
    如果用户使用geoprocessing工具或者ArcObjects创建栅格目录表,那么该栅格目录表就具有9版本的结构,它不仅含有栅格列,还含有几何列。一旦栅格目录表被创建,SDERaster命令就可用于向其中插入栅格数据。栅格列由栅格数据而生成,而几何列仍为空值,因为SDERaster无法使用几何列。由于几何列是空值,所以栅格目录表无法在ArcGIS中预览。因为目前没有geoprocessing工具或环境菜单可用来为栅格目录表更新几何列(译者注:当时是2004年,不知道现在是否有相应的工具解决这个问题),所以只能使用ArcObjects来完成这个工作了。下面是更新栅格目录表的几何列的VB代码。这个代码也可以在开发者帮助中找到:on Developer Help > Raster > Converting Raster Data > Update Geometry Column In Raster Catalog

 

更新几何列的VB代码


Sub UpdateGeometryInRasterCatalog(pSDEWs As IRasterWorkspaceEx, sCatalog As string)

   ' Update the geometry column in a 9.0 raster catalog
    Dim pCatalog As IRasterCatalog
    Dim pCatalogHelper As IRasterCatalogHelper

   'Open raster catalog
   Set pCatalog = pSDEWs.OpenRasterCatalog(sCatalog)

   'Initialize helper class
   Set pCatalogHelper = New RasterCatalogHelper

   'Update the geometry
   pCatalogHelper.UpdateFootprint pCatalog

   Set pCatalog = Nothing
   Set pCatalogHelper = Nothing

   End Sub

 

上一页  [1] [2] [3] 

Tags:ArcSDE,栅格数据  
责任编辑:gissky
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图