IExtractionOp::Rectangle or Polygon returns the incorrect extent on the resulting geodataset.
上次发布: August 25, 2014No Product Found
漏洞 ID 编号
NIM011634
已提交
September 12, 2007
上次修改时间
June 5, 2024
适用范围
No Product Found
找到的版本
9.2
编程语言
All
状态
Will Not Be Addressed
开发团队已考虑过该问题或请求,并决定不会解决该问题。 问题的“其他信息”部分可能包含进一步说明。
附加信息
No Public Explanation
解决办法
Using IRasterProps::Extent and then saving out the resulting raster with modified extentSub ImageClip()Dim pDoc As IMxDocumentDim pEnv As IEnvelopeSet pDoc = Application.DocumentDim pMap As IMapSet pMap = pDoc.FocusMapDim pGCS As IGraphicsContainerSelectSet pGCS = pMapDim pElement As IElementSet pElement = pGCS.SelectedElement(0)Set pEnv = pElement.Geometry.EnvelopeDim pRaster As IRasterDim pLayer As ILayerSet pLayer = pDoc.FocusMap.Layer(1) ' Image is second layer in the map' If pLayer in not a raster layer then exitIf Not TypeOf pLayer Is IRasterLayer Then Exit SubDim pRasterLayer As IRasterLayerSet pRasterLayer = pLayerSet pRaster = pRasterLayer.Raster' Get Raster from RasterLayerSet pRaster = pRasterLayer.RasterDim pProp As IRasterPropsSet pProp = pRasterDim pDataSet2 As IDatasetDim pGeoDataset As IGeoDataset2' Clip the raster to the extent of the graphicpProp.Extent = pEnv' Save the clip to a new raster datasetDim pDataset As IDatasetSet pDataset = pLayerDim pWS As IWorkspaceSet pWS = pDataset.WorkspaceDim pSaveAS As ISaveAsSet pSaveAS = pProp 'pRaster'Dim pDataSet2 As IDatasetSet pDataSet2 = pSaveAS.SaveAs("test.jpg", pWS, "JPG")Set pGeoDataset = pDataSet2Debug.Print pGeoDataset.Extent.XMin & " - " & pGeoDataset.Extent.XMaxEnd Sub