?

VB與Google Earth在蘇州市河流普查拓展中的應用

2014-09-24 05:42任曉東陸建偉唐曉春
城市建設理論研究 2014年25期
關鍵詞:經緯度普查編碼

任曉東 陸建偉 唐曉春

中圖分類號:TV文獻標識碼: A

1 引言

按照全國水利普查的要求,結合蘇州水利現代化、信息化實際和發展的需求,進一步摸清蘇州水利家底,全面查清蘇州河流湖泊和水利工程的基本情況,提高水利普查成果應用水平,在國普方案及省級拓展方案的基礎上,蘇州市開展了拓展河流基本情況普查工作,得到了大量河流的基本數據,如何對普查數據的經緯度、走向等基礎信息進行校核,是一項繁雜及重復的勞動。解決的方法是采用VB編程技術批量生成普查河流的KML文件,然后在Google Earth中打開,通過圖上顯示的地點標記,直觀地檢查普查數據的合理性。

Google Earth是一款Google公司開發的虛擬地球儀軟件,來源于Keyhole公司自家原有的旗艦軟件,于2005年正式向全球推出,它把衛星照片、航空照相和GIS布置在一個地球的三維模型上。借助Google Earth的普及,其原生數據格式KML也成為業界的一種標準格式。KML是原先的Keyhole客戶端進行讀寫的文件格式,是一種XML描述語言,并且是文本格式。KMZ是Google Earth默認的輸出文件格式,是一個經過ZIP格式壓縮過的KML文件。一般情況下,雙擊KML/KMZ文件即可從Google Earth中打開地標文件。

2 KML基本格式

基本格式的KML文件是指可以直接由Google Earth創建的KML文件,它包括地點標記、疊層、路線和多邊形。

地點標記(Placemark)是Google Earth中最常用的地理特征,它使用一個黃色的圖釘在地球表面標記一個位置。一個簡單的地點標記的KML代碼如下所示:

xml version="1.0" encoding="UTF-8"?

汾湖鎮

-122.0822035425683,37.42228990140251,0

它包括以下幾個部分:

(1)XML頭:xml version="1.0" encoding="UTF-8"?

(2)KML命名空間定義:

(3)地點標記對象,包括:

名稱(name):用于對地點標記進行注記;

描述(description):對地點標記進行描述,“氣球(ballon)”中的顯示內容;

點(Point):指定地點標記的位置。

3 KML文件的生成

普查得到的數據文件為Excel電子表格格式,各鎮分別存放在一個目錄中,表的格式如圖1所示。

圖1

將河流名稱、經緯度等基本信息逐個輸入到Google Earth是一個費時費力的工作,同時也容易產生二次輸入錯誤。通過分析KML文件格式可知,一個鎮多條河流的頭部信息是保持不變的,變的只是河流名稱和經緯度。因此采用VB程序遍歷各個鎮下的Excel文件,由程序生成以河流名稱加斷面編號為地點標記,并包含各地點標記經緯度的KML文件,這樣就便于檢查普查數據有沒有問題。遍歷生成KML文件部分代碼如圖2,經緯度轉換部分代碼如圖3。

圖2

圖3

默認情況下,VB生成的KML文件為GB2312編碼,中文字符在Google Earth中不會被識別,將會顯示亂碼。因此,需要將VB保存時的默認的GB2312編碼轉成UTF-8編碼。轉換編碼時采用ADODB.Stream,代碼如圖4。

圖4

雙擊生成的KML文件,左邊的位置欄為圖5顯示效果,具體的河流名稱、走向就展現在圖6所示圖中。

圖5

圖6

4 結束語

本文采用VB編程的方法,將蘇州市拓展河流普查基本數據Excel電子表格文件,批量生成符合Google Earth要求的KML文件,并在Google Earth顯示出地點標記。實踐證明,采用VB編程的方法,既提高的工作效率,又減少了人工錄入數據產生的二次錯誤問題,同時通過檢查Google Earth各河流的地點標記,也能直觀發現普查數據有無問題,保證了普查數據的準確可靠。

猜你喜歡
經緯度普查編碼
住院病案首頁ICD編碼質量在DRG付費中的應用
基于經緯度范圍的多點任務打包算法
2018年中國將開展第四次全國經濟普查
第四次全國經濟普查系列漫畫
高效視頻編碼幀內快速深度決策算法
自制中學實驗操作型經緯測量儀
澳洲位移大,需調經緯度
學習調查要“四會”
與普查一起成長
不斷修繕 建立完善的企業編碼管理體系
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合