999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一個基于SVG的空間分析技術(shù)的研究

2011-09-17 10:31:04范磬亞鞠海燕
微型電腦應(yīng)用 2011年1期
關(guān)鍵詞:定義

范磬亞,鞠海燕

0 引言

WebGIS是在 Internet或 Intranet網(wǎng)絡(luò)環(huán)境下的一種獲取、存儲、傳輸、分析和顯示地理信息的計算機(jī)信息系統(tǒng)。目前在 WebGIS應(yīng)用中,地圖數(shù)據(jù)的顯示一般采用兩種方式:柵格地圖或者矢量地圖。顯示柵格地圖,用戶不需要安裝插件,但不能對圖像進(jìn)行進(jìn)一步的操作和交互。而矢量圖形的顯示是計算機(jī)軟件通過一定算法,將矢量對象的描述信息在顯示終端上重繪的結(jié)果,但是速度和可重用性等方面仍然存在很多障礙。SVG是互聯(lián)網(wǎng)聯(lián)盟(W3C)的正式推薦標(biāo)準(zhǔn),是一種基于XML的描述2D可容納矢量圖形、點陣圖像和文本圖像的語言。SVG的出現(xiàn)可以說對Web GIS空間數(shù)據(jù)發(fā)布提供了一個開放的解決方案。目前,如何在SVG格式的矢量地圖中實現(xiàn)復(fù)雜空間分析是一個有待研究的問題。空間數(shù)據(jù)管理產(chǎn)品提供了豐富的空間分析函數(shù),可以借助它來實現(xiàn)SVG圖形的空間分析。但是空間數(shù)據(jù)管理產(chǎn)品只支持其定義的空間數(shù)據(jù)的格式,因此問題的關(guān)鍵是如何實現(xiàn)SVG和空間數(shù)據(jù)管理產(chǎn)品定義的空間數(shù)據(jù)類型的相互轉(zhuǎn)換。

1 Oracle Spatial

目前空間數(shù)據(jù)管理產(chǎn)品主要有2種:一種是ESRI推出的ArcSDE,另一種是Oracle公司推出的空間數(shù)據(jù)管理組件Oracle Spatial,本文的研究選擇了Oracle Spatial。在Oracle Spatial的對象——關(guān)系模型中,一個空間實體的空間信息是存在用戶定義的數(shù)據(jù)表中的一個字段,類型為SDO_GEOMETRY。Oracle Spatial這樣定義SDO_GEOMETRY這個字段:

SDO_GYTPE:說明該空間實體的類型。是一個4個數(shù)字的整數(shù),其格式為 dltt,其中 d表示幾何對象的維數(shù);l表示三維線性參考系統(tǒng)中的線性參考值,tt為幾何對象的類型。

SDO_SRID:一個預(yù)留屬性,Oracle Spatial計劃將它作為空間引用的外鍵。

SDO_POINT:由X、Y、Z 3個NUMBER型的屬性構(gòu)成,如果 SDO_ELEM_INFO和 SDO_ORDINATES都是NULL的話,該對象便是非空的,X、Y兩個值用來表示點實體的坐標(biāo)。否則,SDO_POINT這個屬性將被忽略。

SDO_ELEM_INFO:定義為一個可變長的數(shù)組。每 3個數(shù)作為一個元素單位,用于解釋坐標(biāo)是如何存儲在SDO_ORDINATES數(shù)組中的。本文把組成一個元素的3個數(shù)稱為3元組。一個3元組包含以下3部分的內(nèi)容:

a)SDO_ STARTING_OFFSET表明每個幾何元素的第一個坐標(biāo)在SDO_ ORD INATES數(shù)組中的存儲位置。它的值從1開始,逐漸增加。

b)SDO_ETYPE 用于表示幾何對象中每個組成元素的幾何類型。

c)SDO_INTERPRETATION具有兩層含義,具體的作用由SDO_ETYPE是否為復(fù)雜元素決定。

具體見表1

表1 SDO_ELEM_INFO的值及含義

1003或2003 2由弧線段組成的多邊形,起點與終點必須相同。一個弧線段由起點、弧上任意一點以及終點組成。相鄰兩段弧的接點不需要重復(fù)存儲。1003或2003 3 矩形,由左下角和右上角兩點確定1003或2003 4 圓,由圓周上的不同三點確定4 n>1由直線段和弧線段連成的復(fù)合線,n表示組成復(fù)合線的相鄰子元素的個數(shù),子元素的SDO_ETYPE必須為2,一個子元素的最后一點是下一個子元素的第一個點,并且該點不能重復(fù)。1005或2005 n>1由直線段和弧線段連成的復(fù)合多邊形,n表示組成復(fù)合多邊形的相鄰子元素的個數(shù),子元素的SDO_ETYPE必須為2,一個子元素的最后一點是下一個子元素的第一個點,并且該點不能重復(fù)。多邊形的起點和終點必須相同。

SDO_ORDINATES:定義為一個可變長的數(shù)組,數(shù)組元素類型為NUMBER。用來存儲組成空間實體邊界的點的坐標(biāo)值。

2 SVG

SVG是由國際WWW委員會(W3C)組織為適應(yīng)Internet Web應(yīng)用的飛速發(fā)展需要而制定的一套基于XML語言的可縮放矢量圖形語言描述規(guī)范,用來描述二維矢量圖形和矢量/點陣混合圖形的置標(biāo)語言,其全稱是可擴(kuò)展矢量圖形規(guī)范(Scalable Vector Graphics)。SVG 與目前因特網(wǎng)上常用的JPEG、GIF等網(wǎng)絡(luò)上廣泛使用的圖形格式相比較具有許多優(yōu)點:(1)任意縮放性、文件尺寸小。(2)能加快下載瀏覽速度。(3)能實現(xiàn)方便的圖形定位與檢索。(4)具有豐富的表現(xiàn)效果。(5)具有良好的可重用性。(6)具有跨平臺功能。

由于W3C組織制定SVG規(guī)范是面向通用圖形圖像的網(wǎng)上發(fā)布,而空間數(shù)據(jù)則具有特殊的和復(fù)雜的數(shù)據(jù)結(jié)構(gòu),則需要了解基于矢量格式的空間數(shù)據(jù)如何在SVG文檔中進(jìn)行組織或表達(dá)。這包含兩方面的內(nèi)容:一是空間數(shù)據(jù)所表示的地物是如何進(jìn)行分類;二是表示各種地物的圖形數(shù)據(jù)是如何在文檔中進(jìn)行組織和表達(dá)。

2.1 SVG Path的圖形表達(dá)分析

SVG的路徑(Path)可以是一個形狀的外框,也可以是用來剪裁的路徑線條,總之就是“一根線”。這根線可以被描邊,可以用來表達(dá)空間,如果封閉的話又可以被填充。路徑是用點的集合來描述的,路徑所使用的描繪方式有moveto、lineto、curveto、arc和closepath等。一個復(fù)合路徑中還可以含有子路徑,形式相當(dāng)靈活。

Path元素的幾何坐標(biāo)信息定義在d=”……”屬性里,由命令和數(shù)據(jù)參數(shù)組成,命令包括M、L、H、V、A、C、S、Q、T、Z,并區(qū)分大小寫,小寫表示的是相對坐標(biāo)。

2.2 基于SVG空間數(shù)據(jù)組織方法設(shè)計

對于空間信息地物的分類,在 GIS界有很多的研究。通常,人們將地物按其幾何形態(tài)分為5類,即:點狀實體、線狀實體、面狀實體、注記體,以及柵格體。

目前,對于空間數(shù)據(jù)的組織主要有兩種方法:分層組織法和分要素組織法。其中,分層組織法來源于制圖學(xué)中的專題分層和CAD中的實體分層。考慮到SVG數(shù)據(jù)格式的特點,地理空間數(shù)據(jù)的組織則采用簡單的同類要素分層組織模式,這樣既考慮到數(shù)據(jù)管理的便捷和易操作,又可使每個圖層只包含一類幾何特征要素的地物。在SVG文檔中,每個圖層通過一分組元素g來表示,該元素的ID屬性表示圖層的標(biāo)識符,對于圖層的顯示樣式,不同類型的圖層有不同的定義規(guī)則。

SVG本身就定義了一些與圖形相關(guān)的元素,如矩形,圓,橢圓,線段,多條線,多邊型。這些元素只能表達(dá)一些簡單的圖形對象,對于復(fù)雜的空間數(shù)據(jù)類型如線和面不是很適合,這里可以考慮用SVG的Path來設(shè)計表達(dá)。各圖層的設(shè)計如下:

1)點圖層

對于點圖層,包含Point,MultiPoint幾何類型,各種點狀地物是通過SVG中的Circle元素進(jìn)行表達(dá),而x,y坐標(biāo)則分別以變量的形式賦給Circle元素的cx和cy屬性,并為Circle元素的半徑r屬性賦與一個較小的值。下面就是點圖層的實例:

其中UserlD是用戶自定義的ID等等,這些信息可從提供源數(shù)據(jù)的軟件獲得。

2)線圖層

在SVG中,對于傳統(tǒng)的線狀實體是以path定義,并對其賦予相應(yīng)的屬性函數(shù),以下是線圖層的例子。

同時利用分組標(biāo)志確定線層,對整個線圖層用stoke,stroke_width等定義線段的屬性。

3)面圖層

在SVG文檔中,面狀實體可通過多邊形構(gòu)成,用path元素來表達(dá)。以下是一個面圖層的例子。

其顯示樣式的定義與線圖層一樣多在分組標(biāo)志中定義。

以下是一個多邊形圖層的實例,在SVG文檔中完整的文本描述如下:

4)標(biāo)記層

對于地圖中的標(biāo)記,也直接通過表示。

3 轉(zhuǎn)換的設(shè)計與實現(xiàn)

3.1 SDO_GEOMETRY轉(zhuǎn)換成SVG

從SDO_GEOMETRY轉(zhuǎn)換為SVG模塊分為點、線、面的轉(zhuǎn)換。從SDO_GEOMETRY轉(zhuǎn)換為SVG Path起關(guān)鍵作用的是SDO_GEOMETRY數(shù)據(jù)類型中的SDO_ELEM_INFO和SDO_ORDINATES,前者決定了我們要轉(zhuǎn)換的空間幾何類型中每個組成元素的幾何類型以及每個幾何元素的第一個坐標(biāo)在SDO_ORDINATES中的存儲位置,后者存放的是相關(guān)的坐標(biāo)信息。對于讀取到的三元組分別用SVG Path繪制相應(yīng)的幾何類型。轉(zhuǎn)換流程圖如下圖1所示:

圖1 SVG Path轉(zhuǎn)換成SDO_GEOMETRY

3.2 SVG轉(zhuǎn)換成SDO_GEOMETRY

SVG對于點圖層直接用 Circle元素進(jìn)行表達(dá),其轉(zhuǎn)換直接將 Circle元素坐標(biāo)信息寫到 SDO_ORDINATES數(shù)組中,相對復(fù)雜的是 SVG 從 SVG Path轉(zhuǎn)換為SDO_GEOMETRY,本文為此設(shè)計了3個子模塊:SVG Path的指令及空間數(shù)據(jù)讀取模塊、SVG Path數(shù)據(jù)解析處理模塊、空間數(shù)據(jù)類型對應(yīng)轉(zhuǎn)換模塊,其相互關(guān)系是由SVG Path數(shù)據(jù)解析處理模塊調(diào)用其他兩個模塊。

從SVG Path中讀取到的數(shù)據(jù)有可能是空間坐標(biāo)數(shù)據(jù),也有可能是Path里的M、A、L、Z參數(shù),針對不同的數(shù)據(jù)相應(yīng)的解析處理過程也不一樣。同時要注意的是每個 Path里實際上可以由多對“M”和“Z”來表示多個環(huán)。SVG Path數(shù)據(jù)解析處理模塊的“畫直線處理部分”和“畫圓弧線處理部分”只是解析出直線和圓弧線的SDO_GEOMETRY形式的表達(dá),而要對環(huán)線、復(fù)合線、復(fù)合環(huán)線的完全地解析就要在“初始化處理”和“轉(zhuǎn)換結(jié)束處理”部分調(diào)用空間數(shù)據(jù)類型對應(yīng)轉(zhuǎn)換模塊做進(jìn)一步實現(xiàn)。SVG Path數(shù)據(jù)解析處理模塊的流程如圖2:

圖2 SVG Path數(shù)據(jù)解析處理模塊

4 應(yīng)用舉例

Oracle Spatial提供的空間分析功能很多,在這里通過研究距離測量的具體實現(xiàn)過程,找出其他空間分析功能的執(zhí)行的過程。在界面輸入要測量的兩點具體坐標(biāo)值。用戶點擊“距離測量”按鈕,由客戶端封裝成距離測量的XML格式的命令,再向服務(wù)器端發(fā)出請求。數(shù)據(jù)庫的業(yè)務(wù)邏輯層將距離測量命令解析,調(diào)用從SVG到SDO_GEOMETRY 模塊,得出兩點的SDO_GEOMETRY形式的編碼并執(zhí)行空間分析函數(shù)SDO_GEOM.SDO_ DISTANCE,調(diào)用從SDO_GEOMETRY轉(zhuǎn)換到SVG模塊將結(jié)果轉(zhuǎn)成SVG形式編碼,再將結(jié)果封裝到命令里,并將結(jié)果返回到客戶端,在客戶端顯示出距離值。如圖3。

圖3 應(yīng)用舉例

5 總結(jié)

目前,基于SVG的WebGIS是一個全新的研究領(lǐng)域,但是鑒于空間分析功能在GIS的重要性和Oracle Spatial的豐富的空間分析管理功能,本文就此實現(xiàn)了SVG和Oracle Spatial兩者的轉(zhuǎn)換,詳細(xì)闡述了其轉(zhuǎn)換過程。但是基于SVG/Oracle Spatial 應(yīng)用模型還有許多工作值得繼續(xù)研究,比如使用異步方式傳輸模式解決大數(shù)據(jù)量下載的問題,多用戶數(shù)據(jù)更新等。相信不久將來,SVG將在WebGIS領(lǐng)域中得到越來越廣泛的應(yīng)用。

[1]劉嘯,畢永年.基于XML的SVG應(yīng)用指南[M].北京:北京科海集體公司出品,2001.

[2]袁滿,于春生,聶晶.基于 ArcSDE/SVG 的分布式 WebGIS模型[J].計算機(jī)應(yīng)用研究,2009,26(3):939~941.

[3]袁家政,須德,鮑泓.基于XML矢量圖形SVG應(yīng)用的軟件體系結(jié)構(gòu)研究[J].中國圖象圖形學(xué)報,2007,12(4):718~725.

[4]趙軍,翟裕忠.一個基于SVG的GIS及其空間分析技術(shù)[J].計算機(jī)工程與應(yīng)用,2004,(1):109~111.

[5]謝亦才,玄立超.基于SVG的網(wǎng)絡(luò)GIS圖形編輯系統(tǒng)設(shè)計與實現(xiàn)[J].計算機(jī)技術(shù)與發(fā)展,2009,19(4):213~216.

猜你喜歡
定義
以愛之名,定義成長
活用定義巧解統(tǒng)計概率解答題
例談橢圓的定義及其應(yīng)用
題在書外 根在書中——圓錐曲線第三定義在教材和高考中的滲透
永遠(yuǎn)不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
嚴(yán)昊:不定義終點 一直在路上
華人時刊(2020年13期)2020-09-25 08:21:32
定義“風(fēng)格”
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
有壹手——重新定義快修連鎖
修辭學(xué)的重大定義
主站蜘蛛池模板: 亚洲第一精品福利| 97免费在线观看视频| 91小视频在线播放| 国产综合色在线视频播放线视| 国产综合精品一区二区| 国产在线观看成人91| 26uuu国产精品视频| 日本少妇又色又爽又高潮| 亚洲人成色77777在线观看| 天堂亚洲网| 成人国产免费| 日韩欧美中文| 黄色网址免费在线| 亚洲成人高清无码| 在线综合亚洲欧美网站| 97青草最新免费精品视频| 亚洲色图欧美视频| 凹凸精品免费精品视频| 欧美一区中文字幕| 亚洲日本精品一区二区| 亚洲男人天堂网址| 亚洲欧美在线综合图区| 四虎在线观看视频高清无码 | 欧美综合激情| 欧美成人看片一区二区三区| 久久国产精品夜色| h视频在线观看网站| 免费毛片a| 亚洲精品免费网站| 秋霞一区二区三区| 亚洲乱码在线视频| 亚洲欧洲自拍拍偷午夜色| 伊人激情久久综合中文字幕| 欧美一区福利| 97影院午夜在线观看视频| 91成人在线免费观看| 毛片一级在线| 国产精品成人免费视频99| 久久国产亚洲偷自| 亚洲中文字幕国产av| a级毛片在线免费| 依依成人精品无v国产| 免费人成视网站在线不卡| 国产在线观看第二页| 日本www在线视频| 无码又爽又刺激的高潮视频| 亚洲色图欧美激情| jizz在线观看| 色欲色欲久久综合网| 久久人人爽人人爽人人片aV东京热| 又黄又湿又爽的视频| 欧美亚洲国产精品久久蜜芽| 久久综合伊人77777| 香蕉国产精品视频| 在线免费观看a视频| a级毛片免费看| 免费无码AV片在线观看国产| 国产午夜精品一区二区三| 国产精品欧美日本韩免费一区二区三区不卡| 欧美97色| 亚洲天堂2014| 91免费国产高清观看| 日韩天堂在线观看| 99re在线观看视频| 免费xxxxx在线观看网站| 日本爱爱精品一区二区| 久久人体视频| 三级国产在线观看| 亚洲欧美极品| Aⅴ无码专区在线观看| 欧美精品在线免费| 色综合久久无码网| 69综合网| 青青青国产精品国产精品美女| 沈阳少妇高潮在线| 成人精品亚洲| 中文字幕久久精品波多野结| 久久99久久无码毛片一区二区 | 嫩草国产在线| 国产精品白浆无码流出在线看| av无码久久精品| 婷婷亚洲综合五月天在线|