打开栅格数据

  和打开要素类的方式类似,打开栅格数据集需要用 IRasterWorkspace,如

 //获得栅格工作空间(普通目录).
public ESRI.ArcGIS.DataSourcesRaster.IRasterWorkspace GetRasterWorkspace(string rasterWorkspacePath) {
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wsf = new ESRI.ArcGIS.DataSourcesRaster.RasterWorkspaceFactoryClass(); //使用RasterWorkspaceFactoryClass.
ESRI.ArcGIS.Geodatabase.IWorkspace ws = wsf.OpenFromFile(rasterWorkspacePath, );
ESRI.ArcGIS.DataSourcesRaster.IRasterWorkspace rws = (ESRI.ArcGIS.DataSourcesRaster.IRasterWorkspace)ws;
return rws;
} /// <summary>
/// 打开栅格数据集(普通目录).
/// </summary>
/// <param name="foldName">目录名称(普通目录),如,foldName="G:\doc\gis\1.400\data\raster".</param>
/// <param name="fileName">栅格数据集的名称,如fileName="srtm_58_09.tif"</param>
/// <returns></returns>
public ESRI.ArcGIS.Geodatabase.IRasterDataset OpenRasterDataset(string foldName, string fileName) {
ESRI.ArcGIS.DataSourcesRaster.IRasterWorkspace rws = GetRasterWorkspace(foldName);
return rws.OpenRasterDataset(fileName);
} //获得栅格工作空间(数据库中).
//如rasterWorkspaceExPath="G:\doc\gis\1.400\data\pdb.mdb"
public ESRI.ArcGIS.Geodatabase.IRasterWorkspaceEx GetRasterWorkspaceEx(string rasterWorkspaceExPath) {
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wsf = new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactoryClass(); //使用专门数据库.
ESRI.ArcGIS.Geodatabase.IWorkspace ws = wsf.OpenFromFile(rasterWorkspaceExPath, );
ESRI.ArcGIS.Geodatabase.IRasterWorkspaceEx rwsEx = (ESRI.ArcGIS.Geodatabase.IRasterWorkspaceEx)ws;
return rwsEx;
} /// <summary>
/// 打开栅格数据集(数据库中)
/// </summary>
/// <param name="rasterWorkspaceEx"></param>
/// <param name="rasterDatasetName">栅格数据集名称,如"rds"</param>
/// <returns></returns>
public ESRI.ArcGIS.Geodatabase.IRasterDataset OpenRasterDataset(ESRI.ArcGIS.Geodatabase.IRasterWorkspaceEx rasterWorkspaceEx, string rasterDatasetName) {
return rasterWorkspaceEx.OpenRasterDataset(rasterDatasetName);
}

需要指出的是,当我们的数据是存储在SDE数据库,FileGeodatabase或PersonalGeodatabase时,要用IRasterWorkspaceEx,而不是IRasterWorkspace.

IRasterWorkspace与IRasterWorkspaceEx的区别

    1)IRasterWorkspace主要是用来读取以文件格式存储在本地的栅格数据.

    2)IRasteWorkspaceEx接口主要是用来读取GeoDatabase中的栅格数据集和栅格目录.

打开栅格目录

  打开栅格目录需要用IRasterWorkspaceEx,可以从以上(打开栅格数据集的第20~27行获取IRasterWorkspaceEx对象,然后通过OpenRasterCatalog获取.如

 /// <summary>
/// 打开栅格目录.
/// </summary>
/// <param name="rasterWorkspaceEx"></param>
/// <param name="rasterCatalogName">栅格目录名,如rasterCatalogName="r_catalog"</param>
/// <returns></returns>
public ESRI.ArcGIS.Geodatabase.IRasterCatalog OpenRasterCatalog(ESRI.ArcGIS.Geodatabase.IRasterWorkspaceEx rasterWorkspaceEx, string rasterCatalogName) {
return rasterWorkspaceEx.OpenRasterCatalog(rasterCatalogName);
}

 打开栅格目录中的数据

 //打开栅格目录中的数据.
ESRI.ArcGIS.Geodatabase.IRasterDataset GetRasterCatalogItem(ESRI.ArcGIS.Geodatabase.IRasterCatalog rasterCatalog, int objectId) {
ESRI.ArcGIS.Geodatabase.IFeatureClass fc = (ESRI.ArcGIS.Geodatabase.IFeatureClass)rasterCatalog;
ESRI.ArcGIS.Geodatabase.IRasterCatalogItem rCataItem = (ESRI.ArcGIS.Geodatabase.IRasterCatalogItem)fc.GetFeature(objectId);
return rCataItem.RasterDataset;
}

Geodatabase - 打开栅格数据的更多相关文章

  1. ArcGIS Engine开发之旅07---文件地理数据库、个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 、打开栅格数据

    原文:ArcGIS Engine开发之旅07---文件地理数据库.个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 .打开栅格数据 对文件地理数据库.个人地理数据库和 ArcSDE 地理 ...

  2. PIE SDK打开栅格数据

    1. 功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联. ...

  3. Geodatabase - 打开数据库(工作空间)

    //使用IName方式打开数据库(工作空间). public void GetWorkspace_IName(string workspacePath) { ESRI.ArcGIS.Geodataba ...

  4. Geodatabase - 打开要素类

    string dbPath = @"G:\doc\gis\1.400\data\pdb.mdb"; ESRI.ArcGIS.Geodatabase.IWorkspaceFactor ...

  5. ArcEngine中打开各种数据源(WorkSpace)的连接

    (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业 ...

  6. Geodatabase介绍

    一.概述 (1)Geodatabase是什么? ArcGIS操作基于GIS文件格式和存储于地理数据库(Geodatabase)中的地理信息.Geodatabase是ArcGIS的本地数据结构,是用于编 ...

  7. ArcEngine中打开各种数据源(WorkSpace)的连接(转)

    ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开 ...

  8. ArcEngine中打开各种数据源(WorkSpace)的连接http://www.cnblogs.com/feilong3540717/archive/2011/08/07/2129906.html

    ArcEngine中打开各种数据源(WorkSpace)的连接 ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影 ...

  9. [转] ArcEngine中打开各种数据源(WorkSpace)的连接

    原文 ArcEngine中打开各种数据源(WorkSpace)的连接(SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源. ...

随机推荐

  1. VS2010 C++ 优化配置

    个人感觉VC6.0太土了,而且有很多bug存在,且微软早就不对其更新.所以,在选择C++编程的时候.使用IDE,VC6.0一段时间以后,我毅然决然的放弃了,觉得还是使用VS2010比较有前途. 但是当 ...

  2. The Primo ScholarRank Technology: Bringing the Most Relevant Results to the Top of the List

    By Tamar Sadeh, Director of Marketing In today’s world, users’ expectations for a quick and easy sea ...

  3. jquery上传控件个人使用

    转了一篇jquery的上传控件使用博文,但是,经过测试貌似不行,自己研究了一下,效果实现.记下,以后使用. 下载“Uploadify”,官方版本为php的,很多文件不需要,删除带.php的文件. &l ...

  4. d017: 打印某年某月有几天

    内容: 打印某年某月有几天 输入说明: 一行两个整数,前面是年份 后面是月份 输出说明: 一个整数 输入样例:   2009 6 输出样例 : 30 #include <stdio.h> ...

  5. ASP.NET MVC5中的数据注解

    ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...

  6. Reaver v1.4 用法整理 含高级参数说明 pin必备资料

    闲话少叙 使用方法: airmon-ng start wlan0 //启动mon0监控 reaver -i mon0 -b MAC -a -S -vv //普通用法 如果,90.9%进程后死机或停机, ...

  7. Android系统源代码下载

    最近,我在研究android,所以想下载android源代码看看.按照http://source.android.com/source/downloading.html 这个页面所提示的步骤在下载源代 ...

  8. uva 10036 Problem C: Divisibility

    题意:能否在一个整数序列的每相邻的两项之间添加一个加减号,使得最终结果能被一个给定整数K<=100整除. dp[i][j]表示第i个数取余k为j的布尔值. #include <cstdio ...

  9. C51库函数积累

    C51库函数积累: (1)_chkfloat_: 函数定义:unsigned char _chkfloat_ ( float val); /* number to check */ 函数功能:_chk ...

  10. SQL查询优化

    在数据库SQL性能优化中,查询优化所占比较高.select调优基本还是比较耗时的.所以我整理了一些提示.每当我在写查询语句的时候,总会看看是否满足这些提示清单. 1.要为WHERE 和JOIN后面的字 ...