向量
─柵格轉換
一、線的柵格化方法
線是由多個直線段組成的,因此,線的柵格化的核心就是直線段如何由向量資料轉換為柵格資料。
設直線段的兩端點座標轉換到柵格資料的座標系後為
(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型別,不然結...
空間資料的採掘
近年來,資料採掘研究多針對於關聯式資料庫,但是空間資料庫系統的發展為我們提供了豐富的空間資料,為資料分析和知識發現展示了廣闊的前景。空間資料探勘技術幫助人們從龐大的空間資料中抽取有用資訊。由於空間資料的數量龐大及空間問題的特殊性,因此發現隱含在空間資料中的特徵和模式,已成為空間資料庫的乙個重要問題。...