[發明專利]實現圖形節點捕捉的方法無效
| 申請號: | 201210199256.0 | 申請日: | 2012-06-18 |
| 公開(公告)號: | CN102799352A | 公開(公告)日: | 2012-11-28 |
| 發明(設計)人: | 何小軍;姚圣華 | 申請(專利權)人: | 江蘇智途科技有限公司 |
| 主分類號: | G06F3/048 | 分類號: | G06F3/048 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 225000 江蘇省揚州市*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實現 圖形 節點 捕捉 方法 | ||
1.一種實現圖形節點捕捉的方法,其特征在于,包括如下步驟:
步驟一:捕捉對象初始化;
步驟二:在ArcGIS命令ITool的MouseMove函數中,實現捕捉過程:
首先,計算捕捉節點:
將捕捉節點分為兩類:常規節點與非常規節點,常規節點包括節點、中點和最近點,非常規節點包括圓心、交點、垂點和延長線上點;利用ArcGIS提供的二次開發接口,常規節點的捕捉可以直接獲取,非常規節點可以通過所述接口提供的數學方法來計算;
(1)使用IFeatureCache接口建立要素緩存,捕捉時只需對IFeatureCache集合中的要素進行捕捉;
(2)使用ArcEngine中的IHitTest接口作點擊測試,以判斷當前給定點和容限范圍內是否能捕捉到點;
(3)常規節點的捕捉:
(a)判斷當前捕捉點是否在要素緩存所包含的范圍內,如果包含,則轉下一步,如果不包含,則根據當前點和節點捕捉半徑重新構建要素緩存;
(b)獲取要素緩存的要素,如果要素為空,則返回空;
(c)判斷是否能夠捕捉到最近點,如不能,則獲取下一個緩存要素,轉步驟(b);
(d)判斷當前是否設定了中點的捕捉,如果有,則轉下一步;沒有,則轉步驟(h);
(e)判斷當前是是否能捕捉到中點,如不能捕捉則轉到步驟(h),如有則轉下一步;
(f)判斷是否捕捉端點,如果否,則返回中點坐標;如果是則轉下一步;
(g)判斷是否能捕捉到端點,如果能則返回端點坐標,否則返回中點坐標;
(h)判斷是否捕捉端點,如果是則判斷是否設置了捕捉端點,如果是則返回端點坐標,否則下一步;
(i)判斷是否捕捉最近點,如果是則返回最近點坐標,否則獲取下一個緩存要素,轉步驟(b);
(4)圓心、垂點、延長線上點的捕捉:
(a)通過當前點坐標和捕捉半徑構建單要素選擇集;
(b)判斷捕捉類型,如是圓心則轉下一步,如果是垂點則轉步驟(d),延長點則轉步驟(e);
(c)獲取要素并判斷當前要素是否為圓要素,如果是則返回圓心坐標,否則返回空;
(d)獲取要素并計算垂點,返回垂點坐標;
(e)獲取要素并計算延長點,返回延長點坐標;
(5)交點的捕捉:
(a)通過當前點坐標和捕捉半徑構建多要素選擇集;
(b)要素之間兩兩求交點,得到交點則返回交點坐標,否則返回空;
然后,繪制捕捉點標記:
利用ArcEngine中的IDisplay接口,當捕捉接口捕捉到點之后,通過捕捉點構建要素,并采用符號參數進行繪制。
2.根據權利要求1所述的方法,其特征是所述繪制捕捉點標記的繪制流程為:
(a)判斷上次繪制的捕捉標記要素a是否為空,如不為空,則再次繪制捕捉標記要素a,在地圖窗口中擦除標記;
(b)判斷新的捕捉要素標記b是否為空,如不為空則繪制新的捕捉要素標記b,并將b的值賦給a。
3.根據權利要求1或2所述的方法,其特征是,所述繪制捕捉點標記的步驟中,繪制對象進行捕捉標記繪制時,采用esriROPNotXOrPen繪制參數。
4.根據權利要求1或2所述的方法,其特征是所述捕捉對象初始化的方法為:
(1)在系統打開加載數據時,構建捕捉管理器對象,捕捉管理器對象包含捕捉功能開關變量、定向捕捉類型變量以及捕捉對象集合;
(2)獲取圖層集合,若當前圖層不為空,則根據當前圖層類型創建捕捉對象;捕捉對象分為點要素捕捉對象、線要素捕捉對象以及面要素捕捉對象,每個捕捉對象包含捕捉開關變量、捕捉圖層等信息,同時也實現了根據鼠標點坐標和捕捉半徑捕捉點的接口函數;
(3)將捕捉對象添加至捕捉管理器對象的捕捉對象集合中;
(4)獲取下一個圖層,返回步驟(2)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇智途科技有限公司,未經江蘇智途科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210199256.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:荷包燙貼固定板
- 下一篇:仿古建筑大屋頂大跨度飛檐斗拱鋼骨架





