[發明專利]基于掃描線法的多邊形柵格化并行轉換方法有效
| 申請號: | 201110442351.4 | 申請日: | 2011-12-27 |
| 公開(公告)號: | CN102542035A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | 陳振杰;張帥;李飛雪;王亞飛;李滿春;蒲英霞;王加勝;程亮 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 南京知識律師事務所 32207 | 代理人: | 蔣海軍 |
| 地址: | 210093 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 掃描 多邊形 柵格 并行 轉換 方法 | ||
1.基于掃描線法的多邊形柵格化并行轉換方法,包括以下步驟:
步驟1:輸入命令行參數:mpirun??-np?8??hpgc_rasterize??-a?GHDLDM??-l?hpgc_data??-of?HFA??-tr?20?20??~/data/hpgc_data.shp??~/data/test_result.img;
步驟2:
(1)?MPI并行初始化,獲取總的進程數和當前進程數,并注冊GDAL/OGR格式驅動;
(2)?采用對等式并行模式,各進程分別解析命令行參數,分別收集引導符后的參數值;
(3)?以GDAL為矢量數據讀寫工具,利用OGROpen方法讀取矢量數據源;
(4)?判斷是否為0號進程,若是0號進程,進行以下操作:首先,判斷柵格文件是否存在,若存在,以GDAL中的Update方式打開,若不存在就獲取HFA格式驅動,創建目標柵格數據集;目標數據集是根據格式驅動類型、輸出的柵格文件名、像元的長和寬、波段數、數據類型參數利用GDAL中GDALCreate方法創建;
步驟3:采用數據并行策略,劃分柵格數據集和矢量多邊形:
(1)劃分生成的柵格數據集,根據對等式并行模式按總的進程數劃分生成的柵格數據集,每個進程分別負責處理柵格分塊范圍內的多邊形填充,即通過計算柵格數據的總行數RasterYSize,根據總的進程數np劃分生成的柵格數據,每個進程處理的柵格分塊行數為nYChunkSize?=ceil[RasterYSize/np],?ceil[n]表示不小于n的最小整數;每個柵格塊的起始行坐標為iY=cp*nYChunkSize,對第i個進程的起始行坐標iY+nYChunkSize進行判斷,iY+nYChunkSize?>?RasterYSize時,第i+1號進程處理的柵格分塊的行數為nYChunkSize?=?RasterYSize?–?iY;
(2)按總的進程數劃分矢量多邊形,即基于劃分的柵格數據分塊的范圍對所有矢量多邊形按進程數進行劃分,實現多邊形劃分的具體操作為:各進程分別進行空間查詢,根據各柵格分塊的左上角、右上角、左下角、右下角四個角點組成的矩形為查詢范圍,獲取與該矩形區域相交的多邊形,包括位于該矩形區域內的多邊形和與該矩形區域的邊界相交的多邊形,同時獲取用于填充像元的圖層的屬性字段GHDLDM;
步驟4:讀取柵格分塊數據,即指定柵格分塊數據的數據類型,計算每行柵格數據所需要的存儲量,繼而計算出每個柵格分塊數據的總數據量,以GDAL為影像數據讀寫工具,利用GDALDataset.RasterIO方法讀取生成的柵格數據;
步驟5:
(1)?定義數組獲取所有多邊形的頂點坐標并按單個多邊形的頂點順序一一存儲到數組里;
(2)將多邊形的頂點坐標一一進行坐標轉換,從地理坐標轉換為行列坐標;
(3)根據各柵格分塊的矢量多邊形最小外接矩形確定掃描線的起止行坐標,掃描線是像素中心點所在的直線;
(4)然后逐行掃描,循環處理每個多邊形的每一條邊與掃描線的交點,然后逐行根據列坐標的大小對交點進行排序并兩兩組合,填充同一行中兩交點間的柵格單元,依次掃描,直至所有掃描線掃描完畢;
步驟6:以GDAL為影像數據讀寫工具,利用GDALDataset.RasterIO方法寫柵格數據,各進程分別更新柵格分塊,并輸出轉換后的柵格數據;
步驟7:在IBM?System?x3500-M3X系列服務器Openmpi并行環境下,編譯并使用實驗數據測試。
2.根據權利要求1所述的基于掃描線法的多邊形柵格化并行轉換方法,其特征在于:所述步驟2中采用對等式并行模式,即首先指定一個進程創建一個初始像元值為0的柵格數據集,然后采用數據并行策略,劃分柵格數據集和矢量多邊形,最后每個進程分別完成各柵格分塊范圍內的多邊形的填充,各進程間相對獨立,避免了數據并行時的通信,同時也避免了柵格化后結果的拼接。
3.根據權利要求2所述的基于掃描線法的多邊形柵格化并行轉換方法,其特征在于:所述步驟3中數據并行策略,采用基于劃分柵格數據集進而對矢量數據進行劃分的數據劃分方式,即采用空間求交查詢過濾的方式查詢各柵格分塊里的矢量多邊形,完成對矢量多邊形的劃分。
4.根據權利要求1或3所述的基于掃描線法的多邊形柵格化并行轉換方法,其特征在于:所述步驟5中為了保證柵格化的精度,多邊形的所有頂點均以雙精度字符類型進行存儲,判讀邊緣像元采用中心點的方法,若該像素的中心點位于多邊形內,該像素屬于該多邊形。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110442351.4/1.html,轉載請聲明來源鉆瓜專利網。





