Suite

Intersection de deux polylignes à l'aide d'ArcObjects ?


J'ai deux polylignes et j'aimerais trouver les intersections à l'aide d'ArcObjects / VB.NET.

J'utilise le code suivant :

Dim topoOp As ITopologicalOperator = TryCast(pTestPoly2, ITopologicalOperator) topoOp.Intersect(TryCast(pTestPoly1, IGeometry), ESRI.ArcGIS.Geometry.esriGeometryDimension.esriGeometry0Dimension) Dim pOutPointCol As IPointCollection = TryCast(TopCollection

Dans le IPointCollection résultant, j'obtiens tous les sommets du pTestPoly2 d'entrée, bien qu'il devrait y avoir une intersection des deux polylignes.

Quel est le problème avec cette approche?


Utilisez la valeur de retour de la méthode Intersect au lieu de TopologicalOperator. Essayez plutôt ce qui suit (j'utilise C#, pas VB.NET, donc j'espère que cela fonctionne. Le secteur du casting est vraiment déroutant) :

Dim topoOp As ITopologicalOperator = TryCast(pTestPoly2, ITopologicalOperator) Dim pOutPointCol As IPointCollection = TryCast(topoOp.Intersect(TryCast(pTestPoly1, IGeometry), ESRI.ArcGIS.Geometry.esriGeometryDimension.esriGeoCollection0Dimension),


Voir la vidéo: ArcGIS - Update - Remove overlapping or intersection of two features (Octobre 2021).