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

        ?

        LBS中基于SVG的地圖組織與應用

        2018-12-19 12:44:34陳少英
        現(xiàn)代計算機 2018年32期
        關鍵詞:解析器圖層設置

        陳少英

        (廈門海洋職業(yè)技術學院信息技術系,廈門 361012)

        1 概述

        1.1 LLBBSS業(yè)務

        移動位置服務(Location-Based Services,LBS),又名定位服務,使用移動衛(wèi)星網絡和衛(wèi)星定位的技術結合獲得移動方的位置信息,由移動通信網提供給用戶及相關通信系統(tǒng),用以實現(xiàn)各種與定位、位置相關的服務。涉及到基于位置提供的信息服務都屬于移動位置服務,例如查詢某個目的地的線路、某個地方的天氣,這些是廣義的屬性。就LBS業(yè)務本身來說,其通過移動通信網獲取用戶的位置,借助地理信息系統(tǒng)(GIS)提供的各類服務,實現(xiàn)與終端擁有者所在位置緊密相關的增值服務。GIS是LBS中的關鍵核心技術,因為LBS中的關鍵和核心是位置信息和地理信息,而GIS負責位置信息、基礎地理信息的存儲以及數據、空間分析,涉及到地圖展示、路徑搜索、地點定位等,這正是LBS中用戶需要的有價值的信息。

        LBS會形成一個巨大的產業(yè)鏈,其中包括定位技術提供商、電信運營商、基礎空間數據、服務提供商、內容提供商和移動終端制造商等。手機做為重要的一種移動終端,擁有位置信息采集和用戶交互的功能。

        1.2 SSVVGG技術

        SVG,即可縮放矢量圖(Scalable Vector Graphics),它采用XML(Extensible Markup Language)來描述二維圖形。

        SVG結合了文字、圖形和圖像的有機統(tǒng)一,它采用標記語言的形式,對矢量圖形、圖像進行變換、組合、樣式設置等操作。作為針對互聯(lián)網應用而制定的圖像格式,從圖像本身的表現(xiàn)來講SVG具有圖像品質較高、文件較小、色彩描述精確、視覺顯示效果豐富、可搜索、可交互等優(yōu)勢。

        LBS中基于SVG技術的方案相比于先前的解決方案具有一些新的特點:

        (1)SVG豐富的圖形對象,可以很好地表現(xiàn)系統(tǒng)的空間信息,甚至細節(jié)。

        (2)SVG豐富的消息觸發(fā)以及事件響應函數,能夠快速獲取用戶信息,可以實現(xiàn)系統(tǒng)的交互性。

        (3)SVG基于XML格式的特性,使得它除了本身內置的屬性外,還能針對屬性進行任意擴展,以實現(xiàn)自定義的功能,具有靈活性。

        (4)支持圖形超鏈接功能。

        2 系統(tǒng)架構

        該系統(tǒng)采用C/S模式,客戶端主要用來顯示地圖,包括操作界面、SVG解析模塊和功能模塊。服務器端存儲地圖的SVG文件,負責接收響應客戶端發(fā)出的請求??蛻舳税l(fā)送請求信息(例如查詢)到服務器端,服務器端進行響應,將相應SVG文件返回給客戶端,客戶端解析SVG文件,將生成的圖像顯示在手機屏幕上。用戶可以根據需要,在手機屏幕上對矢量地圖進行平移,以及適當的縮放。

        系統(tǒng)整體結構如圖1所示。

        圖1 系統(tǒng)結構示意圖

        3 系統(tǒng)實現(xiàn)

        3.1 地圖引擎

        地圖引擎是開發(fā)GIS地圖應用的平臺基礎。系統(tǒng)采用J2EE布局,地圖圖形數據和交互使用SVG做為載體,數據交換手段基于XML/XSL,空間數據平臺使用Oracle Spatial,界面操縱能力通過ECMAScript腳本語言來實現(xiàn)。

        本系統(tǒng)由如下部分組成:

        ●SVG地圖:通過Adobe SVG Viewer實現(xiàn)SVG地圖展示城市地圖、道路、地名注記等內容,并為地圖API提供數據容器;

        ●地圖API:提供了公交換乘查詢、地名及位置查詢、公交線路查詢、周邊地物查詢等API,供應用開發(fā)者使用;

        ●空間數據解析器:根據前臺請求,從Oracle Spa?tial數據庫中讀取空間數據,并轉換成為SVG圖形元素,組合目標SVG;

        ●數據緩存器:緩存用戶的調用請求產生的結果數據,根據用戶請求從緩存中讀取數據,用于提高服務器性能。

        地圖引擎拓撲圖如圖2所示。

        圖2 地圖引擎拓撲示意圖

        3.2 系統(tǒng)各功能模塊

        以下介紹系統(tǒng)的各個功能模塊劃分:

        ●SVG元素庫:使用對象數組格式,生成數據庫表中的對應SVG元素。首先需要調用方傳輸數據庫的表名和對應的命名函數,SVG元素庫依據表名連接Oracle Spatial數據庫,參照命名函數中傳入的數據類型生成所需要的文本、點、線、面等對象;接著向解析器查詢記錄對應的顯示風格,并設置到對象中,最后向調用方返回的是元素對象數組。

        ●SXW解析器模塊:SXW解析器設計用于實現(xiàn)對Super Map地圖編輯軟件產生的SXW文件的解析。SuperMap Deskpro生成信息空間文件,SXW解析器負責讀取其中的地圖地理結構、地圖展示風格等內容,讀取解析對應的SXW文件,然后在內存中生成XML樹,并提供外部所需的圖層元素值。

        ●緩沖器模塊:緩存用戶調用請求產生的結果數據,并根據用戶請求從緩存中直接讀取數據。用于提高服務器性能。在服務器啟動時,將載入這個類,并在這個類中將所有的SVG文件都讀出,并且存入Hash?Map。

        ●更新器模塊:用于更新SVG數據,作為入口,調度各個模塊,重新生成各主要城市的SVG地圖文件,將數據更新到數據庫,并由監(jiān)聽器監(jiān)視數據庫,并將它更新到HashMap中。

        ●分發(fā)器模塊:負責接收響應處理前端的請求。相當于系統(tǒng)中的交通警察,它接收用戶請求并進行解析,并將請求分發(fā)到相對應的對象進行處理。

        ●SVG組裝器模塊:用于根據傳入的圖元分塊坐標和其他相關配置信息,訪問Oracle Spatial數據庫,并生成分塊對應的SVG文件,以String方式返回,供調用者進行處理。

        ●地圖展示模塊:WingMap類在地圖裝載時進行初始化,用于操縱展示的SVG地圖。提供了眾多的函數,用于滿足地圖移動、放大、縮小、測距等常用地圖功能,并提供了用于向地圖中寫入查詢結果的接口。

        系統(tǒng)工作時序如圖3所示。

        圖3 系統(tǒng)工作時序圖

        3.3 更新器模塊實現(xiàn)

        更新器用于更新SVG數據,作為入口,調度各個模塊,將數據更新到數據庫,并由監(jiān)聽器監(jiān)視數據庫,并將它更新到HashMap中。更新器結構如圖4所示。

        圖4 更新器結構圖

        SVG組裝器拆分MBR,并根據MBR拆分結果進行循環(huán)調用:

        (1)SVG組裝器新建SXW解析器對象;

        (2)SXW解析器返回新建對象;

        (3)SVG組裝器向元素庫發(fā)送圖層、MBR、SXW解析器對象,元素庫返回相應的SVG片段;

        (4)元素庫向SXW解析器發(fā)送請求,要求返回圖層信息;

        (5)SXW解析器返回圖層信息;

        (6)元素庫向Spatial要求調用存儲過程,傳入圖層名、MBR、表名稱等信息,要求返回結果記錄集;

        (7)存儲過程返回結果記錄集;

        (8)元素庫向SXW解析器發(fā)送請求,要求返回圖層風格;

        (9)SXW解析器返回圖層風格;

        (10)元素庫組裝并返回SVG片段.

        SVG組裝器壓縮SVG片段,并存入到數據庫表中,繼續(xù)第1步,直至循環(huán)結束。

        3.4 SSVVGG組裝器模塊實現(xiàn)

        SVG生成模塊用于根據傳入的圖元分塊坐標和其他相關配置信息,訪問Oracle Spatial數據庫,并生成分塊對應的SVG文件,以String方式返回,供調用者進行處理。其程序流程是先新建SVG圖元工廠,接著設置分塊信息,然后設置SXW對象,最后調用生成SVG方法。

        SVG組裝器必須完成如下的工作:

        (1)響應解析請求的內容,生成SVG文件框架,獲得地圖名稱;

        (2)根據地圖名稱,創(chuàng)建格式解析器對象;

        (3)從格式解析器獲取圖層信息;

        (4)從SVG元素庫中,依照圖層信息,取得對應的SVG元素數組,經由元素數組生成SVG片段,通過拼裝,形成SVG文件;

        (5)返回SVG字符串。

        生成SVG:

        使用createSVG函數要求m_mapConfig返回滿足比例尺條件的SXW圖層列表,并循環(huán)SXW圖層列表:

        (1)SXW圖層名稱 sSXWLayer,要求m_mapConfig返回對應的最小比例尺和最大比例尺;

        中國的社會扶貧是具有中國特色的廣義的社會扶貧概念。自20世紀90年代中期開始,社會扶貧一直是中國扶貧的重要組成部分。社會扶貧大體可劃分為三種主要類型:第一種是政府組織和協(xié)調的帶有再分配性質的社會扶貧,包括各級機關事業(yè)單位開展的定點扶貧、東西協(xié)作扶貧以及軍隊武警部隊扶貧;第二種是由企業(yè)為主體基于社會責任、參與企業(yè)與貧困地區(qū)互利的企業(yè)扶貧;第三種是由非營利社會組織和個人為主純粹的扶貧活動。由這三種社會扶貧方式構成的中國社會扶貧,在過去20年通過動員社會和所在組織的資源、組織和實施扶貧項目、開展扶貧創(chuàng)新等形式,為中國減貧作出了重要的貢獻。

        (2)如果滿足條件:最小比例尺

        (3)根據sSXWLayer,查表得到圖層對應的Spatial表名sTable;

        (4)設置條件:sTable,dLeft,dBottom,dTop,dRight,sProvince,sCity,sLayer,dScale,調用存儲過程檢索出Spatial表中的對應記錄,生成結果記錄集;

        (5)根據Spatial表名,調用對應的函數,傳入參數:sSXWLayer;

        (6)要求SVG類返回SVG圖層;

        (7)拼接SVG圖層數組,設置SVG文件的Wing屬性,返回SVG文件。

        最后輸出SVG文件,String類型,格式如下:

        讀取POI:

        使用readPOI函數,輸入SXW圖層名稱,進行如下處理:

        (1)根據m_dScale,計算顯示比例單位數值dUnit(double類型,用來設置本比例尺下1單位的實際大小);

        (2)向m_mapConfig查詢sSXWLayer對應的顯示風格:字體、字體大小、字體顏色;

        (3)根據顯示風格,組裝SVG頭,設置缺省屬性:image大小、字體、字體大小、字體顏色;

        (4)循環(huán)結果記錄集:

        ①讀取POI類型;

        ②查表得到POI類型對應的顯示圖片路徑,設置元素;

        ③讀取POI名稱,設置元素。

        (5)輸出SVG圖層。

        讀取水系、綠地、邊界:

        分別使用 readWater、readGreenLawn、readCounty函數,輸入SXW圖層名稱,并進行如下處理:

        (1)根據m_dScale,計算顯示比例單位數值dUnit;

        (2)向m_mapConfig查詢sSXWLayer對應的顯示風格:填充色、邊線色;

        (3)根據顯示風格,組裝SVG頭,設置缺省屬性:邊線色、填充色、邊寬;

        (4)循環(huán)結果記錄集:

        ①讀取多邊形數據,設置元素、邊寬(=0);

        ②讀取路徑數據,設置元素。

        (5)輸出圖層;

        (6)輸出圖層。

        讀取橋系、道路、鐵路:

        分別使用函數 readBridge、readRoad、readRailway輸入SXW圖層名稱,并進行如下處理:

        (1)根據m_dScale,計算顯示比例單位數值dUnit;

        (2)向m_mapConfig查詢sSXWLayer對應的顯示風格:邊寬、字體、字體顏色、字體大??;

        (3)根據顯示風格,組裝背景SVG頭,設置缺省屬性:邊線色、邊寬;

        (4)根據顯示風格,組裝前景SVG頭,設置缺省屬性:邊線色、虛線填充格式、邊寬;

        (5)根據顯示風格,組裝文字SVG頭,設置缺省屬性:字體、字體顏色、字體大小、路徑跟隨屬性;

        (6)循環(huán)結果記錄集:

        ①讀取路徑數據,設置背景元素;

        ②設置前景元素,如果具備名字,則為元素命名;

        ③如果具備名字,則設置元素,設置為路徑跟隨。

        (7)輸出背景圖層;

        (8)輸出前景圖層;

        (9)輸出文字圖層。

        4 結語

        SVG作為基于XML純文本描述、為互聯(lián)網應用而設計的圖像格式,擁有文件小、圖像質量高、色彩描述精確、視覺表現(xiàn)豐富、可搜索、支持交互這些特點,使得非常適宜成為Web地圖的載體。本文通過研究SVG技術在LBS中的應用,解決了SVG的傳輸數據解析顯示、更新文件保存等問題,在手機上實現(xiàn)了對矢量地圖的顯示功能、平移和縮放功能、定位查詢功能,為移動終端基于SVG的應用提供了一種解決方案,具有較好的借鑒作用。

        猜你喜歡
        解析器圖層設置
        基于多解析器的域名隱私保護機制
        中隊崗位該如何設置
        少先隊活動(2021年4期)2021-07-23 01:46:22
        基于Wireshark的列控中心以太網通信協(xié)議解析器的研究與實現(xiàn)
        如何防御DNS陷阱?常用3種DNS欺騙手法
        一種基于無關DNS的通信隱私保護技術研究
        電子世界(2018年14期)2018-04-15 16:14:25
        巧用混合圖層 制作抽象動感森林
        圖層法在地理區(qū)域圖讀圖中的應用
        地理教學(2015年18期)2016-01-06 12:00:38
        本刊欄目設置說明
        中俄臨床醫(yī)學專業(yè)課程設置的比較與思考
        淺析“遞層優(yōu)化法”在礦井制圖中的應用
        河南科技(2014年6期)2014-04-04 08:00:42
        久久狠色噜噜狠狠狠狠97| 国产无套中出学生姝| 日本不卡一区二区三区在线| 久久99人妖视频国产| 无码国产精品一区二区免费式芒果| 熟女熟妇伦av网站| 国产一区二区三区啪| 久久亚洲精精品中文字幕早川悠里 | 一区二区韩国福利网站| 成年视频网站在线观看777| 色婷婷久久99综合精品jk白丝| 六月婷婷亚洲性色av蜜桃| 午夜免费啪视频| 亚洲精品国产v片在线观看| av手机在线天堂网| 女同恋性吃奶舌吻完整版| 国产成人久久精品一区二区三区| 色吊丝中文字幕| 五月天欧美精品在线观看| 久久青草亚洲AV无码麻豆| 午夜桃色视频在线观看| 国产中文三级全黄| 亚洲另类精品无码专区| 国产午夜精品久久久久九九| 国产精品毛片av毛片一区二区| 国模吧无码一区二区三区 | 久久久亚洲av成人网站| 粗大的内捧猛烈进出在线视频| 在线观看极品裸体淫片av| 91精品国产综合久久久密臀九色 | 91l视频免费在线观看| 伊人久久大香线蕉av色| 男人扒开女人双腿猛进女人机机里| 最新国产精品精品视频| 少妇激情一区二区三区99| 人人鲁人人莫人人爱精品| 亚洲精品国精品久久99热一| 亚洲青青草视频在线播放| 国内嫩模自拍诱惑免费视频| 九色综合九色综合色鬼| 四虎精品视频|