您的位置:首页 > 其它

ae中栅格数据转为矢量数据

2011-08-09 20:43 429 查看
ILayer pLayer = pAxMapControl.get_Layer(this.cmbLayer.SelectedIndex);
IRasterLayer pRasterLayer = pLayer as IRasterLayer;

IWorkspaceFactory2 pWorkspaceFactory2 = new RasterWorkspaceFactoryClass();
IRasterWorkspace pRasterWorkspace;

int Index = pRasterLayer.FilePath.LastIndexOf("\\");
string filePath = pRasterLayer.FilePath.Substring(0, Index);
string fileName = pRasterLayer.FilePath.Substring(Index + 1);

pRasterWorkspace = (IRasterWorkspace)pWorkspaceFactory2.OpenFromFile(filePath, 0);
IRasterDataset pRasterDataset = pRasterWorkspace.OpenRasterDataset(fileName);

IGeoDataset pRasterGeoDataset = pRasterDataset as IGeoDataset;
IWorkspaceFactory2 pWorkspaceFactoryShp = new ShapefileWorkspaceFactoryClass();
//............................................................................
IWorkspace pWorkspace = pWorkspaceFactoryShp.OpenFromFile(this.tbFolderPath.Text, 0);
IConversionOp pConversionOp = new RasterConversionOpClass();
ISpatialReference pSpatialReference = pRasterGeoDataset.SpatialReference;

IGeoDataset pGeoDataset;
//....................................................................
pGeoDataset = pConversionOp.RasterDataToPolygonFeatureData(pRasterGeoDataset, pWorkspace, this.tbName.Text, true);

IDataset pDataset1 = pGeoDataset as IDataset;
IFeatureClass pFeatureClass = pDataset1 as IFeatureClass;

IFeatureLayer pFeatureLayer = new FeatureLayerClass();
pFeatureLayer.FeatureClass = pFeatureClass;

pAxMapControl.ClearLayers();
pAxMapControl.AddLayer(pFeatureLayer);
pAxMapControl.Refresh();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: