ǰλãҳ > ArcGIS栅格处理总结 - 百度文库
ILogicalOp pLogicalop = newRasterMathOpsClass();//ILogicalopӿڣѧ
IRaster pOutr = pLogicalop.IsNull(pRaster asIGeoDataset ) asIRaster ;//ȱʧôΪ1Ϊ0.
ConԽդеijЩֵͨѯΪҪijЩҪΪֵ
ԼõҲĹ̶ֵ
IConditionalOp:Con IConditionalOp.
Con(IGeoDatasetconditionalRaster,IGeoDatasettrueRaster, ref objectfalseRaster)
conditionalRaster
ǽ01ֵжֵդݣ
0դ
ֻҪֵ0դֵֵtrueRasterֵ
ֵôֵΪfalseRasterfalseRasterΪһҲΪһդݼRasterӦֵ
IConditionalOp. Con
IWorkspaceFactory pWksfact = newRasterWorkspaceFactoryClass(); IRasterWorkspace pRwks = pWksfact.OpenFromFile(@\դݴ\\Temp\\data\, 0)
asIRasterWorkspace ;
IRaster pRaster = pRwks.OpenRasterDataset(\).CreateDefaultRaster(); IRaster pSraster = newRasterClass(); //object pint = 100;//objectΪ
object pRa = pRaster;//objectΪդݼ
IConditionalOp pConditionalop = newRasterConditionalOpClass();
//pSraster = pConditionalop.Con(pRaster as IGeoDataset, pRaster as IGeoDataset , ref pint) as IRaster ;//objectΪ
pSraster = pConditionalop.Con(pRaster asIGeoDataset, pRaster asIGeoDataset, ref pRa) asIRaster;//objectΪդݼ ISaveAs pSa = pSraster asISaveAs;
pSa.SaveAs(\, pRwks asIWorkspace, \);
ʹáΪպֵΪ NoDataspatial analystµconditionalµset null
Ҫֵ 5 ԪΪ NoDataұԪԭʼֵڹ߶Իʹ² դInRas1 ʽ\)
ֵΪ False դֵInRas1ֵΪդӦֵ դsetnull_1
IConditionalOp:ֻդֵֻ01դֻ01ôֵΪ1ΪգֵΪ0ȻΪ0դFalse RasterӦλõֵդжֵ0ʹ0࣬դжֵʱֵ0Ϊգֵ0Ȼ0դݣFalse RasterӦλõֵconditionalµset null࣬𣬲ásql䡱0ֵΪnodata0ֵΪfalserasterդֵ õĽӿ IConditionalOpǣSetNull
Ӧ Ĵ룺
IWorkspaceFactory pWksfact = newRasterWorkspaceFactoryClass();
IRasterWorkspace pRwks = pWksfact.OpenFromFile(@\,0) asIRasterWorkspace ; IRaster2 pRaster = pRwks.OpenRasterDataset(\).CreateDefaultRaster()
asIRaster2;
IRaster2 pR2 = pRwks.OpenRasterDataset(\).CreateDefaultRaster() asIRaster2; IConditionalOp pCondi = newRasterConditionalOpClass(); IGeoDataset pDataset = pRaster asIGeoDataset; IGeoDataset pFdataset = pR2 asIGeoDataset;
IGeoDataset pOutdataset = pCondi.SetNull(pDataset ,pFdataset ); ISaveAs pSa = pOutdataset asISaveAs;
pSa.SaveAs( \,pRwks asIWorkspace ,\ );
ͨһķΧȡդݣ
IWorkspaceFactory pWksfact = newRasterWorkspaceFactoryClass();
IRasterWorkspace pRwks = pWksfact.OpenFromFile(@\,0) asIRasterWorkspace ; IRaster2 pRaster = pRwks.OpenRasterDataset(\).CreateDefaultRaster() asIRaster2;
IRasterProps pRprops = pRaster asIRasterProps ;
IExtractionOp pExtra = newRasterExtractionOpClass();
IWorkspaceFactory pSwksfact = newShapefileWorkspaceFactoryClass(); IFeatureWorkspace pFwks = pSwksfact.OpenFromFile(@\, 0) asIFeatureWorkspace ;
IFeatureClass pFclass = pFwks.OpenFeatureClass(\); IFeatureCursor pFcur = pFclass.Search(null,false ); IFeature pFeature = pFcur.NextFeature();
IPolygon pPolygon = pFeature.Shape asIPolygon ;
IWorkspace pOutwks = pWksfact.OpenFromFile(@\, 0); IGeoDataset pGeodataset = pRaster asIGeoDataset;
IGeoDataset pOutgd = pExtra.Polygon(pGeodataset ,pPolygon,true ) asIGeoDataset ;//trueָڵդȡfalseָդȡ IRaster pOutr = pOutgd asIRaster;//GeodatasetתΪirasterתΪirasterdatasetisaveas洢ڴеդݡ ISaveAs pSa = (ISaveAs ) pOutr ;
pSa.SaveAs(\, pOutwks, \);//poutwksһҪդռ乤Ĺռ䣬ռ乤Ĺռ䡣
ͨȡդ
IWorkspaceFactory pWksfact = newRasterWorkspaceFactoryClass();
IRasterWorkspace pRwks = pWksfact.OpenFromFile(@\,0) asIRasterWorkspace ; IRaster2 pRaster = pRwks.OpenRasterDataset(\).CreateDefaultRaster() asIRaster2;
IRasterProps pRprops = pRaster asIRasterProps ;
IExtractionOp pExtra = newRasterExtractionOpClass();
IQueryFilter pQueryfilter = newQueryFilterClass () ;//ԲѯѯֵǶٵء
pQueryfilter.WhereClause = \;//زѯ
IRasterDescriptor pRdescriptor = newRasterDescriptorClass();//դӿڡ pRdescriptor.Create(pRaster asIRaster, pQueryfilter, \); IWorkspaceFactory pRwks2 = newRasterWorkspaceFactoryClass(); IWorkspace pWks2 = pRwks2.OpenFromFile(@\, 0);
IRaster pOut2 = pExtra.Attribute(pRdescriptor) asIRaster;//õդݸiraster
ISaveAs poUTas = pOut2 asISaveAs ;
poUTas.SaveAs(\,pWks2 ,\);
ͨΧRectangleȡդ
IWorkspaceFactory pWksfact = newRasterWorkspaceFactoryClass();
IRasterWorkspace pRwks = pWksfact.OpenFromFile(@\,0) asIRasterWorkspace ; IRaster2 pRaster = pRwks.OpenRasterDataset(\).CreateDefaultRaster() asIRaster2;
IRasterProps pRprops = pRaster asIRasterProps ;
IWorkspaceFactory pSwksfact = newShapefileWorkspaceFactoryClass(); IFeatureWorkspace pFwks = pSwksfact.OpenFromFile(@\, 0) asIFeatureWorkspace ;
IFeatureClass pFclass = pFwks.OpenFeatureClass(\); IFeatureCursor pFcur = pFclass.Search(null, false); IFeature pFeature = pFcur.NextFeature(); IEnvelope pEnv = pFeature.Extent; //ȡΧ
IExtractionOp pEx = newRasterExtractionOpClass();
IRaster pOraster = pEx.Rectangle(pRaster asIGeoDataset, pEnv, true) asIRaster ; ISaveAs pSa = pOraster asISaveAs;//
pSa.SaveAs(\,pRwks asIWorkspace ,\);
ͨΣRectangle
ͼСXYֵ½ǣIEnvelopeСֵ½ǣֵϽǣդСֵϽǣֵ½ǡ double pXmin, pXmax, pYmin, pYmax; IEnvelope pEnv = newEnvelopeClass();
pR2.PixelToMap(pW, pH + pRprops.Height, out pXmin, out pYmin);//xyֵСֵ pR2.PixelToMap(pW + pRprops.Width ,pH,out pXmax ,out pYmax );//xyֵֵ pEnv.PutCoords(pXmin, pYmin, pXmax, pYmax);//IEnvelopeķΧ IExtractionOp pExtractop = newRasterExtractionOpClass();
IRaster pSraster = pExtractop.Rectangle(pR asIGeoDataset, pEnv, true) asIRaster; ISaveAs pSa = pSraster asISaveAs;
pSa.SaveAs(\ + Pc , pRwks asIWorkspace, \);
ͨդȡդ
IWorkspaceFactory pWksfact = newRasterWorkspaceFactoryClass();
92ƪĵ