国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于WebGIS的空間數(shù)據(jù)在線采集系統(tǒng)的研發(fā)

2017-09-10 09:27:07井燕武曾新超蔣前凱
科學(xué)與財(cái)富 2017年22期
關(guān)鍵詞:空間數(shù)據(jù)

井燕武+曾新超+蔣前凱

[摘要]本論文在WebGIS原理和Web關(guān)鍵技術(shù)的基礎(chǔ)上,研究了基于Google地圖的空間數(shù)據(jù)采集與建庫(kù)的方法。綜合利用Google Map API和Apache、PHP、MySQL等軟件,設(shè)計(jì)了一個(gè)基于Google地圖進(jìn)行矢量數(shù)據(jù)在線采集的WebGIS信息系統(tǒng)。實(shí)現(xiàn)了矢量數(shù)據(jù)的在線獲取、空間數(shù)據(jù)存儲(chǔ)、在線顯示和數(shù)據(jù)庫(kù)訪問(wèn)服務(wù)接口等功能。

[關(guān)鍵詞] WebGIS;空間數(shù)據(jù);在線采集

前言

GIS技術(shù)的使用已經(jīng)越來(lái)越廣泛,如今有大量的商業(yè)GIS軟件可以提供GIS技術(shù)支持,但成熟的GIS商業(yè)軟件的使用不僅技術(shù)門檻較高,而且經(jīng)濟(jì)成本也比較高,制約了GIS技術(shù)的推廣和發(fā)展。使用WebGIS可以使更多的普通用戶能夠使用和學(xué)習(xí)GIS技術(shù),以Google地圖為主的大量的網(wǎng)絡(luò)地圖的出現(xiàn)給GIS的發(fā)展作出了巨大的貢獻(xiàn)。目前大部分的網(wǎng)絡(luò)地圖中的數(shù)據(jù)主要以柵格形式提供給用戶,在某些使用環(huán)境下不能滿足要求,也沒(méi)有充分的利用地圖資源[1]。但是,利用Google地圖提供的API開(kāi)發(fā)接口,通過(guò)開(kāi)發(fā)接口進(jìn)行二次開(kāi)發(fā),使得通過(guò)Google地圖在線采集和顯示矢量數(shù)據(jù)成為可能,增強(qiáng)了網(wǎng)絡(luò)地圖的功能,同時(shí)也使得普通用戶從單純的數(shù)據(jù)使用者變成數(shù)據(jù)提供著,豐富了GIS數(shù)據(jù)的來(lái)源。為了充分利用Google地圖的資源,以在線方式獲取矢量空間數(shù)據(jù),本論文在分析WEBGIS關(guān)鍵技術(shù)的基礎(chǔ)上,設(shè)計(jì)了一個(gè)基于Google地圖進(jìn)行矢量數(shù)據(jù)采集的WebGIS信息系統(tǒng),實(shí)現(xiàn)了矢量數(shù)據(jù)的在線獲取、空間數(shù)據(jù)存儲(chǔ)和在線顯示等功能。本論文參考OGC中的相關(guān)標(biāo)準(zhǔn),研究了基于Google地圖的數(shù)據(jù)采集與建庫(kù)方法,設(shè)計(jì)了空間數(shù)據(jù)的存儲(chǔ)模型,實(shí)現(xiàn)了空間數(shù)據(jù)的MYSQL關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)與管理。重點(diǎn)研究了WebGIS信息系統(tǒng)的建立方法,利用Google Maps API和Ajax技術(shù)編寫Web前端應(yīng)用程序,使用Apache網(wǎng)絡(luò)服務(wù)器和PHP語(yǔ)言設(shè)計(jì)服務(wù)器端程序。用戶可以通過(guò)瀏覽器基于Google地圖進(jìn)行矢量數(shù)據(jù)采集,并能將采集的空間數(shù)據(jù)上傳至服務(wù)器端,在服務(wù)器端處理后將其存儲(chǔ)至空間數(shù)據(jù)庫(kù)中,為了檢驗(yàn)采集存儲(chǔ)矢量數(shù)據(jù)的正確性,還研究了在Google地圖中加載顯示空間數(shù)據(jù)庫(kù)中的矢量數(shù)據(jù)的方法和技術(shù)。

1 系統(tǒng)設(shè)計(jì)

1.1 設(shè)計(jì)目標(biāo)

(1)通過(guò)WebGIS技術(shù),在Web前端與Google地圖交互采集空間數(shù)據(jù),再將采集的數(shù)據(jù)上傳到Web服務(wù)器端,并在Web服務(wù)器端對(duì)數(shù)據(jù)進(jìn)行必要的處理;

(2)根據(jù)空間數(shù)據(jù)數(shù)據(jù)量大和空間數(shù)據(jù)記錄的變長(zhǎng)性等特點(diǎn),對(duì)在線采集的數(shù)據(jù)使用專門的空間數(shù)據(jù)庫(kù)來(lái)進(jìn)行管理,本設(shè)計(jì)中的空間數(shù)據(jù)庫(kù)將基于MYSQL關(guān)系數(shù)據(jù)庫(kù)實(shí)現(xiàn),數(shù)據(jù)模型將參照OGC的相關(guān)標(biāo)準(zhǔn);

(3)通過(guò)Web客戶端對(duì)采集的空間數(shù)據(jù)進(jìn)行加載并可視化,同時(shí)提供空間數(shù)據(jù)接口用來(lái)查詢圖層信息以及幾何對(duì)象信息。

1.2 設(shè)計(jì)原則

(1)系統(tǒng)結(jié)構(gòu)合理,對(duì)系統(tǒng)功能模塊進(jìn)行構(gòu)件化處理,便于系統(tǒng)功能的擴(kuò)展與更新,同時(shí)也便于系統(tǒng)的維護(hù);

(2)系統(tǒng)人機(jī)交互性強(qiáng),擁有簡(jiǎn)介的操作界面,具有良好的操作性;

(3)系統(tǒng)自身帶有自檢功能,當(dāng)操作出現(xiàn)錯(cuò)誤后,對(duì)錯(cuò)誤的操作進(jìn)行提示;

(4)對(duì)系統(tǒng)數(shù)據(jù)結(jié)構(gòu)進(jìn)行優(yōu)化,確保程序的流暢運(yùn)行以及較少的空間占用。

2 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)

2.1 系統(tǒng)功能結(jié)構(gòu)劃分

基于WebGIS的空間數(shù)據(jù)在線采集系統(tǒng)主要由四個(gè)功能模塊組成,包括:地圖交互、數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)訪問(wèn)。

其中,地圖交互模塊功能包括:地圖基本操作、圖層選擇、空間信息查詢;數(shù)據(jù)采集模塊功能包括:空間信息采集、屬性信息采集;數(shù)據(jù)儲(chǔ)存模塊功能包括:對(duì)象圖層創(chuàng)建、圖層的插入;數(shù)據(jù)訪問(wèn)模塊功能:集合信息儲(chǔ)存表達(dá)式的獲取、在Google地圖上的加載,圖1為功能結(jié)構(gòu)圖:

2.2 系統(tǒng)架構(gòu)

本系統(tǒng)利用B/S模式與GIS相結(jié)合,將系統(tǒng)架構(gòu)分為三層:瀏覽器客戶端層、服務(wù)器端層、數(shù)據(jù)層。

瀏覽器客戶端層:由于本系統(tǒng)是瘦客戶端模式,因此客戶端層只需要安裝一個(gè)瀏覽器就能夠其進(jìn)行操作,免去了系統(tǒng)配置的繁雜[2]。對(duì)于開(kāi)發(fā)而言,客戶端層分為普通業(yè)務(wù)框架以及GIS地圖框架。其中普通業(yè)務(wù)框架的開(kāi)發(fā)使用HTML、CSS、JavaScript完成,對(duì)應(yīng)的GIS地圖類型框架采用Google Maps API進(jìn)行開(kāi)發(fā)。

服務(wù)端層是業(yè)務(wù)邏輯實(shí)現(xiàn)的主要層,數(shù)據(jù)采集以及數(shù)據(jù)的儲(chǔ)存都需要經(jīng)過(guò)服務(wù)端層的邏輯調(diào)控,由于系統(tǒng)是基于Web架構(gòu)的,因此需要采用網(wǎng)絡(luò)服務(wù)器,本系統(tǒng)使用的是Apache服務(wù)端軟件,而服務(wù)端業(yè)務(wù)邏輯的實(shí)現(xiàn)采用PHP進(jìn)行編寫實(shí)現(xiàn)。

數(shù)據(jù)層是系統(tǒng)模塊的支撐,本系統(tǒng)數(shù)據(jù)庫(kù)采用MYSQL進(jìn)行數(shù)據(jù)的存儲(chǔ)。同時(shí),集合對(duì)象的儲(chǔ)存采用WKB儲(chǔ)存模式,同時(shí)空間數(shù)據(jù)庫(kù)的儲(chǔ)存遵循OGC標(biāo)準(zhǔn)。圖2為系統(tǒng)架構(gòu)圖:

3 系統(tǒng)關(guān)鍵技術(shù)

3.1 空間數(shù)據(jù)庫(kù)技術(shù)

本系統(tǒng)是以關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)模型實(shí)現(xiàn)空間數(shù)據(jù)的存儲(chǔ)。空間數(shù)據(jù)庫(kù)的幾何信息的存儲(chǔ)模式通常有WKT(Well-known Text)和WKB(Well-known Binary)兩種[3]。

WKT方式基于一套標(biāo)準(zhǔn)語(yǔ)法,使用括號(hào)及其他符號(hào)將文本和坐標(biāo)值組織起來(lái),從而重構(gòu)幾何。其中文本信息是大小寫不敏感的,表1描述了使用WKT表達(dá)的簡(jiǎn)單幾何:

WKB方式使用連續(xù)的二進(jìn)制字符串描述幾何。二進(jìn)制字符串的組織通常遵循一定的標(biāo)準(zhǔn),以實(shí)現(xiàn)數(shù)據(jù)的規(guī)范化和可訪問(wèn)性。本設(shè)計(jì)將參照OGC中關(guān)于WKB表達(dá)的標(biāo)準(zhǔn)來(lái)組織二進(jìn)制字符串。

同時(shí)使用空間數(shù)據(jù)引擎SDE來(lái)管理,SDE是一種空間數(shù)據(jù)庫(kù)管理系統(tǒng)的實(shí)現(xiàn)方法,即在常規(guī)數(shù)據(jù)庫(kù)管理系統(tǒng)之上添加一層空間數(shù)據(jù)庫(kù)引擎,通過(guò)SDE 可以在關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)中存放和管理空間地理數(shù)據(jù),并且將地圖數(shù)據(jù)的空間地理信息與屬性信息聯(lián)系起來(lái),通過(guò)該方式,使空間地理數(shù)據(jù)與屬性數(shù)據(jù)保持了同步性。

3.2 Ajax技術(shù)

本系統(tǒng)通過(guò)Ajax來(lái)完成客戶端與服務(wù)端之間的信息交互,AJAX 是 Asynchronous JavaScript and XML的簡(jiǎn)寫,即異步的 JavaScript 和 XML。

Ajax 并不是一種新技術(shù),它實(shí)際上是幾種技術(shù)的組合,包括:

o基于 XHTML 和 CSS 標(biāo)準(zhǔn)的表示;

o使用 DOM(Document Object Model)進(jìn)行動(dòng)態(tài)顯示和交互;

o使用 XMLHttpRequest 與服務(wù)器進(jìn)行異步通信;

o使用 JavaScript 操作綁定。

Ajax技術(shù)可以部分更新web 頁(yè)面數(shù)據(jù),不用刷新整個(gè)頁(yè)面,所以使用Ajax技術(shù)可以極大的減小客戶端與服務(wù)器端的通信數(shù)據(jù)量,大約只有原來(lái)的5%左右,可以將更多的處理任務(wù)交給客戶機(jī)來(lái)完成,減小了網(wǎng)絡(luò)服務(wù)器的壓力[4]。

3.3 Google Maps API開(kāi)發(fā)技術(shù)

Google Maps API是Google自己推出編程API,可以讓全世界對(duì)Google Maps有興趣的程序設(shè)計(jì)師自行開(kāi)發(fā)基于Google Maps的服務(wù),建立自己的地圖網(wǎng)站。Google地圖分多個(gè)層次,自下到上分為G MAP MAP PANE(最底部的地圖),G MAP MARKER SHADOW PANE(地標(biāo)的影子),G MAP MARK-ER PANE(地標(biāo)),G MAP FLOAT SHADOW PANE(信息窗口的影子),G MAP MARKER MOUSE TARGET PANE(捕捉鼠標(biāo)響應(yīng)層),G MAP FLOAT PANE(信息窗口層)[5]。

本系統(tǒng)所用到的Google Map API 功能有:

(1)Google.maps.Map對(duì)象:通過(guò)Google.maps.Map對(duì)象可以創(chuàng)建一個(gè)地圖并插入到Web頁(yè)面中;

(2)Google地圖控件:利用Google地圖控件,可以實(shí)現(xiàn)對(duì)地圖的平移、縮放、比例尺控制等基礎(chǔ)操作;

(3)地理標(biāo)記:地理標(biāo)記是Google地圖的一個(gè)重要功能,使用地理標(biāo)記可以在Google地圖中標(biāo)記點(diǎn),添加文本注記。標(biāo)記是通過(guò)google.maps.Marker類實(shí)現(xiàn)的,實(shí)例化一個(gè)標(biāo)記點(diǎn)時(shí)需要指定標(biāo)記點(diǎn)位置和標(biāo)記所屬的地圖的ID。

(4)InfoWindows對(duì)象:通過(guò)InfoWindows對(duì)象可以在頁(yè)面上顯示被標(biāo)記的地理對(duì)面更對(duì)的空間信息以及非空間信息。

3.4 MYSQL數(shù)據(jù)庫(kù)

本系統(tǒng)以MYSQL5.6關(guān)系數(shù)據(jù)庫(kù)為基礎(chǔ),使用phpMyAdmin作為數(shù)據(jù)庫(kù)管理軟件,建立空間數(shù)據(jù)庫(kù)。

系統(tǒng)中主要用到的MYSQL數(shù)據(jù)類型有INT/DOUBLE/VARCHAR/BLOB等。其中INT數(shù)據(jù)類型占用4字節(jié),取值范圍為(-2 147 483 648,2 147 483 647),用于表達(dá)要素標(biāo)識(shí)等整數(shù)值信息;DOUBLE數(shù)據(jù)類型占用8字節(jié),取值范圍為(1.797 693 134 862 315 7E+308,2.225 073 858 507 201 4E-308),0,(2.225 073 858 507201 4 E-308,1.797 693 134 862315 7 E+308),用于記錄坐標(biāo)值信息;VARCHAR數(shù)據(jù)類型用來(lái)記錄文本內(nèi)容,主要是要素的屬性等信息,坐標(biāo)系統(tǒng)的WKT表達(dá)也使用VARCHAR數(shù)據(jù)類型,其大小為0-255個(gè)字節(jié),為變長(zhǎng)字符串;BLOB數(shù)據(jù)類型為二進(jìn)制大數(shù)據(jù)塊,存儲(chǔ)二進(jìn)制形式的長(zhǎng)文本數(shù)據(jù),長(zhǎng)度為0-65 535個(gè)字節(jié),設(shè)計(jì)中使用WKB方式存儲(chǔ)的幾何數(shù)據(jù)都是以BLOB數(shù)據(jù)類型存儲(chǔ)的。

4 系統(tǒng)功能的實(shí)現(xiàn)

4.1 數(shù)據(jù)采集功能的實(shí)現(xiàn)

空間數(shù)據(jù)的采集將在WEB瀏覽器中實(shí)現(xiàn)。訪問(wèn)數(shù)據(jù)采集的Web頁(yè)面,底圖直接顯示為Google地圖,點(diǎn)擊添加要素按鈕后,用戶可以在地圖窗口中開(kāi)始繪制圖形,每繪制一個(gè)點(diǎn),將創(chuàng)建一個(gè)該點(diǎn)的地理標(biāo)記,同時(shí)實(shí)時(shí)的更新地圖視圖,顯示已經(jīng)繪制的軌跡,繪制完成后點(diǎn)擊提交按鈕,便將該要素上傳到服務(wù)器端。用戶也可以在Web頁(yè)面上新建圖層,輸入圖層名稱,選擇圖層的幾何類型。實(shí)現(xiàn)流程如圖3所示:

4.2 數(shù)據(jù)儲(chǔ)存功能的實(shí)現(xiàn)

WEB服務(wù)器端的PHP頁(yè)面接到來(lái)自網(wǎng)頁(yè)的請(qǐng)求后,首先通過(guò)應(yīng)用層的代碼將來(lái)自Web頁(yè)面的數(shù)值類型的數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制串形式的數(shù)據(jù),然后再連接收據(jù)庫(kù),將得到的數(shù)據(jù)插入到數(shù)據(jù)表中。需要?jiǎng)?chuàng)建圖層時(shí),首先要向幾何列表中添加一條記錄,然后分別創(chuàng)建該圖層的要素表和幾何表。

服務(wù)器端接受到Web前端上傳的矢量數(shù)據(jù)后,需要對(duì)數(shù)值坐標(biāo)進(jìn)行二進(jìn)制化處理,并且按照WKB標(biāo)準(zhǔn)對(duì)處理后得到的二進(jìn)制值進(jìn)行連接,將一個(gè)幾何對(duì)象的所有信息都表達(dá)在二進(jìn)制字符串中去。同時(shí)幾何表中還存儲(chǔ)了幾何對(duì)象的最小外接矩形信息,需要在服務(wù)器端對(duì)所有的坐標(biāo)數(shù)值進(jìn)行判斷,得到最大和最小的坐標(biāo)值,和二進(jìn)制字符串一同作為參數(shù)構(gòu)建SQL語(yǔ)句,插入到數(shù)據(jù)庫(kù)中去。實(shí)現(xiàn)流程如圖4所示:

4.3 數(shù)據(jù)訪問(wèn)接口的實(shí)現(xiàn)

基于MYSQL用戶定義函數(shù)實(shí)現(xiàn),調(diào)用該數(shù)據(jù)接口,需要在WEB服務(wù)器語(yǔ)言PHP中調(diào)用MYSQL數(shù)據(jù)庫(kù)的用戶定義函數(shù)。暫時(shí)提供了2個(gè)數(shù)據(jù)接口,一個(gè)用來(lái)查詢數(shù)據(jù)庫(kù)中已有的所有圖層的信息,另一個(gè)用來(lái)查詢具體的某一個(gè)幾何對(duì)象的信息,輸入?yún)?shù)為要素的FID。

查詢所有圖層時(shí),調(diào)用數(shù)據(jù)庫(kù)中的用戶定義函數(shù)getLayer(),得到的返回值的類型是數(shù)據(jù)表,使用mysql_fetch_row函數(shù)得到數(shù)據(jù)表中的每一行記錄,返回值$row是數(shù)組形式的數(shù)據(jù),可以直接使用數(shù)組索引訪問(wèn)其中的值。

查詢某一個(gè)要素的幾何信息時(shí),調(diào)用要素幾何信息查詢接口,需要的輸入?yún)?shù)為要素的FID,查詢的結(jié)果以數(shù)據(jù)表的形式給出,通常情況下,返回的數(shù)據(jù)表中只有一行記錄,得到數(shù)據(jù)行之后,使用數(shù)據(jù)行的數(shù)組索引便可得到數(shù)據(jù)行中的每一個(gè)單元格的值。實(shí)現(xiàn)流程如圖5所示:

5 結(jié)束語(yǔ)

空間信息已經(jīng)在日常生活中扮演了越來(lái)越重要的角色,人類大部分的活動(dòng)都與空間信息息息相關(guān),空間信息的采集與存儲(chǔ)對(duì)于空間信息的使用來(lái)說(shuō)至關(guān)重要。本系統(tǒng)基于Google地圖進(jìn)行開(kāi)發(fā),通過(guò)本系統(tǒng),用戶可以更為方便地采集空間數(shù)據(jù),采集的數(shù)據(jù)內(nèi)容也完全由用戶自行決定,增強(qiáng)了空間數(shù)據(jù)的交互性,使普通用戶也可以從數(shù)據(jù)使用者變成數(shù)據(jù)提供者,豐富了空間數(shù)據(jù)的來(lái)源。

空間信息通常都具有數(shù)據(jù)量大,數(shù)據(jù)不規(guī)則等特點(diǎn),本系統(tǒng)實(shí)現(xiàn)了基于關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)的空間數(shù)據(jù)庫(kù),使用數(shù)據(jù)庫(kù)存儲(chǔ)空間數(shù)據(jù),提高了數(shù)據(jù)存儲(chǔ)和訪問(wèn)的效率。同時(shí)提供了數(shù)據(jù)訪問(wèn)接口,可以使采集的數(shù)據(jù)被更廣泛的使用。

本系統(tǒng)的很多功能還存在著許多缺陷,例如數(shù)據(jù)的安全性、系統(tǒng)數(shù)據(jù)處理的效率以及人機(jī)交互界面的優(yōu)化等,這些都是下一步的研究方向。

參考文獻(xiàn)

[1] Deakin Mark, Al Waer Husam. From intelligent to smart cities. Intelligent Buildings International,2011,Vol.3(3).

[2] 曲鑫,張偉.云服務(wù)平臺(tái)下的地理信息系統(tǒng)技術(shù)研究[J].測(cè)繪與空間地理信息,2014,37(9) : 113 -115.

[3] 袁一泓,高勇.面向?qū)ο蟮臅r(shí)空數(shù)據(jù)模型及其實(shí)現(xiàn)技術(shù)[J].地理與地理信息科學(xué),2008,(03)

[4] 陳建平.基于Google Map與Ajax的Web GIS應(yīng)用解決方案研究[D].西北農(nóng)林科技大學(xué),2009.

[5] 王芳.Google地圖開(kāi)發(fā)研究[J].計(jì)算機(jī)與數(shù)字工程,2010(3):146-149.

猜你喜歡
空間數(shù)據(jù)
基于多層索引及緩存的空間數(shù)據(jù)管理系統(tǒng)
GIS空間數(shù)據(jù)與地圖制圖融合技術(shù)
炎黃地理(2019年1期)2019-09-10 15:18:53
云GIS環(huán)境下分布式空間數(shù)據(jù)集成技術(shù)研究
元數(shù)據(jù)驅(qū)動(dòng)的多中心空間數(shù)據(jù)同步方法研究
GIS技術(shù)背景下的地圖制圖研究
科技資訊(2015年5期)2016-01-14 16:54:36
面向空間數(shù)據(jù)生產(chǎn)的地圖表達(dá)研究
科技資訊(2015年16期)2015-07-21 20:59:49
面向數(shù)據(jù)成果更新的空間數(shù)據(jù)制圖研究
科技資訊(2014年3期)2014-10-20 17:42:04
基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲(chǔ)與組織研究
嵌入式環(huán)境下地理空間數(shù)據(jù)組織技術(shù)研究
客戶端空間數(shù)據(jù)緩存策略
灌云县| 富川| 新干县| 眉山市| 梅州市| 汽车| 焉耆| 潞城市| 广平县| 眉山市| 抚远县| 南投县| 洪湖市| 甘德县| 庐江县| 莱州市| 巴中市| 东乌| 徐水县| 康乐县| 临夏市| 大悟县| 衢州市| 项城市| 周口市| 桓仁| 兴化市| 凤冈县| 江源县| 广西| 阳东县| 新疆| 合阳县| 东丰县| 万州区| 黄梅县| 富锦市| 新乡市| 枝江市| 新干县| 大姚县|