请教,求两个Feature交集的面积
| 大家好,项目需要计算两个Feature(面)交集的面积 我写的方法如下,当两个Feature不相交时计算结果为0,相交时运行到蓝色部分有时候会出错有时候又能计算处结果。 大家有没有别的什么方法啊,谢谢大家 IWorkspaceFactory Fact = new SdeWorkspaceFactoryClass(); IFeatureWorkspace FeaWorkSpace = null; IPropertySet pProtySet = new PropertySetClass(); try { pProtySet = this.Sde_Conn(); FeaWorkSpace = (IFeatureWorkspace)Fact.Open(pProtySet, 0); IFeatureClass Feacls = FeaWorkSpace.OpenFeatureClass("SDE.ZUOYEQU"); IFeature Fea = Feacls.GetFeature(2); IFeature Fea1 = Feacls.GetFeature(6); ITopologicalOperator pTopo = null; pTopo = (ITopologicalOperator)Fea.Shape; IGeometry Geo = pTopo.Intersect(Fea1.Shape,esriGeometryDimension.esriGeometryNoDimension); IFeatureBuffer FeaBuffer = Feacls.CreateFeatureBuffer(); FeaBuffer.Shape = Geo; ISpatialReferenceFactory pSpaRef = new SpatialReferenceEnvironmentClass(); IProjectedCoordinateSystem pProCoordsSys = pSpaRef.CreateProjectedCoordinateSystem((int)esriSRProjCSType.esriSRProjCS_Beijing1954GK_15); FeaBuffer.Shape.Project(pProCoordsSys); IArea pArea = (IArea)FeaBuffer.Shape; MessageBox.Show(pArea.Area.ToString()); } catch (Exception Exp) { MessageBox.Show(Exp.ToString()); } finally { pProtySet = null; FeaWorkSpace = null; Fact = null; } |

4820

被折叠的 条评论
为什么被折叠?



