張壽選
(1.福建省基礎地理信息中心,福建 福州 350003)
越來越多的行業(yè)部門在互聯網上開展業(yè)務和展示數據,大量政務數據在互聯網上傳輸,而國土、林業(yè)、規(guī)劃、環(huán)境、交通等行業(yè)的業(yè)務數據中均包含空間信息。空間數據在公開發(fā)布或在非涉密網絡傳輸時,必須考慮數據安全問題,一旦泄密,可能對國家安全和人民利益造成嚴重危害,因此必須先進行脫密處理。地理信息脫密時,除需刪除涉及經濟、民生、軍事的重要地物外,還需降低矢量數據的平面精度和高程精度,并對矢量數據中的敏感屬性信息進行處理。
近年來,學者們提出了很多矢量數據的平面精度脫密方法,如江棟華[1]等構造二維切比雪夫多項式建立脫密模型,實現了幾何精度可控的脫密;于輝[2]等提出了利用三角函數對矢量、柵格數據進行一體化可逆的脫密模型;聶時貴[3]等將待脫密數據與1∶25萬公開數據進行疊加,在兩套數據上選擇均勻分布的同名點,利用ArcGIS的空間校正工具對矢量數據的幾何圖形進行脫密。矢量數據幾何精度脫密時,為了便于數據共享,需考慮脫密時保留拓撲特征,呂海洋[4]等提出了基于CSRBF的保持拓撲與幾何特征的脫密方法;傅宏[5]對公眾版地圖地理要素的脫密方法進行了研究,總結歸類了地理要素空間精度脫密的處理方法。
通過平移、線性變換、仿射變換、坐標轉換參數等方法脫密后,較容易被還原成較高精度的數據,因此脫密模型必須引入隨機變量、抖動等,從而提高脫密的安全性。本文將格網坐標轉換法應用于矢量數據的平面精度脫密,給出了格網點的生成方法、偏移量的計算方法、內插方法等具體思路,并采用該方法進行了數據的脫密實驗和分析。
矢量數據的幾何圖形是由坐標或坐標序列進行記錄的,對平面精度進行脫密,本質就是將坐標值增加一個偏移量,這與不同橢球間的坐標轉換非常類似,因此本文嘗試采用格網坐標轉換法進行數據脫密。
ArcGIS的Spatial Adjustment工具中提供了Rubbersheet方法,可查看ArcGIS的幫助文檔。即使經過非線性、隨機變量等模型脫密,只要有足夠的連接點(links),Rubbersheet變換就可以將數據還原成精度很高的數據。利用Rubbersheet方法進行空間變換時,無需已知數據的脫密模型,只需一定數量的均勻分布的連接點即可,且連接點數量越多,還原的精度越高。這對矢量數據平面精度脫密模型提出了更高的要求,簡單的非線性處理脫密方法是無效的,因此本文引入格網坐標轉換法對矢量數據平面精度進行脫密。
謝年[6]采用格網點轉換法進行脫密,內插任意點的坐標時采用雙線性內插法,格網點的偏移量采用隨機數產生。該方法適用于偏移量分布區(qū)間較小的情況,由于利用格網坐標轉換法內插任意點偏移量時,相鄰格網是獨立進行內插的,若格網間的偏移量分布區(qū)間較大,則相鄰格網內插的偏移量差異就很大,可能會破壞要素間的拓撲關系。謝年[6]指出每個格網進行小范圍的坐標偏移,能保證局部細致擬合以及全網連續(xù)的效果,實驗區(qū)間為±2 m。因此,利用格網坐標轉換法進行脫密,若偏移量的分布區(qū)間較大,就必須解決格網內插偏移量不連續(xù)的問題。
格網坐標轉換法的優(yōu)勢是將空間劃分成數量眾多的獨立格網,每個格網采用不同的偏移參數,如果格網數量達到幾十萬,即使采用Rubbersheet變換進行還原,需要選擇數萬個連接點才能獲取較高的還原精度,而人工選擇如此數量的連接點幾乎不可能完成。格網坐標轉換法脫密的思路如圖1所示。
圖1 格網點偏移量計算與內插方法
1)創(chuàng)建隨機點。采用格網坐標轉換法進行不同橢球坐標系間的轉換時,必須有兩套坐標系下的重合點。采用格網坐標轉換法進行脫密時,將隨機點作為重合點,可利用ArcGIS的Create Random Points工具創(chuàng)建隨機點。該工具需要指定生成隨機點的約束范圍、隨機點個數、隨機點間的最小距離。隨機點覆蓋范圍應大于脫密數據的范圍,以便于后續(xù)計算格網點的偏移量。
2)生成隨機點偏移量。為了提高格網點坐標轉換法的抗攻擊性,隨機點的偏移量必須隨機變化。為每個隨機點添加x和y方向的隨機數,隨機數的分布區(qū)間根據脫密的精度設置,國家法律法規(guī)對數據平面精度有明確要求。
3)創(chuàng)建格網點。創(chuàng)建格網點時需要指定起始點坐標、格網間距、格網點行列數,其中行數、列數可根據格網間距和脫密數據范圍確定,格網點必須能夠完全覆蓋脫密數據范圍。格網點的組織方式示意如圖2所示,經度間隔與緯度間隔一般設置為相同的數值,“節(jié)點1”的坐標是格網的起始坐標。創(chuàng)建格網點時,必須記錄每個格網點的行號、列號,用于快速定位任意點所在的格網。
圖2 生成格網點示意圖
4)計算格網點偏移量。利用移動轉換法[7]計算每個格網點的偏移量,搜索格網點gi周圍的隨機點,選擇距離gi最近的k個隨機點,采用反距離權重插值法計算格網點的偏移量。為了保證相鄰格網點之間的偏移量變化比較平緩,隨機點的個數k可適當增加。移動轉換法的示意如圖1所示。
5)內插任意點的偏移量。對矢量數據平面精度進行脫密,就是內插任意點的偏移量,給任意點的坐標增加一個偏移量。內插任意點p的偏移量時,首先需計算p點所在的格網,由于p點坐標、格網點的起始坐標、格網間距已知,因此很容易計算得到p點所在格網4個格網點的行列號。假設任意點p的坐標為(xp,yp),格網的起始坐標為(xs,ys),x和y方向的格網間距分別為dx和dy,則行號r、列號c的計算公式為:
式中,[]為取整。
通過p點所在格網點的行列號,讀取4個格網點的偏移量,再基于4個格網點的偏移量利用反距離權重插值法、多項式等方法計算p點的偏移量,本文采用反距離權重插值法。內插任意點偏移量的方法如圖1所示。
以福建省行政區(qū)劃緩沖50 km的面作為約束范圍,本文利用ArcGIS的Create Random Points工具生成106個隨機點,隨機點之間的最小距離為20 km,最終生成的隨機點分布情況如圖3所示。生成的隨機點并非數量越多越好,而是需要根據隨機數分布區(qū)間和格網間距確定。偏移量隨機數分布區(qū)間越大、格網間距越大,隨機點之間的最小距離就應設置越大,生成的隨機點個數就越少;反之,偏移量隨機數分布區(qū)間越小、格網間距越小,隨機點之間的最小距離就可適當減小,生成的隨機點數量就會較多,這樣可以保證后期格網間的偏移量變化較小。
圖3 隨機點分布圖
本文利用C#的RNG Crypto Service Provider產生隨機種子,利用Random類生成隨機數,隨機數的區(qū)間為[10'50],生成的偏移量隨機數保留兩位小數,并寫入隨機點的屬性表中存儲。隨機點屬性表如圖4所示。x方向的偏移量為10.16~49.17 m,y方向的偏移量為10.38~48.49 m,與隨機點的偏移量區(qū)間基本一致,由此可以判斷通過控制隨機點的偏移量分布區(qū)間,可以很好地控制格網點的偏移量,從而影響脫密后矢量數據的平面精度。
圖4 隨機點屬性表
本文采用C#+ArcObjects編寫程序創(chuàng)建格網點,格網點的起始坐標為(115'23.4),格網間距為0.01°,行數為510,列數為630。覆蓋范圍如圖5所示,由于0.01°格網間距的點在小比例尺上顯示太密集,無法分辨,因此采用0.07°格網間距進行示意。查詢每個格網點周圍的隨機點,為了保證格網間偏移量變化較小,搜索格網點周圍30個隨機點,讀取隨機點的偏移量,再根據反距離權重插值法計算每個格網點的偏移量。格網點x方向的偏移量為10.28~49.17 m,y方向的偏移量為10.39~48.28 m,與隨機點的偏移量基本一致。
圖5 格網點覆蓋范圍
格網點的偏移量計算完成后,本文對相鄰格網點的偏移量差值進行了分析,編寫程序計算每個格網點與周圍8個格網點的偏移量差值,x方向的偏移量最大差值為3.86 m,y方向的偏移量最大差值為3.57 m,說明格網之間的偏移量變化較小。格網點采用C#的struct存儲行號、列號、順序號、x坐標、y坐標、x方向偏移量和y方向偏移量,單個格網點的數據結構如圖6所示。利用二維數組存儲所有格網點,二維數組的下標與格網點的行號、列號對應,方便讀取任意點所在格網的4個格網點的偏移量。
圖6 格網點數據結構
本文選取福建省的高速、國道、省道數據進行脫密實驗,共計37 656個要素;在工作站上對脫密進行了耗時測試,工作站CPU為Intel Xeon W-2145@3.7 GHz,內存為128 GB 2666 MHz,耗時為79.6 s。脫密結果如圖7所示,原始道路與脫密后道路的局部細節(jié)如圖8所示。
圖7 脫密實驗道路數據
圖8 原始道路與脫密道路細節(jié)對比
福建省全省37 656個道路要素,脫密共耗時79.6 s,說明格網坐標轉換法具有很高的效率。對脫密后的數據與原始數據進行拓撲檢查發(fā)現,脫密后的道路中未出現回折、尖角、自相交等拓撲問題,證明格網間的偏移量較平滑,不會破壞拓撲關系。對局部偏移距離進行了量算,某點的偏移量為47.76 m,與該點距離4.6 km的某點的偏移量為49.24 m,兩點的偏移量相差1.48 m,脫密后道路的偏移量是變化的,說明偏移量具有較好的隨機性。
本文實驗的偏移量區(qū)間為[10'50],如果采用從負值到正值的區(qū)間,可以增加格網間偏移量的差異,提高脫密后的抗攻擊性。實際使用中,偏移量可根據國家規(guī)范和文件要求進行設置。為了使格網間偏移量更平滑,可縮小格網間距,能更精細地反映隨機點的偏移量。此外,增加格網點的個數會將待脫密數據劃分成更多的區(qū)域,從而顯著提高脫密模型的抗攻擊能力。
格網點和偏移量可重復使用。格網點坐標轉換法中引入了隨機點和隨機偏移量,只要保證格網點和偏移量不變,就可以保證同一矢量數據兩次脫密后完全重疊。
本文將格網坐標轉換法應用于矢量數據的平面精度脫密中,通過控制隨機點偏移量的分布區(qū)間,可以很好地控制脫密后矢量數據的平面精度。隨機點和隨機偏移量保證了格網間偏移量各不相同,使得矢量數據平面精度脫密后具有很強的隨機性,脫密后的數據還原成高精度數據的可能性很低。減小格網間距、增加格網點數量,可以將脫密數據劃分成更多的獨立區(qū)域,從而提高脫密的隨機效果。實驗采用覆蓋福建省的格網點數據,數量達10萬以上,利用移動轉換法計算每個格網點的偏移量,保證了格網間的偏移量比較平滑,脫密后能保持拓撲關系。