ArcGISEngine实现栅格数据裁剪

原创 2013年12月04日 15:55:15

ArcGIS空间分析扩展模块提供了对栅格数据进行裁剪抽取操作的功能,在ArcGISEngine中可以调用相关的GP工具来对栅格数据操作。

  •  调用空间分析ArcToolbox中Extract     By Polygon工具

privatevoid ExtractByPolygon()

        {

            IVariantArray parameters = newVarArrayClass();

            string sDocPath = @"C:\filerastergdb.gdb\raster";      //地图文档路径

            string sDocPath1 = @"C:\filerasteroutput.gdb\outraster";

           parameters.Add(sDocPath);

           

            string ss1 = "'545160.9444639276.889';'545216.242 4639266.57';'545227.355 4639308.375'";;

           parameters.Add(ss1);

           parameters.Add(sDocPath1);

           parameters.Add("INSIDE");

            IGeoProcessor2 gp = newGeoProcessorClass();

           gp.OverwriteOutput = true;

            IGeoProcessorResult pResult = null;

            try

            {

                pResult =gp.Execute("ExtractByPolygon", parameters, null);

                IWorkspaceFactory pFWSF = new ESRI.ArcGIS.DataSourcesGDB.FileGDBWorkspaceFactoryClass();

               ESRI.ArcGIS.Geodatabase.IWorkspace pWS = pFWSF.OpenFromFile(@"C:\filerasteroutput.gdb", 0) ;

               ESRI.ArcGIS.Geodatabase.IRasterWorkspaceEx pRasterWs = pWS asESRI.ArcGIS.Geodatabase.IRasterWorkspaceEx;

                IRasterDataset pRasterDataset =pRasterWs.OpenRasterDataset("outraster");

                IRasterLayer pRasterLayer = newRasterLayerClass();

               pRasterLayer.CreateFromDataset(pRasterDataset);

                axMapControl1.AddLayer(pRasterLayer);

                string mess = null;

                for (int k = 0; k < gp.MessageCount; k++)

                {

                    mess+= gp.GetMessage(k) + "\n";

                }

                MessageBox.Show(mess);

            }

            catch (Exception err)

            {

                string msg = err.Message;

                string mess = null;

                for (int k = 0; k < gp.MessageCount; k++)

                {

                    mess+= gp.GetMessage(k) + "\n";

                }

                MessageBox.Show(mess);

            }

        }

 

  • 调用IExtractionOp接口对栅格数据裁剪

        publicvoid ExtractionRasterData(IGeoDataset pGeoDataset, ESRI.ArcGIS.Geometry.IPolygon pPolygone, bool binside)

        {

           ESRI.ArcGIS.SpatialAnalyst.IExtractionOp pExtractionOp = new ESRI.ArcGIS.SpatialAnalyst.RasterExtractionOpClass();

           ESRI.ArcGIS.Geodatabase.IGeoDataset pGeoOutput = pExtractionOp.Polygon(pGeoDataset, pPolygone,binside);

        }

C#+Arcengine实现GP工具中Data Management Tool》raster》raster processing中的clip功能(矢量数据对栅格数据的裁剪)

Arcgisdesktop中Data Management Tool中有一个clip的功能,即可以实现根据矢量数据的范围对栅格数据的裁剪的功能,在这里它有一个可选项use input features...
  • chhdxzq
  • chhdxzq
  • 2015年01月28日 19:49
  • 2961

Python中用GDAL实现矢量对栅格的切割

本文讲述如何在Python中用GDAL实现根据输入矢量边界对栅格数据的裁剪。
  • GISShiXiSheng
  • GISShiXiSheng
  • 2017年06月02日 12:05
  • 1770

使用矢量面裁剪栅格数据的对齐问题

最近凑巧有几个比较多的栅格裁剪问题,整理如下: 我们只有由于栅格与矢量数据的存储模型不相同,这就导致栅格数据的像元无法与矢量数据的点等同,从而导致裁切后的对齐问题,如下图可以说明:...
  • kikitaMoon
  • kikitaMoon
  • 2014年07月29日 11:19
  • 4119

ArcGIS中对栅格数据(遥感影像或地形图)进行裁剪切割的方法

  • 2016年07月19日 10:15
  • 103KB
  • 下载

Arcgis中对矢量和栅格数据进行裁剪切割的方法

ArcGIS9:   ArcToolbox-->Spatail AnalystTools-->Extraction ArcGIS8.X: 在ArcMap --> SpatialAnalyst扩...
  • Mello_
  • Mello_
  • 2015年08月06日 16:07
  • 16484

栅格数据裁剪

栅格数据裁剪 public static void RasterClip(IRasterLayer pRasterLayer, IPolygon clipGeo, string FileName) ...
  • wujianyouhun
  • wujianyouhun
  • 2016年11月21日 16:59
  • 867

二维地图上对栅格数据集进行可视域分析

  • 2017年12月15日 10:10
  • 24.8MB
  • 下载

SuperMap Objects Java 创建栅格数据集

  • 2017年12月07日 15:33
  • 6.02MB
  • 下载

SuperMap Objects Java指定值设为栅格数据的空值

  • 2017年12月15日 15:46
  • 2.16MB
  • 下载

基于十进制的四叉树结构的编程(栅格数据)

  • 2009年09月08日 13:26
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ArcGISEngine实现栅格数据裁剪
举报原因:
原因补充:

(最多只允许输入30个字)