亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        范磬亞,鞠海燕

        0 引言

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

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

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

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

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

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

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

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

        具體見(jiàn)表1

        表1 SDO_ELEM_INFO的值及含義

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

        SDO_ORDINATES:定義為一個(gè)可變長(zhǎng)的數(shù)組,數(shù)組元素類型為NUMBER。用來(lái)存儲(chǔ)組成空間實(shí)體邊界的點(diǎn)的坐標(biāo)值。

        2 SVG

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

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

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

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

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

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

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

        1)點(diǎn)圖層

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

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

        2)線圖層

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

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

        3)面圖層

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

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

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

        4)標(biāo)記層

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

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

        3.1 SDO_GEOMETRY轉(zhuǎn)換成SVG

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

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

        3.2 SVG轉(zhuǎn)換成SDO_GEOMETRY

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

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

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

        4 應(yīng)用舉例

        Oracle Spatial提供的空間分析功能很多,在這里通過(guò)研究距離測(cè)量的具體實(shí)現(xiàn)過(guò)程,找出其他空間分析功能的執(zhí)行的過(guò)程。在界面輸入要測(cè)量的兩點(diǎn)具體坐標(biāo)值。用戶點(diǎn)擊“距離測(cè)量”按鈕,由客戶端封裝成距離測(cè)量的XML格式的命令,再向服務(wù)器端發(fā)出請(qǐng)求。數(shù)據(jù)庫(kù)的業(yè)務(wù)邏輯層將距離測(cè)量命令解析,調(diào)用從SVG到SDO_GEOMETRY 模塊,得出兩點(diǎn)的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是一個(gè)全新的研究領(lǐng)域,但是鑒于空間分析功能在GIS的重要性和Oracle Spatial的豐富的空間分析管理功能,本文就此實(shí)現(xiàn)了SVG和Oracle Spatial兩者的轉(zhuǎn)換,詳細(xì)闡述了其轉(zhuǎn)換過(guò)程。但是基于SVG/Oracle Spatial 應(yīng)用模型還有許多工作值得繼續(xù)研究,比如使用異步方式傳輸模式解決大數(shù)據(jù)量下載的問(wèn)題,多用戶數(shù)據(jù)更新等。相信不久將來(lái),SVG將在WebGIS領(lǐng)域中得到越來(lái)越廣泛的應(yīng)用。

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

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

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

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

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

        猜你喜歡
        定義
        以愛(ài)之名,定義成長(zhǎng)
        活用定義巧解統(tǒng)計(jì)概率解答題
        例談橢圓的定義及其應(yīng)用
        題在書外 根在書中——圓錐曲線第三定義在教材和高考中的滲透
        永遠(yuǎn)不要用“起點(diǎn)”定義自己
        海峽姐妹(2020年9期)2021-01-04 01:35:44
        嚴(yán)昊:不定義終點(diǎn) 一直在路上
        定義“風(fēng)格”
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        有壹手——重新定義快修連鎖
        修辭學(xué)的重大定義
        国产天堂av手机在线| 国产精品jizz视频| 欧美激情αv一区二区三区| 中文字幕五月久久婷热| 综合精品欧美日韩国产在线| 国产一区二区在线观看我不卡| 亚洲女厕偷拍一区二区| 国产毛片黄片一区二区三区| 免费无码又黄又爽又刺激| 国产啪精品视频网站丝袜| 亚洲人av毛片一区二区| 人妻秘书被社长浓厚接吻| 18禁止进入1000部高潮网站| 午夜裸体性播放| av网站免费线看| 中文字幕乱码中文乱码毛片| 国产高潮流白浆视频在线观看| 7m精品福利视频导航| 午夜一级韩国欧美日本国产| 国产精品国产三级国产一地| 国内揄拍国内精品人妻久久| 成 人片 黄 色 大 片| 无码熟妇人妻av在线影片| 亚洲国产美女在线观看| 中文字幕精品乱码一区| 亚洲最大成人网站| 亚洲∧v久久久无码精品| 中文字幕亚洲无线码a| 性感美女脱内裤无遮挡| 被三个男人绑着躁我好爽视频| 亚洲大尺度在线观看| 日韩色久悠悠婷婷综合| 九七青青草视频在线观看| 和黑人邻居中文字幕在线| 少妇人妻偷人精品视蜜桃| 日本国产一区二区三区在线观看| 成人爽a毛片在线播放| www夜片内射视频在观看视频 | 大陆啪啪福利视频| 亚洲av毛片在线免费看| 欧洲熟妇色xxxx欧美老妇性 |