阅读:1131回复:0
我的插值代码错在什么地方
<P>我的IDW插值程序在运行时,总是出现下面错误:“The cell size is either invalid or not defined” <BR>栅格大小我改了很多值都出现一样的错误,我觉得我的代码没有错误,希望高手能提点以下。 <BR> Dim pFeatClass As IFeatureClass<BR> Set pFeatClass = pFeatLayer.FeatureClass<BR> Dim pFDescr As IFeatureClassDescriptor<BR> Set pFDescr = New FeatureClassDescriptor<BR> sFieldname = Combo2.Text '字段名<BR> pFDescr.Create pFeatClass, Nothing, sFieldname<BR> Dim pGe As IGeoDataset<BR> Set pGe = pFeatClass<BR> Dim pE As IEnvelope<BR> Set pE = pGe.Extent</P>
<P> Dim pIntOp As IInterpolationOp<BR> Set pIntOp = New RasterInterpolationOp<BR> <BR> Dim pRAE As IRasterAnalysisEnvironment<BR> Set pRAE = pIntOp<BR> pRAE.SetExtent esriRasterEnvValue, pE<BR> Set pRAE.Mask = pGe<BR> <BR> Dim cllsize As Double<BR> cllsize = 31 ‘栅格大小<BR> pRAE.SetCellSize esriRasterEnvMinOf<BR> <BR> Dim pRasterRadius As IRasterRadius<BR> Set pRasterRadius = New RasterRadius<BR> <BR> pRasterRadius.SetVariable 12<BR> <BR> <BR> Dim pGeoDataset As IGeoDataset<BR> Set pGeoDataset = pFDescr<BR> <BR> Dim pOutRaster As IGeoDataset<BR> Set pOutRaster = pIntOp.IDW(pGeoDataset, 2, pRasterRadius)<BR> <BR> If pOutRaster Is Nothing Then<BR> MsgBox "DB"<BR> Exit Sub<BR> End If<BR> <BR> Dim pRaster As IRaster<BR> Set pRaster = pOutRaster<BR> <BR> Dim pWSF As IWorkspaceFactory<BR> Set pWSF = New RasterWorkspaceFactory<BR> <BR> Dim pWS As IWorkspace<BR> Set pWS = pWSF.OpenFromFile(Text5.Text, 0)<BR> Dim pRasterDataset As IDataset<BR> <BR> Dim pRasterBc As IRasterBandCollection<BR> Set pRasterBc = pRaster<BR> Set pRasterDataset = pRasterBc.SaveAs("Raster", pWS, "GRID")<BR> <BR> Dim pRasterLayer As IRasterLayer<BR> pRasterLayer.CreateFromDataset pRasterDataset<BR> Form1.MapControl1.AddLayer pRasterLayer<BR> <BR> Form1.MapControl1.Refresh<BR></P> |
|