專利名稱:一種可擴展線型的繪制方法
技術領域:
本發(fā)明涉及地理信息系統(tǒng)(GIS)領域,尤其涉及一種在地理信息系統(tǒng)中可擴展線型的 繪制方法。
背景技術:
在地圖中,離不開鐵路、公路、城墻等線狀地物,在地理信息系統(tǒng)中,需要將這些 線狀地物以直觀的形式表現(xiàn)在用戶面前,這就需要在系統(tǒng)中實現(xiàn)這些線型的繪制,同時, 地理信息系統(tǒng)往往還允許用戶自己定義擴展線型。但是,操作系統(tǒng)所提供的可繪制線型 屈指可數(shù),遠遠不能滿足地理信息系統(tǒng)的應用需要。如果針對每種線型實現(xiàn)一種繪制方法,既造成維護困難,又無法滿足用戶的可擴展 需求。發(fā)明內(nèi)容本發(fā)明的目的是為了克服上述存在的問題和不足,提供了一種可擴展線型的繪制方 法,解決了地理信息系統(tǒng)中線狀地物的繪制和擴展問題。本發(fā)明提供的一種可擴展線型的繪制方法,包括如下步驟-順著實際線狀地物的方向來依次記錄線型單元中的每個頂點在實際設備中的位置, 然后將頂點進行連接;在直線段上,如果長度足夠繪制一個線型單元,則將線型單元中每個點坐標繞直線 段起點進行逆時針旋轉后連接起來;在轉角位置,采用直線與角平分線交點來確定頂點的位置,如果是一個線型單元在 一個頂點的兩側或一個線型單元經(jīng)過好幾個頂點這兩種情況,則在該轉角位置增加一個 頂點進行描述,如果是一個線型單元正好在頂點處結束或開始這種情況,則將當前頂點 延長或縮短到角平分線上。如上所述方法,其中,在直線段上,設實際繪制的坐標系統(tǒng)中直線段起點坐標為(XO, Y0),沿起點至終點方向與X軸正向的夾角為A,線型單元中某個點的坐標為(x, y),用 戶輸入的單位長度為L,單位寬度為W,則該點在實際繪制的坐標系統(tǒng)中的點坐標為X = X0 + xLcosA+y WsinAY = Y0 + xLsinaA-yWcosA。如上所述方法,其中,如果是一個線型單元在一個頂點的兩側或一個線型單元經(jīng)過 好幾個頂點這兩種情況,先用上述方法計算線型中兩點在直線段不轉折情況下的實際坐 標,然后計算這兩點連線與轉角角平分線的交點,該交點即增加的頂點,最后計算第二 個點在直線段轉折之后的實際坐標。如上所述方法,其中,當一個線型單元正好在頂點處結束或開始這種情況時,用上 述方法計算線型中兩點在直線段不轉折情況下的實際坐標,然后計算這兩點連線所在直 線與轉角角平分線的交點,該交點坐標即為第二點實際坐標。本發(fā)明提供的一種地理信息系統(tǒng),使用如上所述可擴展線型的繪制方法繪制線型。本發(fā)明將復雜的線型分解為單個的線型單元,對每個線型單元建立坐標系統(tǒng),在實 際繪制時,根據(jù)線狀地物的走向依次繪制每個線型單元,處理好相鄰線型單元的連接, 即可實現(xiàn)一條完整的線狀地物的繪制。
圖1是線型單元坐標系統(tǒng)示意圖。圖2是根據(jù)本發(fā)明的線型繪制的幾種可能情況示意圖。
具體實施方式
鐵路是地圖中常用的一種線型,具有一定的代表性。下面以鐵路為例說明本發(fā)明。 根據(jù)圖l,每個線型單元高寬均為單位長度,這樣在實際繪制中坐標值很容易進行轉 換,X軸方向即實際線狀地物的走向,Y軸方向為實際線狀地物的法線方向。繪制時,將 線型單元數(shù)據(jù)坐標值中的橫坐標乘以用戶輸入的單位長度就是在設備環(huán)境中的橫坐標, 將線型數(shù)據(jù)坐標值中的縱坐標乘以用戶輸入的單位寬度就是在設備環(huán)境中的縱坐標。如果是一個線段要使用線型繪制,只需要不斷地重復繪制線型單元就可以實現(xiàn)。比 較復雜的是折線段的情況。 一條線狀地物在繪制時可能遇到圖2所示幾種情況a、 一個 線型單元在一個頂點的兩側;b、 一個線型單元正好在頂點處結束或開始;c、 一個線型單 元經(jīng)過好幾個頂點。本發(fā)明順著實際線狀地物的方向來依次記錄線型單元中的每個頂點在實際設備中的 位置,然后將頂點進行連接。1.在直線段上,如果長度足夠繪制一個線型單元,則將線型單元中每個點坐標繞直 線段起點進行逆時針旋轉后連接起來。實現(xiàn)方法為設實際繪制的坐標系統(tǒng)中直線段起點坐標為(XO,YO),沿起點至終點方 向與X軸正向的夾角為A,線型單元中某個點的坐標為(x,y),用戶輸入的單位長度為L, 單位寬度為W,則該點在實際繪制的坐標系統(tǒng)中的點坐標為X = X0 + xLcosA+y WsinA Y = Y0 + xLsinaA-yWcosA2.在轉角位置,采用直線與角平分線交點來確定頂點的位置,如果是a、 c兩種情況, 則在該轉角位置增加一個頂點進行描述;如果是b這種情況,則將當前頂點延長(或縮短) 到角平分線上。實現(xiàn)方法為a、 c兩種情況下,先用上面第一條所描述方法計算線型中兩點在直線段不轉折情況 下的實際坐標,然后計算這兩點連線與轉角角平分線的交點,該交點即增加的頂點,最 后計算第二個點在直線段轉折之后的實際坐標。b情況下,先用上面第一條所描述方法計算線型中兩點在直線段不轉折情況下的實際 坐標,然后計算這兩點連線所在直線與轉角角平分線的交點,該交點坐標即為第二點實 際坐標(該點可能在兩點連線上,也可能在連線的延長線上)。本發(fā)明經(jīng)過上面的處理可以實現(xiàn)大部分線型的繪制,如果提供線型單元的編輯環(huán)境, 則用戶可以自由隨意擴展線型的種類和形狀。在地理信息系統(tǒng)中,可以使用如上所述的可擴展線型的繪制方法繪制線型。
權利要求
1.一種可擴展線型的繪制方法,其特征在于該方法包括如下步驟順著實際線狀地物的方向來依次記錄線型單元中的每個頂點在實際設備中的位置,然后將頂點進行連接;在直線段上,如果長度足夠繪制一個線型單元,則將線型單元中每個點坐標繞直線段起點進行逆時針旋轉后連接起來;在轉角位置,采用直線與角平分線交點來確定頂點的位置,如果是一個線型單元在一個頂點的兩側或一個線型單元經(jīng)過好幾個頂點這兩種情況,則在該轉角位置增加一個頂點進行描述,如果是一個線型單元正好在頂點處結束或開始這種情況,則將當前頂點延長或縮短到角平分線上。
2. 根據(jù)權利要求1所述的方法,其特征在于在直線段上,設實際繪制的坐標系統(tǒng)中直線段起點坐標為(XO,YO),沿起點至終點 方向與X軸正向的夾角為A,線型單元中某個點的坐標為(x, y),用戶輸入的單位長度 為L,單位寬度為W,則該點在實際繪制的坐標系統(tǒng)中的點坐標為X = X0 + xLcosA+yWsinAY = Y0 + xLsinaA-yWcosA。
3. 據(jù)權利要求2所述的方法,其特征在于如果是一個線型單元在一個頂點的兩側或一個線型單元經(jīng)過好幾個頂點這兩種情 況,先用上述方法計算線型中兩點在直線段不轉折情況下的實際坐標,然后計算這兩 點連線與轉角角平分線的交點,該交點即增加的頂點,最后計算第二個點在直線段轉 折之后的實際坐標。
4. 根據(jù)權利要求2所述的方法,其特征在于當一個線型單元正好在頂點處結束或開始這種情況時,用上述方法計算線型中兩 點在直線段不轉折情況下的實際坐標,然后計算這兩點連線所在直線與轉角角平分線 的交點,該交點坐標即為第二點實際坐標。
5. —種地理信息系統(tǒng),使用如權利要求l所述的方法繪制線型。
全文摘要
本發(fā)明提供了一種地理信息系統(tǒng)中可擴展線型的繪制方法,解決了線狀地物的繪制和擴展問題。本發(fā)明將每種線型分解為單個的線型單元,對線型單元建立坐標系統(tǒng),在實際繪制時,在線狀地物走向上依次繪制每個線型單元,處理好相鄰線型單元的連接,就可以實現(xiàn)一條完整的線狀地物的繪制。
文檔編號G06T11/20GK101408988SQ20081017241
公開日2009年4月15日 申請日期2008年11月7日 優(yōu)先權日2008年11月7日
發(fā)明者章文濤 申請人:武漢虹信通信技術有限責任公司