Daha çox

ArcObjects istifadə edərək iki polyline kəsişir?

ArcObjects istifadə edərək iki polyline kəsişir?


İki polyline var və ArcObjects / VB.NET istifadə edərək kəsişmələri tapmaq istərdim.

Aşağıdakı kodu istifadə edirəm:

Dim topoOp ITopologicalOperator Olaraq = TryCast (pTestPoly2, ITopologicalOperator) topoOp.Intersect (TryCast (pTestPoly1, IGeometry), ESRI.ArcGIS.Geometry.esriGeometryDimension.esriGeometry0DimointColCimOpol

Yaranan IPointCollection -da, pTestPoly2 girişinin bütün zirvələrini alıram, baxmayaraq ki, iki çoxlu xəttin bir kəsişməsi olmalıdır.

Bu yanaşmanın nə günahı var?


TopologicalOperator yerinə Intersect metodunun qaytarılma dəyərindən istifadə edin. Bunun əvəzinə aşağıdakıları sınayın (VB.NET deyil, C#istifadə edirəm, buna görə inşallah bu işləyir. Yayım işi həqiqətən qarışıqdır):

Dim topoOp ITopologicalOperator Olaraq = TryCast (pTestPoly2, ITopologicalOperator) Dim pOutPointCol Olarak IPointCollection = TryCast (topoOp.Intersect (TryCast (pTestPoly1, IGeometry), ESRI.ArcGIS.GeometryDeometryDesimetr.GeometryDesertime)

Videoya baxın: How to Convert polyline to polygon In ArcGIS