空間資料的結構轉換

2021-04-03 01:09:53 字數 2691 閱讀 3134

向量

─柵格轉換

一、線的柵格化方法

線是由多個直線段組成的,因此,線的柵格化的核心就是直線段如何由向量資料轉換為柵格資料。

設直線段的兩端點座標轉換到柵格資料的座標系後為

(xa,ya),(xb,yb)

。則柵格化的兩種常用方法為

dda法

(數字微分分析法)和

bresenham法。1

°、dda法(

數字微分分析法

)該方法的基本依據是直線的微分方程,即dy∕

dx=常數。其本質是用數值方法解微分方程,通過同時對x和

y各增加乙個小增量來計算下一步的

x,y值,即這是一種增量演算法。2°、

bresenham

演算法該演算法構思巧妙,只需根據由直線斜率構成的誤差項的符號,就可確定下一列座標的遞增值。

根據直線的斜率,把直線分為

8個卦限。下面舉斜率在第一卦限的情況為例,其餘卦限的情況類似。

該演算法的基本思路可描述為:

若直線的斜率為1∕

2≤△y∕

△x≤1

,則下一點取(1,

1)點,若0≤△

y∕△x

<1

∕2,則下一點取(1,

0)點。

在演算法實現時,令起始的誤差項為e=-

1∕

2,然後在推斷出下一點後,令e=

e+△y∕

△x[sx)],若e

≥0時,e

=e-1

。這樣只要根據

e的符號就可確定下一點的增量,即:若e

≥0

,取(1,1)

點若e<

0,取(1,

0)點

這種演算法不僅速度快、效果好,而且可以理論上證明它是目前同類各種演算法中最優的。

二、面(

多邊形)

的柵格化方法

1°、內部點擴散法

由乙個內部的種子點,向其

4個方向的鄰點擴散。判斷新加入的點是否在多邊形邊界上,如果是,不作為種子點,否則當作新的種子點,直到區域填滿,無種子點為止。

該演算法比較複雜,而且可能造成阻塞而造成擴散不能完成

,此外若多邊形不完全閉合時,會擴散出去。

2°、掃瞄法

按掃瞄線的順序,計算多邊形與掃瞄線的相交區間,再用相應的屬性值填充這些區間,即完成了多邊形的柵格化。

3°、邊填充演算法

其基本思想是:對於每一條掃瞄線和每條多邊形邊上的交點,將該掃瞄線上交點右方的所有象素取原屬性值之補。對多邊形的每條邊作此處理,多邊形的方向任意。圖4—

30是乙個簡單的例子。

本演算法的優點是演算法簡單,缺點是對於複雜圖形,每一象素可能被訪問多次,增加了運算量。為了減少邊填充演算法訪問象素的次數,可引入柵欄。

所謂柵欄指的是一條與掃瞄線垂直的直線,柵字段置通常取多邊形的頂點,且把多邊形分為左右兩半。柵欄填充演算法的基本思路是:對於每個掃瞄線與多邊形的交點,將交點與柵欄之間的象素用多邊形的屬性值取補。若交點位於柵欄左邊,則將交點右邊,柵欄左邊的所有象素取補;若交點位於柵欄的右邊,則將柵欄右邊,交點左邊的象素取補。

柵格─向量轉換

柵格資料到向量資料轉換的一般過程可描述為:

一、二值化

由於掃瞄後的影象是以不同灰度級儲存的,為了進行柵格資料向量化的轉換,需壓縮為兩級(0和

1),這就稱為二值化。

二值化的關鍵是在灰度級的最大和最小值之間選取乙個閾值,當灰度級小於閾值時,取值為

0,當灰度級大於閾值時,取值為

1。當掃瞄圖不清晰時,需由灰度級直方圖來確定閾值

。對於地圖,通常在灰度級直方圖上出現兩個峰值

,這時,取波谷處的灰度級為閾值,二值化的效果較好。

二、二值影象的預處理

對於掃瞄輸入的圖幅,由於原稿不乾淨等原因,總是會出現一些飛白、汙點、線劃邊緣凹凸不平等。除了依靠影象編輯功能進行人機互動處理外,還可以通過一些演算法來進行處理。

三、細化

所謂細化就是將二值影象象元陣列逐步剝除輪廓邊緣的點,使之成為線劃寬度只有乙個象元的骨架圖形。

細化的基本過程是:

(1)確定需細化的象元集合;

(2)移去不是骨架的象元;

(3)重複,直到僅剩骨架象元。

細化的演算法很多,各有優缺點。經典的細化演算法是通過3×

3的象元組來確定如何細化的。

如果是對掃瞄後的地圖影象進行細化處理,應符合下列基本要求:

1°、保持原線劃的連續性;

2°、線寬只為乙個象元;

3°、細劃後的骨架應是原線劃的中心線;

4°、保持圖形的原有特徵。

四、追蹤

細化後的二值影象形成了骨架圖,追蹤就是把骨架轉換為向量圖形的座標序列。其基本步驟為:

1°、從左向右,從上向下搜尋線劃起始點,並記下座標。

2°、朝該點的

8個方向追蹤點,若沒有,則本條線的追蹤結束,轉

(1)進行下條線的追蹤;否則記下座標。

3°、把搜尋點移到新取的點上,轉2°。

五、拓撲化

為了進行拓撲化,需找出線的端點和結點,以及孤立點。

1°、孤立點:

8鄰城中沒有為

1的象元。  

2°、端點:

8鄰城中只有乙個為

1的象元。

3°、結點:

8鄰城中有三個或三個以上為

1的象元

。在追蹤時加上這些資訊後,就可形成結點和孤段,就可用向量資料的自動拓撲方法進行拓撲化了。

空間資料轉換引擎

引擎採用windows com方式開發,二次開發者可以直接使用所提供的元件進行二次開發。支援第三方嵌入開發 第三方根據引擎提供介面,實現其特定格式檔案轉換,編譯成動態庫後可直接嵌入引擎內部,實現無縫連線。軟體實現的功能是支援以下格式空間資料格式相互轉換 arc view shape 檔案 arc i...

Sql Server 空間資料

1 地理座標系空間需要用geography 平面座標系空間用geometry,計算距離使用stdistance 字串裡經緯度的順序是 經度 空格 緯度 即 longitude latitude 如果要計算兩個lat lon點之間的實際距離就需要將geometry型別轉成geography型別,不然結...

空間資料的採掘

近年來,資料採掘研究多針對於關聯式資料庫,但是空間資料庫系統的發展為我們提供了豐富的空間資料,為資料分析和知識發現展示了廣闊的前景。空間資料探勘技術幫助人們從龐大的空間資料中抽取有用資訊。由於空間資料的數量龐大及空間問題的特殊性,因此發現隱含在空間資料中的特徵和模式,已成為空間資料庫的乙個重要問題。...