『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS Engine 10 开发手册(8-17)示例:RasterConvertHelperClass 接口调用

ArcGIS Engine 10 开发手册(8-17)示例:RasterConvertHelperClass 接口调用
本文演示使用ArcGIS Engine 实现 RasterConvertHelperClass 接口调用功能演示代码示例。

    本文演示使用ArcGIS Engine 实现 RasterConvertHelperClass 接口调用功能演示代码示例。


     示例代码

public void ConvertRaterToLineFeature (string pRasterWs, string pRasterDatasetName, string pShapeFileName)

 

{

 

  IRasterDataset pRasterDataset = GetRasterWorkspace (pRasterWs).OpenRasterDataset (pRasterDatasetName);

 

  IConversionOp pConversionOp = new RasterConversionOpClass ();

  IRasterAnalysisEnvironment pEnv = (IRasterAnalysisEnvironment) pConversionOp;

 

  IWorkspaceFactory pWorkspaceFactory = new RasterWorkspaceFactoryClass ();

  IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile (pRasterWs, 0);

  pEnv.OutWorkspace = pWorkspace;

 

  IWorkspaceFactory pShapeFactory = new ShapefileWorkspaceFactoryClass ();

 

  IWorkspace pShapeWS = pShapeFactory.OpenFromFile (pRasterWs, 0);

 

  System.Object pDangle = (System.Object) 1.0;

 

  IGeoDataset pFeatClassOutput = pConversionOp.RasterDataToLineFeatureData ((IGeoDataset) pRasterDataset, pShapeWS, pShapeFileName, false, false, ref pDangle);

 

}

 

/// <summary>

 

/// 要素转成Grid

 

/// </summary>

 

/// <param name="pFeaureClass"></param>

 

/// <param name="pRasterWorkspaceFolder"></param>

 

/// <param name="pCellsize"></param>

 

/// <param name="pGridName"></param>

 

/// <returns></returns>

 

public IGeoDataset CreateGridFromFeatureClass (IFeatureClass pFeaureClass, String pRasterWorkspaceFolder, double pCellsize, string pGridName)

 

{

 

  IGeoDataset pGeoDataset = (ESRI.ArcGIS.Geodatabase.IGeoDataset) pFeaureClass; // Explicit Cast

 

  ISpatialReference pSpatialReference = pGeoDataset.SpatialReference;

 

  IConversionOp pConversionOp = new ESRI.ArcGIS.GeoAnalyst.RasterConversionOpClass ();

 

  IWorkspaceFactory pWorkspaceFactory = new ESRI.ArcGIS.DataSourcesRaster.RasterWorkspaceFactoryClass ();

 

  IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile (pRasterWorkspaceFolder, 0);

 

  IRasterAnalysisEnvironment pAnalysisEnvironment = (ESRI.ArcGIS.GeoAnalyst.IRasterAnalysisEnvironment) pConversionOp; // Explicit Cast

 

  pAnalysisEnvironment.OutWorkspace = pWorkspace;

 

  ESRI.ArcGIS.Geometry.IEnvelope pEnvelope = new ESRI.ArcGIS.Geometry.EnvelopeClass ();

 

  pEnvelope = pGeoDataset.Extent;

 

  object pObjectCellSize = (System.Object) pCellsize;

 

  pAnalysisEnvironment.SetCellSize (ESRI.ArcGIS.GeoAnalyst.esriRasterEnvSettingEnum.es riRasterEnvValue, ref pObjectCellSize);

 

  object object_Envelope = (System.Object) pEnvelope;

  object object_Missing = Type.Missing;

 

  pAnalysisEnvironment.SetExtent (ESRI.ArcGIS.GeoAnalyst.esriRasterEnvSettingEnum.esri RasterEnvValue, ref object_Envelope, ref object_Missing);

 

  pAnalysisEnvironment.OutSpatialReference = pSpatialReference;

 

  IRasterDataset pRasterDataset = new ESRI.ArcGIS.DataSourcesRaster.RasterDatasetClass ();

 

  pRasterDataset = pConversionOp.ToRasterDataset (pGeoDataset, "GRID", pWorkspace, pGridName);

 

  IGeoDataset pGeoOutput = (ESRI.ArcGIS.Geodatabase.IGeoDataset) pRasterDataset;

  return pGeoOutput;

 

}

      京ICP备08100627号-22 京公网安备 11010802030428号