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

?

基于通信線路資源管理系統(tǒng)異構(gòu)數(shù)據(jù)遷移的實(shí)現(xiàn)

2011-05-08 08:43:48源,劉
關(guān)鍵詞:字段坐標(biāo)系大地

王 源,劉 云

(北京交通大學(xué) 通信與信息系統(tǒng)北京市重點(diǎn)實(shí)驗(yàn)室, 北京 100044)

鐵通通信網(wǎng)絡(luò)資源管理系統(tǒng)采用GIS技術(shù),80%以上數(shù)據(jù)具有地理屬性,構(gòu)成通信網(wǎng)絡(luò)資源的線路資源、設(shè)備資源和信息資源等所涉及到的數(shù)據(jù)和地理位置、圖形信息的關(guān)系十分密切。GIS技術(shù)與電信管道資源分布情況結(jié)合起來(lái),在GIS中以圖形化方式直觀體現(xiàn)。老系統(tǒng)不能很好滿足新系統(tǒng)導(dǎo)入數(shù)據(jù)需要,新老系統(tǒng)的結(jié)構(gòu)層次不同,系統(tǒng)屬性字段不同,存在很多一對(duì)多或者多對(duì)一的對(duì)應(yīng)關(guān)系,用存儲(chǔ)過(guò)程實(shí)現(xiàn)起來(lái)比較麻煩。因此需要一種方法既能進(jìn)行批量導(dǎo)入老系統(tǒng)的數(shù)據(jù),又能使異構(gòu)的老系統(tǒng)數(shù)據(jù)匹配新系統(tǒng)的數(shù)據(jù)庫(kù)。

1 數(shù)據(jù)結(jié)構(gòu)

系統(tǒng)主干數(shù)據(jù)結(jié)構(gòu)分4個(gè)類(lèi)型:機(jī)房?jī)?nèi)的局站設(shè)備,機(jī)房外的管道桿路,光纜設(shè)備和電纜設(shè)備。每種類(lèi)型又細(xì)分出多種層次的數(shù)據(jù)類(lèi)型。如圖1。

圖1 新老系統(tǒng)主干數(shù)據(jù)結(jié)構(gòu)

2 Oracle Spatial結(jié)構(gòu)與坐標(biāo)轉(zhuǎn)換

2.1 Oracle Spatial的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)

在ArcGIS中通過(guò)SDE存儲(chǔ)空間數(shù)據(jù)到Oracle存儲(chǔ)方式有:二進(jìn)制Long Raw、ESRI的ST_Geometry以及基于Oracle Spatial的SDO_Geometry等。這里主要用到了Oracle Spatial的存儲(chǔ)方式,通過(guò)這種存儲(chǔ)方式幾何列Shape的字段類(lèi)型為mdsys.sde_geometry類(lèi)型。Oracle Spatial定義的SDO_GEOMETRY類(lèi)型為:

CREATE TYPE sdo_geometry AS OBJECT(

SDO_GTYPE NUMBER,//前面字符串為字段名;后面字符串為字段類(lèi)型

SDO_SRID NUMBER,

SDO_POINT SDO_POINT_TYPE,

SDO_ELEM_INFO

SDO_ELEM_INFO_ARRAY,

SDO_ORDINATES

SDO_ORDINATE_ARRAY);

其中SDO_geometry AS OBJECT,標(biāo)識(shí)該類(lèi)型為對(duì)象類(lèi)型。至于該類(lèi)型中的SDO_POINT_TYPE、SDO_ELEM_INFO_ARRAY、SDO_ORDINATE_ARRAY也是Oracle Spatial自定義的類(lèi)型和SDO_geometry是一樣的。

(1)SDO_GTYPE:表示要存儲(chǔ)的幾何類(lèi)型,如點(diǎn)線面。SDO-GTYPE參數(shù)值,如表1。

表1 SDO_GTYPE參數(shù)值舉例

(2)SDO_SRID:幾何空間參考坐標(biāo)系,類(lèi)型為NUMBER。SDO_SRID定義空間坐標(biāo)參考系統(tǒng)。

(3)SDO_POINT:幾何類(lèi)型就是存儲(chǔ)點(diǎn)坐標(biāo),否則為空。oracle自定義的SDO_POINT_TYPE類(lèi)型。SDO_POINT類(lèi)型的構(gòu)造方法為:sdo_point_type(x,y,z),其中x,y,z類(lèi)型為Double和Int都可。SDO_POINT字段定義為含有X、Y、Z屬性的SDO_POINT_TYPE類(lèi)型。

(4)SDO_ELEM_INFO:定義要如何理解SDO_ORDINATES中的坐標(biāo)串。SDO_ELEM_INFO類(lèi)型的構(gòu)造方法為:sdo_elem_info_array(a,b.c)。每個(gè)SDO_ELEM_INFO屬性單元由SDO_STARTING_OFFSET、SDO_ETYPE和SDO_INTERPRETATION組成。SDO_STARTING_OFFSET:聲明組成當(dāng)前幾何片段的第1個(gè)坐標(biāo)在SDO_ORDINATES數(shù)組中的坐標(biāo)序號(hào)。SDO_ETYPE。結(jié)合SDO_STARTING_OFFSET和SDO_ETYPE表來(lái)理解。SDO_ETYPE值=1,2,1 003,或2 003,說(shuō)明幾何為簡(jiǎn)單的幾何類(lèi)型。SDO_INTERP-RETATION:依賴(lài)SDO_ETYPE是否是組合元素,如果SDO_ETYPE值=1,2,1 003,或2 003,標(biāo)識(shí)決定了元素坐標(biāo)隊(duì)列的翻譯順序。

(5)SDO_ORDINATES:存儲(chǔ)實(shí)際坐標(biāo)的,以X、Y以及不同點(diǎn)之間都是逗號(hào)隔開(kāi)。

2.2 坐標(biāo)變換

系統(tǒng)采用WGS-84坐標(biāo)系。該坐標(biāo)系是目前GPS所采用的坐標(biāo)系統(tǒng),GPS發(fā)布的星歷參數(shù)就基于此坐標(biāo)系統(tǒng)。WGS-84世界大地坐標(biāo)系,它是一個(gè)地心地固坐標(biāo)系統(tǒng)。該坐標(biāo)系的坐標(biāo)原點(diǎn)位于地球的質(zhì)心,Z軸指向BIH1984.0定義的協(xié)議地球極方向,X軸指向BIH1984.0的啟始子午面和赤道的交點(diǎn),Y軸與X軸和Z軸構(gòu)成右手系。采用橢球參數(shù)為:長(zhǎng)半軸a=6 378 137 m,協(xié)議地球扁率f8-14=298.257 223 563。

一種形式就是一種坐標(biāo)系。如空間直角坐標(biāo)系(X,Y,Z)、大地坐標(biāo)系(B,L)和平面直角坐標(biāo)(X,Y)等。老系統(tǒng)中存儲(chǔ)的是坐標(biāo)系統(tǒng)下的空間直角坐標(biāo),新系統(tǒng)需要的是以經(jīng)緯度表示的大地坐標(biāo)系。需要將空間直角坐標(biāo)系轉(zhuǎn)換成大地坐標(biāo)系,得到大地坐標(biāo)(B,L)。根據(jù)公式:

用上式采用迭代法求出大地坐標(biāo)(B,L)。L為大地精度,B為大地緯度,N=a/(1-e2sin2B)1/2,N為該店的卯酉圈曲率半徑;e2=(a2-b2)/a2,a,e分別為該大地坐標(biāo)系對(duì)應(yīng)橢球的長(zhǎng)半軸和第1偏心率。

3 數(shù)據(jù)遷移程序設(shè)計(jì)

3.1 數(shù)據(jù)遷移流程

本程序使用Java開(kāi)發(fā),運(yùn)行本程序要啟動(dòng)與源數(shù)據(jù)庫(kù)和目的數(shù)據(jù)庫(kù)的連接。獲得源數(shù)據(jù)表格和字段、目的數(shù)據(jù)表格和字段及所需條件進(jìn)行下一步。通過(guò)數(shù)據(jù)處理類(lèi),利用剛獲得的源數(shù)據(jù)表格和字段及查詢(xún)條件,從源表中查詢(xún)出需要導(dǎo)入的數(shù)據(jù)放入一個(gè)對(duì)象中。之后,把該對(duì)象內(nèi)的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)化或者特殊處理,根據(jù)已獲得的目的數(shù)據(jù)表格和字段,生成可執(zhí)行的sql語(yǔ)句,輸出到目的數(shù)據(jù)庫(kù)中,并生成一個(gè)輸出文檔。程序流程如圖2。需要導(dǎo)入的數(shù)據(jù)主要分為設(shè)備數(shù)據(jù)信息表和設(shè)備地理信息表。

圖2 程序流程圖

3.2 設(shè)備數(shù)據(jù)信息程序

Java是一種面向?qū)ο蟮恼Z(yǔ)言。面向待處理的表,設(shè)計(jì)一個(gè)容器的接口程序。程序定義了6種類(lèi)型接口,如表2。分析待處理的表之間的關(guān)系后,就可以新建對(duì)應(yīng)的Java類(lèi),繼承該接口,在新的類(lèi)中放入這6種對(duì)象就可以被別的類(lèi)調(diào)用。隨著待處理的表格增多,該方式把復(fù)雜的程序轉(zhuǎn)化為一種簡(jiǎn)易的模板而不用反復(fù)修改程序,在模板中添加有用信息便可以達(dá)到目的,方便快捷。這種通過(guò)繼承的方法實(shí)現(xiàn)數(shù)據(jù)處理,靈活性、可移植性比較強(qiáng)。另外,經(jīng)常會(huì)用到多級(jí)嵌套的sql語(yǔ)句。

表2 接口程序設(shè)計(jì)

3.3 設(shè)備地理信息程序設(shè)計(jì)思想

導(dǎo)入地理設(shè)備信息表的難點(diǎn)在于讀出的地理信息需要經(jīng)過(guò)坐標(biāo)轉(zhuǎn)化和SDO_GEOMETRY的使用。根據(jù)2.1節(jié)提到的Oracle Spatial的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),不同的地理信息需要按照相應(yīng)的格式導(dǎo)入數(shù)據(jù)庫(kù)中。

MDSYS.SDO_GEOMETRY(2001,8307,MDSYS.SDO_POINT_TYPE(x1,y1,null),null,null)數(shù)據(jù)結(jié)構(gòu)表示手孔表的地理信息是單點(diǎn)Point類(lèi)型,WGS-84坐標(biāo)系,點(diǎn)坐標(biāo)是x1,y1。

MDSYS.SDO_GEOMETRY(2002,8307,null,MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1),MDSYS.SDO_ORDINATE_ARRAY(x1,y1,x2,y2))表示管路表的地理信息的地理對(duì)象包含直線,且第1個(gè)頂點(diǎn)在SDO_ORDINATES_ARRAY開(kāi)始位置是x1,元素類(lèi)型是2簡(jiǎn)單的幾何圖形,頂點(diǎn)連接方式是通過(guò)直線連接,x1,y1,x2,y2是該管路的實(shí)際坐標(biāo)。

數(shù)據(jù)處理需要對(duì)原表中的數(shù)據(jù)進(jìn)行處理,原表的id比較短,經(jīng)過(guò)SYS_GUID處理,即使數(shù)據(jù)量較大時(shí),SYS_GUID也會(huì)保證它創(chuàng)建的標(biāo)識(shí)符在每個(gè)數(shù)據(jù)庫(kù)里都是唯一的。還有一些表所屬地區(qū)有所變更,要在特殊處理時(shí)進(jìn)行。

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

基于通信線路的WebGIS工作原理,設(shè)計(jì)了導(dǎo)入導(dǎo)出數(shù)據(jù)程序,實(shí)現(xiàn)了把不同結(jié)構(gòu)的數(shù)據(jù)庫(kù)匹配導(dǎo)入到新系統(tǒng)數(shù)據(jù)庫(kù)中。處理掉老系統(tǒng)中冗余的空值、廢值,導(dǎo)入效率達(dá)到90%以上。該程序面向?qū)ο笤O(shè)計(jì),簡(jiǎn)單方便,可移植性強(qiáng),可修改性強(qiáng)。利用該程序,提高導(dǎo)入數(shù)據(jù)的效率,避免軟件導(dǎo)入數(shù)據(jù)可修改性差的弊端,真正匹配系統(tǒng)數(shù)據(jù)導(dǎo)入的需要,是Java面向?qū)ο蟪绦蛟O(shè)計(jì)的范例。

[1]Kevin Loney, Bob Bryla. Oracle 10g DBA手冊(cè)[Z]. 北京:清華大學(xué)出版社,2006.

[2]Gay S.Horstmann, Gray Cornell. java核心技術(shù)卷II:高級(jí)特性[M]. 北京:機(jī)械工業(yè)出版社. 2008.6.

[3]郭杰華,鮑遠(yuǎn)律,胡玉鎖,等. 基于Internet的地理信息系統(tǒng)(WebGIS)的研究和開(kāi)發(fā)[J]. 微機(jī)發(fā)展,1999,9(1):61-63.

[4]朱志偉,劉書(shū)雷,李 軍.一種基于Oracle Spatial的WebGIS實(shí)現(xiàn)方法[J]. 計(jì)算機(jī)工程,2004,30(2):98-99.

[5]柳光魁,王振祿,等. BJ-54坐標(biāo)系與WGS-84坐標(biāo)系轉(zhuǎn)換方法及精度分析[J]. 測(cè)繪與空間地理信息,2007,6(30).

猜你喜歡
字段坐標(biāo)系大地
圖書(shū)館中文圖書(shū)編目外包數(shù)據(jù)質(zhì)量控制分析
大地之歌
大地之燈
文苑(2018年22期)2018-11-19 02:54:26
大地黃好
文苑(2018年18期)2018-11-08 11:12:32
解密坐標(biāo)系中的平移變換
坐標(biāo)系背后的故事
基于重心坐標(biāo)系的平面幾何證明的探討
裂開(kāi)的大地
CNMARC304字段和314字段責(zé)任附注方式解析
無(wú)正題名文獻(xiàn)著錄方法評(píng)述
蛟河市| 荔波县| 海宁市| 武平县| 井陉县| 大荔县| 荆门市| 江城| 凌云县| 襄垣县| 合江县| 鹿泉市| 额尔古纳市| 浑源县| 龙海市| 平邑县| 绥德县| 盐池县| 吴忠市| 大方县| 巴南区| 贺州市| 绥宁县| 广昌县| 山东| 巫溪县| 高密市| 和田县| 云霄县| 尼木县| 抚顺县| 延津县| 皮山县| 长海县| 弥渡县| 卫辉市| 安顺市| 阿巴嘎旗| 大石桥市| 静安区| 烟台市|