中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

獲取Polyline自相交點

發布時間:2020-04-10 12:56:29 來源:網絡 閱讀:1122 作者:zztmail 欄目:編程語言
  • 背景:

       如果Polyline不為簡單的幾何圖形,則求出其自相交的點。如果FromPoint和ToPoint重合也一并返回。


  • 實現邏輯:

       一、創建IMulitPoint pTargetPoint

       二、判斷Polyline是否首尾相接,如果首尾相接,將點加入到pTargetPoint;

       三、判斷Polyline是否為簡單的幾何圖形,如果不是則進行以下步驟:

            1)得出Polyline中所有Path的起點和終點,List<IPoint> lstOrigin;

            2)將Polyline簡單化,得出所有Path在LstOrigin中找不到的起點和終點,添加到pTargetPoint中


  • 第三步的代碼:

private IMultipoint getInersectPoint(IPolyline pPolyline)
{
IGeometryCollection pGeoColl = pPolyline as IGeometryCollection;
List<IPoint> lstPoint = new List<IPoint>();
for (int i = 0; i < pGeoColl.GeometryCount; i++)
{
IPath pPath = pGeoColl.get_Geometry(i) as IPath;
IPoint pTemp = lstPoint.Find(p => (p.X == pPath.FromPoint.X && p.Y == pPath.FromPoint.Y));
if (pTemp == null) lstPoint.Add(pPath.FromPoint);
pTemp = lstPoint.Find(p => (p.X == pPath.ToPoint.X && p.Y == pPath.ToPoint.Y));
if (pTemp == null) lstPoint.Add(pPath.ToPoint);
}
ITopologicalOperator2 ptopo = pPolyline as ITopologicalOperator2;
ptopo.IsKnownSimple_2 = false;
ptopo.Simplify();
IMultipoint pMultipoint = new MultipointClass();
IPointCollection pPointColl = pMultipoint as IPointCollection;
for (int i = 0; i < pGeoColl.GeometryCount; i++)
{
IPath pPath = pGeoColl.get_Geometry(i) as IPath;
IPoint pTemp = lstPoint.Find(p => (p.X == pPath.FromPoint.X && p.Y == pPath.FromPoint.Y));
if (pTemp == null) pPointColl.AddPoint(pPath.FromPoint);
pTemp = lstPoint.Find(p => (p.X == pPath.ToPoint.X && p.Y == pPath.ToPoint.Y));
if (pTemp == null) pPointColl.AddPoint(pPath.ToPoint);
}
return pMultipoint;
}

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

菏泽市| 水城县| 宜宾市| 葫芦岛市| 奉贤区| 曲周县| 台南县| 清河县| 宁乡县| 神池县| 麟游县| 封丘县| 二连浩特市| 运城市| 罗江县| 丰原市| 河南省| 仁寿县| 青河县| 达拉特旗| 驻马店市| 甘肃省| 安庆市| 沂源县| 桂平市| 海南省| 华蓥市| 阳东县| 嘉黎县| 澄迈县| 林周县| 法库县| 沙湾县| 南召县| 新兴县| 漾濞| 马龙县| 遂宁市| 若羌县| 南华县| 远安县|