




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目目 錄錄 第一章第一章 緒論緒論.1 1 1.1 研究背景 .1 1.2 研究目的與意義.1 第二章第二章 地理信息系統(tǒng)(地理信息系統(tǒng)(gisgis)技術(shù))技術(shù).3 3 2.1 gis 概念及組成 .3 2.2 gis 在車輛監(jiān)控系統(tǒng)中的作用 .4 第三章第三章 系統(tǒng)框架的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)框架的設(shè)計(jì)與實(shí)現(xiàn).5 5 3.1 系統(tǒng)設(shè)計(jì)與構(gòu)想 .5 3.2 系統(tǒng)開發(fā)環(huán)境.6 3.3 數(shù)據(jù)庫 .6 3.3.1 三層架構(gòu).6 3.3.2 數(shù)據(jù)庫設(shè)計(jì).7 3.3.3 數(shù)據(jù)庫選擇.8 3.3.4 數(shù)據(jù)表設(shè)計(jì).9 3.3.5 信息管理與查詢功能模塊.10 3.4 gis 功能模塊 .14 3.4.1 軌跡查詢
2、顯示.14 3.4.2 實(shí)體對(duì)象屬性信息查詢.18 第四章第四章 結(jié)論結(jié)論.2020 附錄附錄 a a .2121 附錄附錄 b b .2727 參考文獻(xiàn)參考文獻(xiàn).3131 摘摘 要要 隨著越來越多的交通事故的發(fā)生,加強(qiáng)交通監(jiān)管將顯得尤為重要。根據(jù)車輛的行車信息進(jìn)行車 輛軌跡查詢將在事故后續(xù)處理中發(fā)揮重要作用。為此采用 arcgis engine 以及 sql server 數(shù)據(jù)庫 技術(shù),開發(fā)出一個(gè)基于 vs2008 平臺(tái)的公交車輛軌跡查詢功能模塊。通過三層架構(gòu)架構(gòu)思想進(jìn)行用戶 與數(shù)據(jù)庫之間各種數(shù)據(jù)信息的交融,實(shí)現(xiàn)對(duì)公司運(yùn)營狀況的妥善管理和不同時(shí)間段的公交車輛歷史 軌跡的查詢。這些功能除了在交
3、通監(jiān)管中的應(yīng)用,它還可以在森林防火、運(yùn)鈔車監(jiān)護(hù)、犯罪嫌疑車 輛監(jiān)控也有著很好的實(shí)用性。 關(guān)鍵字:arcgis engine;sql server;軌跡查詢 abstract with the growing number of traffic accidents, its essential to reinforce the traffic supervision .realizing vehicle track playback on the basis of the driving information will play an important role in the further
4、 treatment of an accident. for it to use the arcgis engine and sql server database technology to developed a query function model of public transport vehicles track based on vs2008 platform . through the ideas of three-tier architecture ,which blends a variety of data information between the user an
5、d the database to achieve the proper management of the operations of the company and query the historical trajectory of public transport vehicles at different periods of time . besides the supervision of transport, it was also useful in the forest fire prevention, bank vehicles guardianship, crimina
6、l vehicle monitoring. keywords: arcgis engine; sql server; trajectory query 第一章第一章 緒論緒論 1.1 研究背景 在第十一屆全國人民代表大會(huì)第四次會(huì)議上提出的十二五規(guī)劃中,表示將繼續(xù)完善產(chǎn)業(yè)發(fā)展政 策,爭(zhēng)取把地理信息產(chǎn)業(yè)納入國家戰(zhàn)略性新興產(chǎn)業(yè)規(guī)劃。作為地理信息產(chǎn)業(yè)的重要支持,地理信息 系統(tǒng)(gis ) 就將作為一個(gè)重要的技術(shù)手段推動(dòng)地理信息產(chǎn)業(yè)的蓬勃發(fā)展,更好更快的實(shí)現(xiàn)十二五規(guī) 劃。 地理信息系統(tǒng)是一種專門處理地理空間數(shù)據(jù)的計(jì)算機(jī)系統(tǒng)與技術(shù),這種技術(shù)使地圖這種獨(dú)特的 視覺化效果和地理分析功能集成在一起,為人們提供決
7、策支持手段。地理信息系統(tǒng)(gis) 具有空間 數(shù)據(jù)結(jié)構(gòu)和有效的數(shù)據(jù)集成、獨(dú)特的地理空間分析能力、快速的空間定位搜索和復(fù)雜的空間查詢功 能、強(qiáng)大的圖形生成的可視化表達(dá)手段以及地理過程的煙花模擬和空間決策支持等功能。引用 esri 公司的一句宣傳語:沒有你做不到的,只有你想不到的,地理信息系統(tǒng)也具有如此的魅力。 近些年來,在科學(xué)發(fā)展觀理論的指導(dǎo)下,人們的生活水平和科學(xué)技術(shù)發(fā)展的程度達(dá)到了一個(gè)新 的高度,越來越多的人們擁有了自己的汽車。但隨之而來的交通事故的頻發(fā),為了處理好這些實(shí)際 問題,智能導(dǎo)航系統(tǒng)將會(huì)應(yīng)用的越來越普遍。車輛軌跡查詢與回放系統(tǒng)作為智能導(dǎo)航重要的子系統(tǒng), 它能向人們展示被監(jiān)督車輛在具
8、體時(shí)間內(nèi)的具體行程以及行車信息。因此,車輛軌跡查詢回放系統(tǒng) 在森林防火、運(yùn)鈔車監(jiān)護(hù)、犯罪嫌疑車輛監(jiān)控、交警巡查等有著非常重要的應(yīng)用。對(duì)于這一系統(tǒng)的 成功實(shí)現(xiàn),有著很強(qiáng)的實(shí)用性,并能拓展地理信息系統(tǒng)的應(yīng)用方向。 1.2 研究目的與意義 目前,隨著經(jīng)濟(jì)的發(fā)展和人民生活水平的提高,私家車也在逐漸增多。但是伴隨著私家車的無 限量的擴(kuò)張,我們的交通就會(huì)越來越擁擠從而導(dǎo)致人們無法通行,路上耗費(fèi)的時(shí)間讓我們?cè)絹碓綗o 法承受。此外,我們身邊的環(huán)境問題逐漸成為人們心中的一大困擾,這樣結(jié)果就是空氣質(zhì)量直線型 下降,我們?cè)贌o法呼吸到新鮮空氣從而又直接導(dǎo)致人們身體的各種疾病的產(chǎn)生。除此之外,隨著國 際問題的不穩(wěn)定性,
9、油的價(jià)格也讓人們頗不敢想象,猶如幾句俗語,買的起車,開不起車啊。基于 這幾點(diǎn)來說,公交車出行是人們必須的一項(xiàng)選擇了。公交車早就成為城市交通運(yùn)輸體系的重要組成 部分。目前,大多數(shù)公交車都可以提供 18 小時(shí)服務(wù)。雖然公交車有它的方便之處,但是也體現(xiàn)出 了很多不便,如:上班的時(shí)候處于交通的高峰期,各種車輛相互擁擠,以至于導(dǎo)致公交車的到站時(shí) 間加長等等問題。隨著這些問題的出現(xiàn),越來越多的交通事故也是接連不斷,因此加強(qiáng)交通監(jiān)管將 顯得尤為重要。根據(jù)車輛的行車信息進(jìn)行車輛軌跡查詢,可以實(shí)現(xiàn)不同時(shí)間段的車輛軌跡查詢以及 所行使車輛信息,這些功能將在事故后續(xù)處理中發(fā)揮極其重要作用。 針對(duì)以上所描述,因此采用
10、二次開發(fā)語言 c#,利用 arcgis engine 以及 sql server 數(shù)據(jù)庫技術(shù), 開發(fā)出一個(gè)基于 visual studio 2008 平臺(tái)的功能模塊,進(jìn)行公交車輛歷史軌跡的查詢系統(tǒng)。該系統(tǒng)采 用 arcgis engine 開發(fā)技術(shù)、以 arcgis 9.3 集成平臺(tái),實(shí)現(xiàn)車輛歷史軌跡查詢。本系統(tǒng)除了在交通 監(jiān)管中的應(yīng)用,它還可以在森林防火、運(yùn)鈔車監(jiān)護(hù)、犯罪嫌疑車輛監(jiān)控也有著很好的實(shí)用性。 第二章第二章 地理信息系統(tǒng)(地理信息系統(tǒng)(gisgis)技術(shù)技術(shù) 2.1 gis 概念及組成 gis 是在計(jì)算機(jī)軟硬件支持下,以采集、存儲(chǔ)、管理、處理、檢索、分析和顯示空間物體的地 理分布數(shù)
11、據(jù)及與之相關(guān)的屬性,并以回答用戶問題或提供服務(wù)等為主要任務(wù)的技術(shù)系統(tǒng)。 數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫 硬件、系統(tǒng)軟件 應(yīng)用人員和組織機(jī)構(gòu) (a) 地理信息系統(tǒng) 數(shù) 據(jù) 輸 入 子 系 統(tǒng) 數(shù) 據(jù) 存 儲(chǔ) 與 檢 索 子 系 統(tǒng) 數(shù) 據(jù) 處 理 與 分 析 子 系 統(tǒng) 輸 出 子 系 統(tǒng) (b) 圖 2-1 地理信息系統(tǒng)的組成 從系統(tǒng)論和應(yīng)用的角度出發(fā),地理信息系統(tǒng)被分為四個(gè)子系統(tǒng)(圖 (a)),即計(jì)算機(jī)硬件和系 統(tǒng)軟件,數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫管理系統(tǒng),應(yīng)用人員和組織機(jī)構(gòu)。 (1)計(jì)算機(jī)硬件和系統(tǒng)軟件:這是開發(fā)應(yīng)用地理信息系統(tǒng)的基礎(chǔ)。其中,硬件主要包括計(jì)算機(jī)、 打印機(jī)、繪圖儀、數(shù)字化儀、掃描儀;系統(tǒng)軟件主
12、要指操作系統(tǒng)。 (2)數(shù)據(jù)庫系統(tǒng):系統(tǒng)的功能是完成對(duì)數(shù)據(jù)的存儲(chǔ),它又包括幾何(圖形)數(shù)據(jù)和屬性數(shù)據(jù)庫。 幾何和屬性數(shù)據(jù)庫也可以合二為一,即屬性數(shù)據(jù)存在于幾何數(shù)據(jù)中。 (3)數(shù)據(jù)庫管理系統(tǒng):這是地理信息系統(tǒng)的核心。通過數(shù)據(jù)庫管理系統(tǒng),可以完成對(duì)地理數(shù)據(jù) 的輸入、處理、管理、分析和輸出。 (4)應(yīng)用人員和組織機(jī)構(gòu):專業(yè)人員,特別是那些復(fù)合人才(既懂專業(yè)又熟悉地理信息系統(tǒng)) 是地理信息系統(tǒng)成功應(yīng)用的關(guān)鍵,而強(qiáng)有力的組織是系統(tǒng)運(yùn)行的保障。 從數(shù)據(jù)處理的角度出發(fā),地理信息系統(tǒng)又被分為數(shù)據(jù)輸入子系統(tǒng),數(shù)據(jù)存儲(chǔ)與檢索子系統(tǒng),數(shù) 據(jù)分析和處理子系統(tǒng),數(shù)據(jù)輸出子系統(tǒng)(圖 (b)。 (1)數(shù)據(jù)輸入子系統(tǒng):負(fù)責(zé)數(shù)據(jù)
13、的采集、預(yù)處理和數(shù)據(jù)的轉(zhuǎn)換。 (2)數(shù)據(jù)存儲(chǔ)與檢索子系統(tǒng):負(fù)責(zé)組織和管理數(shù)據(jù)庫中的數(shù)據(jù),以便于數(shù)據(jù)查詢、更新與編輯 處理。 (3)數(shù)據(jù)分析與處理子系統(tǒng):負(fù)責(zé)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行計(jì)算和分析、處理。如面積計(jì)算,儲(chǔ) 量計(jì)算,體積計(jì)算,緩沖區(qū)分析,空間疊置分析等。 (4)數(shù)據(jù)輸出子系統(tǒng):以表格、圖形、圖象方式將數(shù)據(jù)庫中的內(nèi)容和計(jì)算分析結(jié)果輸出到顯示 器、繪圖紙或透明膠片上。 2.2 gis 在車輛監(jiān)控系統(tǒng)中的作用 gis 能夠把實(shí)時(shí)接收的多個(gè)車輛的位置信息顯示在電子地圖上,同時(shí)實(shí)現(xiàn)所有與 gps 相關(guān)的 gis 功能。包括:多種不同比例尺電子地圖的管理與顯示;地圖窗口中以不同比例尺直觀地查看指 定車輛
14、的位置及查詢相關(guān)的信息;多窗口同時(shí)監(jiān)控,并可打印當(dāng)前窗口內(nèi)容;監(jiān)控車輛位置、狀態(tài)、 運(yùn)動(dòng)軌跡的實(shí)時(shí)顯示;地圖上任意位置的信息動(dòng)態(tài)提示;地圖的快速顯示、縮放和查詢。 監(jiān)控車輛的遠(yuǎn)程控制,包括強(qiáng)制發(fā)回位置、車輛控制器控制(如:開關(guān)門、防盜等) 詢問、 通知信息發(fā)送等,調(diào)度指令可在車載微型打印機(jī)上打印出來,或顯示在車載終端上。 基于規(guī)則的車輛預(yù)警處理系統(tǒng)。用戶能夠?qū)ΡO(jiān)控車輛設(shè)置各類預(yù)警條件(標(biāo)記、路線、區(qū)域、 時(shí)間等),一旦發(fā)現(xiàn)接收的監(jiān)控車輛信息滿足預(yù)警條件,立刻發(fā)出報(bào)警信號(hào)。用戶可根據(jù)需要,對(duì) 車輛實(shí)施遠(yuǎn)程熄火,鎖門等方式來控制車輛的狀態(tài)。 車輛數(shù)據(jù)的各類查詢和統(tǒng)計(jì)。 車輛信息的更新和修改。 車輛
15、歷史運(yùn)行軌跡的查詢與回放。 第三章第三章 系統(tǒng)框架的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)框架的設(shè)計(jì)與實(shí)現(xiàn) 3.1 系統(tǒng)設(shè)計(jì)與構(gòu)想 本系統(tǒng)可以以不同的車輛和不同的行駛時(shí)間段為條件進(jìn)行相應(yīng)車輛的歷史軌跡查詢。公交車車 輛軌跡查詢是利用車載全球定位系統(tǒng)終端接收機(jī)采集車輛的實(shí)時(shí)數(shù)據(jù),在地理信息系統(tǒng)(gis)平臺(tái) 上按多時(shí)段進(jìn)行軌跡查詢時(shí)效模擬,它結(jié)合了 gps(global positioning system)導(dǎo)航技術(shù)、 gis(geographical information system)電子地圖及計(jì)算機(jī)技術(shù),實(shí)現(xiàn)了從數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、 數(shù)據(jù)管理,最后到實(shí)際應(yīng)用。由于 gps 終端接收機(jī)的相對(duì)獨(dú)立性和數(shù)據(jù)的低存儲(chǔ)量
16、,其接收數(shù)據(jù)的 可視性和可比較性需要借助于其他的可視化操作平臺(tái)。為此,該系統(tǒng)采用 arcgis engine 以及 sql server 數(shù)據(jù)庫技術(shù),以 arcgis 9.3 集成平臺(tái),實(shí)現(xiàn)模擬車輛歷史軌跡查詢。 本系統(tǒng)的構(gòu)想是由數(shù)據(jù)庫操作和地圖顯示操作兩部分構(gòu)成,大體設(shè)計(jì)的流程如圖 3-1 所示: 公公交交車車輛輛軌軌跡跡查查詢?cè)?信信息息管管理理功功能能模模塊塊 信信息息查查詢?cè)児δ苣苣DK塊 g gi is s功功能能模模塊塊s sq ql l數(shù)數(shù)據(jù)據(jù)庫庫 三三層層架架構(gòu)構(gòu) 軌軌跡跡顯顯示示屬屬性性信信息息顯顯示示 人人員員管管理理 車車輛輛管管理理 查查 詢?cè)?添添 加加 修修 改改
17、 刪刪 除除 所所 有有 人人 員員 根根 據(jù)據(jù) 人人 員員 i id d 查查 詢?cè)?添添 加加 修修 改改 刪刪 除除 所所 有有 車車 輛輛 根根 據(jù)據(jù) 車車 輛輛 i id d 線線路路信信息息站站點(diǎn)點(diǎn)信信息息 g gp ps s信信息息 根根 據(jù)據(jù) 線線 路路 i id d 根根 據(jù)據(jù) 站站 點(diǎn)點(diǎn) i id d 根根 據(jù)據(jù) 線線 路路 i id d 所所 有有 線線 路路 所所 有有 站站 點(diǎn)點(diǎn) 所所 有有 信信 息息 g gp ps s數(shù)數(shù) 據(jù)據(jù)獲獲取取 根根 據(jù)據(jù) 車車 輛輛 i id d 輸輸入入用用戶戶名名 輸輸入入密密碼碼 t tr ru ue e f fa al ls s
18、e e 圖 3-1 系統(tǒng)框架設(shè)計(jì)流程圖 整個(gè)系統(tǒng)的功能模塊大致可由三個(gè)部分組成:信息管理功能模塊、信息查詢功能模塊、gis 功 能模塊。 框架整體設(shè)計(jì)效果如圖 3-2 所示: 圖 3-2 系統(tǒng)框架設(shè)計(jì)效果圖 3.2 系統(tǒng)開發(fā)環(huán)境 本系統(tǒng)主要做的方面是基于 arcgis 公交車輛軌跡查詢和各種信息的管理與查詢,因此所引用 的開發(fā)環(huán)境如下所示: 系統(tǒng)開發(fā)平臺(tái):visual studio 2008 系統(tǒng)開發(fā)語言:c#、xml 數(shù)據(jù)庫:sql server 2005 二次開發(fā)引擎:arcgis engine 3.3 數(shù)據(jù)庫 數(shù)據(jù)庫操作部分由信息管理功能模塊和信息查詢功能模塊組成,這兩個(gè)功能模塊的工作主
19、要是 采用三層架構(gòu)的思想實(shí)現(xiàn)。通過三層架構(gòu)這個(gè)思想對(duì)數(shù)據(jù)庫和模塊之間進(jìn)行合理地信息添加、更改、 刪除和查詢等操作。 3.3.1 三層架構(gòu) “三層架構(gòu)”中的“三層”是指:表示層(user interface layer-ui) 、業(yè)務(wù)邏輯 (bussinesslogic layer-bll)、數(shù)據(jù)訪問層(data access layer-dal)。三層架構(gòu)的結(jié)構(gòu)可以用圖 3-3 表示: 表示層 業(yè)務(wù)邏輯層 數(shù)據(jù)訪問層 提供交互式界面 對(duì)數(shù)據(jù)的添加、更 新、刪除和查詢 負(fù)責(zé)數(shù)據(jù)的傳 遞和處理 用戶請(qǐng)求 用戶請(qǐng)求 響應(yīng)數(shù)據(jù) 響應(yīng)數(shù)據(jù) 圖 3-3 三層架構(gòu)之間的關(guān)系 表示層(ui):位于系統(tǒng)的最外層
20、(最上層),離用戶最近。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù) 據(jù),只提供軟件系統(tǒng)與用戶交互的界面。其職責(zé)是只接收用戶輸入的數(shù)據(jù),并將業(yè)務(wù)邏輯層處理的 數(shù)據(jù)結(jié)果顯示給用戶。 業(yè)務(wù)邏輯層(bll):位于表示層和數(shù)據(jù)訪問層之間,專門負(fù)責(zé)處理用戶輸入的信息,或者是將 這些信息發(fā)送給數(shù)據(jù)訪問層進(jìn)行保存,或者是通過數(shù)據(jù)訪問層從數(shù)據(jù)庫讀出這些數(shù)據(jù)。該層可以包 括一些對(duì)“商業(yè)邏輯”描述的代碼在里面。業(yè)務(wù)邏輯層是表示層和數(shù)據(jù)訪問層之間的橋梁,負(fù)責(zé)數(shù) 據(jù)處理和傳遞。此層只負(fù)責(zé)對(duì)數(shù)據(jù)的業(yè)務(wù)處理,不需要在業(yè)務(wù)邏輯層里寫訪問數(shù)據(jù)庫的 sql 語句。 業(yè)務(wù)邏輯層可以驗(yàn)證用戶輸入的數(shù)據(jù)、緩存從數(shù)據(jù)庫中讀取的數(shù)據(jù)等等。 數(shù)據(jù)訪問層
21、(dal):僅實(shí)現(xiàn)對(duì)數(shù)據(jù)的保存和讀取操作。數(shù)據(jù)訪問包括訪問數(shù)據(jù)庫系統(tǒng)、二進(jìn)制 文件、文本文檔或是 xml 文檔。在此層最好不要出現(xiàn)任何與業(yè)務(wù)邏輯和界面設(shè)計(jì)相關(guān)的代碼。也就 是說,要保證數(shù)據(jù)訪問層中方法的功能僅負(fù)責(zé)存儲(chǔ)或讀取數(shù)據(jù)就可以了。 使用三層架構(gòu)的優(yōu)點(diǎn):可以充分把軟件開發(fā)任務(wù)分解,有利于團(tuán)隊(duì)合作開發(fā)。例如,表示層的 開發(fā)人員只需關(guān)注用戶界面的設(shè)計(jì)和數(shù)據(jù)的輸入和顯示,他們不需要了解數(shù)據(jù)的存取和處理邏輯; 業(yè)務(wù)邏輯層的開發(fā)人員則關(guān)注系統(tǒng)的數(shù)據(jù)處理邏輯,而不需要關(guān)心界面的設(shè)計(jì)、數(shù)據(jù)的存取和顯示; 而數(shù)據(jù)訪問層的開發(fā)人員只需關(guān)注數(shù)據(jù)的存取操作,無需了解界面設(shè)計(jì)、數(shù)據(jù)的輸入、顯示和業(yè)務(wù) 處理。這樣分
22、層團(tuán)隊(duì)開發(fā)更利于控制軟件質(zhì)量,充分發(fā)揮版本控制和單元測(cè)試。三層構(gòu)架的軟件適 應(yīng)性很強(qiáng),一旦有什么需求變動(dòng)可以很快的進(jìn)行代碼更改,因而代碼的復(fù)用性很高。其中一層的代碼 改變不影響其他層。例如,用戶界面的改變并不影響業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,甚至訪問不同數(shù)據(jù) 庫管理系統(tǒng)也只改變數(shù)據(jù)訪問層的代碼而不會(huì)影響業(yè)務(wù)邏輯層和表示層的代碼。 3.3.2 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)是把現(xiàn)實(shí)世界中一定范圍內(nèi)存在的應(yīng)用處理和數(shù)據(jù)抽象成一個(gè)數(shù)據(jù)庫的具體結(jié)構(gòu)的 過程。具體地講,就是對(duì)于一個(gè)給定的應(yīng)用環(huán)境,提供一個(gè)確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè) 計(jì),以及一個(gè)確定數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立能反映現(xiàn)實(shí)世界信息與信
23、息間的聯(lián) 系、滿足用戶要求、能被某個(gè)數(shù)據(jù)庫管理系統(tǒng)(dbms)所接受、能實(shí)現(xiàn)系統(tǒng)目標(biāo)并有效存取數(shù)據(jù)的 數(shù)據(jù)庫。數(shù)據(jù)庫設(shè)計(jì)是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分,其質(zhì)量好壞直接影響到系統(tǒng)各個(gè)處理 過程的性質(zhì)和質(zhì)量。好的數(shù)據(jù)庫設(shè)計(jì)是有效、準(zhǔn)確操作數(shù)據(jù)庫的基石。 gis 數(shù)據(jù)庫設(shè)計(jì)取決于目標(biāo)、用戶要求、功能和如何處理數(shù)據(jù)。它通常包括:制定整個(gè)數(shù)據(jù)庫 的使用目的和目標(biāo),分析和評(píng)價(jià)各種設(shè)計(jì)方案和雛形試驗(yàn)。 gis 數(shù)據(jù)庫的設(shè)計(jì)要有更多的考慮,因?yàn)榈乩頂?shù)據(jù)有矢量和柵格之分,各種數(shù)據(jù)又同時(shí)具有空 間和屬性特征,有的還有時(shí)間上的信息特征,各種特征的信息,可能要用不同的結(jié)構(gòu)來表達(dá)。各類 數(shù)據(jù)庫的開發(fā)可能是使用不同的
24、 gis 軟件來完成的,這樣數(shù)據(jù)的格式也各不相同,一個(gè)數(shù)據(jù)庫可能 要求容納各種各樣的數(shù)據(jù)類型和格式。如何有機(jī)地將這些考慮結(jié)合起來,也是一個(gè) gis 數(shù)據(jù)庫設(shè)計(jì) 成功與否的關(guān)鍵因素之一。 gis 數(shù)據(jù)庫的設(shè)計(jì)應(yīng)該既考慮數(shù)據(jù)的特征,又兼顧應(yīng)用目的。這樣可以使設(shè)計(jì)出的數(shù)據(jù)庫既充 分利用技術(shù)上的優(yōu)勢(shì),又兼顧用戶的應(yīng)用目的。 3.3.3 數(shù)據(jù)庫選擇 sql server 2005 是一個(gè)全面的數(shù)據(jù)庫平臺(tái),使用集成的商業(yè)智能 (bi) 工具提供了企業(yè)級(jí)的 數(shù)據(jù)管理。sql server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能, 使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)
25、據(jù)應(yīng)用程序。 與 microsoft visual studio、microsoft office system 以及新的開發(fā)工具包(包括 business intelligence development studio)的緊密集成使 sql server 2005 與眾不同。無論 是開發(fā)人員、數(shù)據(jù)庫管理員、信息工作者還是決策者,sql server 2005 都可以為您提供創(chuàng)新的解 決方案,幫助您從數(shù)據(jù)中更多地獲益。 sql server2005 就是關(guān)系數(shù)據(jù)庫管理工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲(chǔ)和檢索。 sql 的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種
26、類似于 excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,sql 允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫中的 信息。sql 也提供了數(shù)據(jù)存儲(chǔ)庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)文件置于網(wǎng)絡(luò)文件服務(wù)器,與其 他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。sql 是一種關(guān)系數(shù)據(jù)庫管理工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫 之一。如上所述,sql 作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同時(shí)擁有桌面數(shù) 據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強(qiáng)大功能。 因此,選擇 sql server 2005 數(shù)據(jù)庫作為此系統(tǒng)的數(shù)據(jù)庫不失為一個(gè)很好的選擇。 3.3.4 數(shù)據(jù)表設(shè)計(jì) 在信息管理功能模塊和信息查詢功能模塊主要設(shè)計(jì)了五個(gè)數(shù)據(jù)表,分
27、別為人員(renyuan)、 車輛(cl)、線路(allxll)、站點(diǎn)和 gps 數(shù)據(jù)表。 1、人員信息表(renyuan) 人員信息表的設(shè)計(jì)主要是存儲(chǔ)公司所有人員資料信息的一個(gè)表,公司的人員信息大致可以認(rèn)為 由以下幾類組成,分別是人員 id、所歸屬的線路 id、所在的車隊(duì) id、人員編號(hào)、人員姓名、姓名 簡(jiǎn)拼、性別、身份證號(hào)、職位、司機(jī)駕駛號(hào)、聯(lián)系地址和聯(lián)系電話等,如圖 3-4 所示: 圖 3-4 人員信息表 2、車輛信息表(cl) 車輛信息表的設(shè)計(jì)主要是對(duì)車輛資料信息的存儲(chǔ),包括車輛 id、所行使的路線、行駛的路線名 稱、所歸屬的車隊(duì) id、車輛編號(hào)、車牌號(hào)和車載 sim 卡號(hào)等,如圖 3
28、-5 所示: 圖 3-5 車輛信息表 3、線路信息表(allxl) 線路信息表的設(shè)計(jì)主要是針對(duì)所有線路信息資料進(jìn)行相應(yīng)的記錄,如線路 id、線路名稱、線路 編號(hào)、車隊(duì)、始發(fā)站、末發(fā)站、始發(fā)站首班時(shí)間、首發(fā)站末班時(shí)間、末發(fā)站首班時(shí)間和末發(fā)站末班 時(shí)間等,如圖 3-6 所示: 圖 3-6 路線信息表 4、站點(diǎn)信息(zd) 站點(diǎn)信息表的設(shè)計(jì)主要就是記錄某條線路上的所有站點(diǎn)的信息,如站點(diǎn) id、站點(diǎn)名稱、站點(diǎn)號(hào)、 站點(diǎn)坐標(biāo)和所歸屬的線路 id 等等,如圖 3-7 所示: 圖 3-7 站點(diǎn)點(diǎn)位信息表 5、gps 數(shù)據(jù)表(gps) gps 數(shù)據(jù)表的設(shè)計(jì)主要就是用來通過車輛的信息記錄該車輛實(shí)時(shí)位置信息和獲取
29、該位置信息的 時(shí)間等等。如記錄 id、記錄時(shí)間、經(jīng)緯度坐標(biāo)、gps 獲取時(shí)間(gpstime)和對(duì)應(yīng)車輛的車載 sim 卡 號(hào)等信息。 通過以上信息表的設(shè)計(jì)可以合理地記錄各種信息以便能夠?yàn)橐院蟮姆?wù)提供更多的詳細(xì)信息, 同時(shí)也能夠?yàn)楣镜倪\(yùn)營進(jìn)行妥善管理。 3.3.5 信息管理與查詢功能模塊 信息管理與查詢功能模塊的基本功能就是對(duì)數(shù)據(jù)庫的操作:添加、修改、刪除和查詢等。 信息管理功能模塊主要是針對(duì)公司運(yùn)營管理機(jī)制而建立的一個(gè)功能模塊。在這個(gè)功能模塊里面 可以完善公司的管理機(jī)制,如公司人員的調(diào)動(dòng)、信息的更改等問題都可以實(shí)時(shí)地進(jìn)行更替,以便能 夠靈活地掌握公司人員的當(dāng)前狀況(離職或是在職等信息),
30、為下一步的工作分配創(chuàng)造了有利條件, 經(jīng)過這樣的動(dòng)態(tài)管理對(duì)于公司的內(nèi)部運(yùn)營維護(hù)起到了一些關(guān)鍵性的作用。 信息查詢功能模塊主要是能夠?qū)λ枰男畔⑼ㄟ^指定的條件進(jìn)行查詢,將查詢出來的結(jié)果進(jìn) 行校對(duì):是否將這個(gè)信息進(jìn)一步加以更改或是刪除此信息等問題。這方面功能的制定對(duì)信息管理功 能模塊有一定的改善作用。除此之外,也能夠?yàn)橛脩籼峁┧麄兿胍私獾男畔⒌葐栴},如用戶想了 解某條公交線路的信息,他們只需要根據(jù)某條線路的 id 或是線路名稱就可以查詢到他們所需要的 信息了。 這兩個(gè)功能模塊的操作主要就是通過上面介紹的三層架構(gòu)為中介,通過這個(gè)中介對(duì)數(shù)據(jù)庫進(jìn)行 各種信息的調(diào)用,之后把符合條件的信息再通過這個(gè)中介顯
31、示給用戶,讓用戶能夠非常清楚的看到 自己所要了解的信息。關(guān)于這方面的具體代碼詳見附錄 a,操作前后的結(jié)果如下所示: 1、添加 公司都會(huì)有新成員入職、新車輛引進(jìn)等情況,那么這些新成員、新車輛的信息就要進(jìn)行妥善管 理,因此,添加功能就可以完全實(shí)現(xiàn)這些信息的錄入,方便于公司運(yùn)營管理。 具體思路是首先打開對(duì)應(yīng)的添加菜單并填寫相關(guān)對(duì)應(yīng)信息,如圖 3-8 所示: 圖 3-8 信息添加功能 添加完人員信息之后,現(xiàn)在來查看一下添加完之后的結(jié)果,查詢結(jié)果如下: 圖 3-9 信息添加后結(jié)果 從查詢的結(jié)果之中可以看出來,上面所添加的人員信息已經(jīng)完全地添加進(jìn)數(shù)據(jù)庫中的 renyuan 數(shù)據(jù)表當(dāng)中了,也就實(shí)現(xiàn)了公司新成
32、員等信息的妥善管理。 2、修改 公司運(yùn)營管理中,可能會(huì)出現(xiàn)人員變動(dòng)等信息,因此,對(duì)于這種信息的變動(dòng),公司應(yīng)當(dāng)進(jìn)行及 時(shí)的更改,以便于公司運(yùn)營管理不會(huì)出現(xiàn)差錯(cuò),因此,修改功能實(shí)現(xiàn)了此方面的工作。 修改功能的具體實(shí)現(xiàn)思路是首先根據(jù)某個(gè)信息的某一個(gè)字段進(jìn)行查詢,把所要查詢的所有信息 在窗體中對(duì)應(yīng)的控件中顯示出來,之后根據(jù)具體的正確信息進(jìn)行修改,如圖 3-10 所示: 圖 3-10 信息修改功能 修改信息之后,如果確認(rèn)無錯(cuò),即可單擊更新按鈕,單擊完更新按鈕之后,所對(duì)應(yīng)的人員信息 即可被修改。修改后的人員信息如圖 3-11 所示: 圖 3-11 信息修改后結(jié)果 如上圖所示,線路 id、車隊(duì) id、性別、
33、職位、駕駛號(hào)和聯(lián)系地址已經(jīng)被成功修改了。 3、刪除 很多時(shí)候,公司員工因?yàn)槟承┰蚨x職,車輛達(dá)到報(bào)廢要求而不得不進(jìn)行報(bào)廢,這些問題的 出現(xiàn)對(duì)于公司運(yùn)營情況來說,它們已經(jīng)沒有什么用途了,所以公司應(yīng)當(dāng)隨時(shí)對(duì)這些無用的信息進(jìn)行 刪除,以達(dá)到良好地運(yùn)營管理,因此,刪除功能在這方面體現(xiàn)的就尤為重要了。 刪除信息的具體思路是先通過具體信息的某一個(gè)字段進(jìn)行查詢,把想要?jiǎng)h除的記錄查詢出來, 之后再進(jìn)行刪除操作,這樣才不會(huì)刪除錯(cuò)誤的信息。如圖 3-12 所示: 圖 3-12 刪除功能 刪除后的信息在數(shù)據(jù)庫中會(huì)被永久的刪除不能恢復(fù),所以進(jìn)行刪除操作的時(shí)候需要謹(jǐn)慎,刪除 后的結(jié)果如下圖所示: 圖 3-13 刪除后
34、結(jié)果 從圖中可以清晰地看出,當(dāng)我們把人員 id 為“1111”的信息查詢出來并進(jìn)行刪除操作,之后 此信息在數(shù)據(jù)庫中就被永久地刪除了,如上圖所示,人員 id 為“1111”的信息已經(jīng)不存在了,說 明刪除操作成功。 4、查詢 對(duì)于用戶來說,主要進(jìn)行的就是查詢操作,通過查詢,用戶可以很清晰地了解到自己想要知道 的信息,所以說查詢功能在數(shù)據(jù)操作方面也是一個(gè)不可或缺的重要功能。 查詢操作可以分為兩部分進(jìn)行查詢:其一,可以把所有的信息一次性全部查詢出來,如圖 3-14 所示: 圖 3-14 所有站點(diǎn)信息查詢結(jié)果 考慮另一方面的問題是數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)量是非常龐大的,當(dāng)查詢所有的數(shù)據(jù)的時(shí)候,軟件 反應(yīng)的速度
35、往往也會(huì)變得非常緩慢,并且這樣的查詢結(jié)果對(duì)我們?nèi)粘I钜矝]有太大的意義。因此 要根據(jù)我們想要的某條信息的一個(gè)字段進(jìn)行查詢,這樣查詢的結(jié)果不但有實(shí)際意義,而且反映的速 度也相當(dāng)快。下面我們以線路 id 進(jìn)行查詢,查詢結(jié)果如圖 3-15 所示: 圖 3-15 按條件查詢信息結(jié)果 從上圖中我們可以看出,根據(jù)線路 id 查詢的結(jié)果已經(jīng)顯示出來了。這也就是我們想要的結(jié)果。 至此,信息管理功能模塊和信息查詢功能模塊已經(jīng)全部做完了,這個(gè)部分的關(guān)鍵技術(shù)就是三層 架構(gòu)的使用,通過三層架構(gòu)我們可以非常簡(jiǎn)單的調(diào)用數(shù)據(jù)庫獲得我們想要的信息,其次,數(shù)據(jù)庫的 各種相關(guān)語句都可以寫在二進(jìn)制文件、文本文檔或是 xml 文檔中
36、,這樣的好處就是數(shù)據(jù)庫的操作語 句全都在二進(jìn)制文件、文本文檔或是 xml 文檔中,當(dāng)發(fā)生需要修改問題的時(shí)候不用再去更改程序的 中的代碼而只需要更改二進(jìn)制文件、文本文檔或是 xml 文檔中的代碼就可以了。 3.4 gis 功能模塊 gis 功能模塊是本系統(tǒng)的重要模塊,在這個(gè)模塊中主要設(shè)計(jì)軌跡查詢顯示功能和實(shí)體對(duì)象屬性 信息查詢顯示功能兩個(gè)方面的內(nèi)容。 公交車輛歷史軌跡查詢顯示功能主要思路如下:首先,通過公交車輛的車牌信息選取公交車, 其次通過一個(gè)可選擇的時(shí)間段,之后以這兩個(gè)選擇條件為基礎(chǔ)進(jìn)行公交車的歷史點(diǎn)位繪制即公交車 軌跡顯示。這些公交車的歷史點(diǎn)位信息主要就是來源于上面介紹的數(shù)據(jù)庫中 gps
37、數(shù)據(jù)表中的對(duì)應(yīng)的 經(jīng)緯度坐標(biāo)等信息,通過這個(gè)對(duì)應(yīng)的經(jīng)緯度坐標(biāo)信息進(jìn)行相應(yīng)公交車輛的歷史點(diǎn)位繪制。 實(shí)體對(duì)象屬性信息查詢顯示功能是以軌跡顯示功能為前提,對(duì)所繪制公交車輛的歷史點(diǎn)位進(jìn)行 屬性查詢,如查詢的點(diǎn)位所對(duì)應(yīng)的公交車輛、該車輛所對(duì)應(yīng)的線路信息、經(jīng)緯度坐標(biāo)和 gps 事件的 獲取等有關(guān)屬性信息。 3.4.1 軌跡查詢顯示 公交車歷史軌跡查詢顯示的具體實(shí)現(xiàn)思路如下:首先就調(diào)用數(shù)據(jù)庫中獲取的 gps 數(shù)據(jù),其次就 是根據(jù) arcgis engine 開發(fā)組件進(jìn)行畫點(diǎn)函數(shù)的編寫,之后再根據(jù)相關(guān)的條件調(diào)用畫點(diǎn)函數(shù),通過 這樣一系列操作,最終在地圖上進(jìn)行公交車輛歷史點(diǎn)對(duì)象的繪制。軌跡顯示的大致流程圖如圖
38、 3-16 所示: 獲取 gps數(shù)據(jù) sql數(shù)據(jù)庫arcgis engine開發(fā)組件 ifeaturel ayer接口 igraphics container 接口 地圖中顯示公交車輛軌跡 iactivevi ew接口 imap 接口 ipoint 接口 圖 3-16 公交車軌跡顯示流程 首先利用車載全球定位系統(tǒng)終端接收機(jī)采集公交車輛的實(shí)時(shí)數(shù)據(jù),之后把采集完的 gps 實(shí)時(shí)數(shù) 據(jù)直接記錄在相對(duì)應(yīng)的 gps 數(shù)據(jù)表中,所采集的 gps 數(shù)據(jù)包括車輛的經(jīng)緯度坐標(biāo)等信息;在顯示系 統(tǒng)上主要通過 arcgis engine 開發(fā)組件觸動(dòng)相應(yīng)的控件來進(jìn)行相對(duì)應(yīng)的功能的實(shí)現(xiàn)。 公交車輛歷史軌跡查詢顯示主要
39、就是在 arcgis 的基礎(chǔ)上,通過 visual studio 2008 進(jìn)行二次 開發(fā),本系統(tǒng)主要運(yùn)用 arcgis engine 開發(fā)組件的功能建立畫點(diǎn)函數(shù),之后通過獲取數(shù)據(jù)庫中的經(jīng) 緯度坐標(biāo)調(diào)用畫點(diǎn)函數(shù)進(jìn)行相應(yīng)點(diǎn)位的繪制。進(jìn)行畫點(diǎn)函數(shù)編寫之前首先要了解一些 arcgis engine 開發(fā)組件的概念與功能。 本公交車輛歷史軌跡查詢顯示主要運(yùn)用了 arcgis engine 開發(fā)組件的幾個(gè)相關(guān)的接口,如圖 3- 16 所示,軌跡顯示大概應(yīng)用了五個(gè)接口,通過這些接口的相互作用,最終在地圖上顯示公交車輛歷 史點(diǎn)位。 地圖(map)是 arcgis engine 的主要組成部分。map 對(duì)象既
40、是數(shù)據(jù)的管理容器,同時(shí)也是數(shù) 據(jù)顯示的主要載體。map 對(duì)象的主要接口有 imap、igraphicscontainer、iactiveview 等。 map 對(duì)象可以裝載地理數(shù)據(jù),這些數(shù)據(jù)是以圖層的形式放入地圖對(duì)象的,layer 作為裝載的單 位,當(dāng)?shù)谝粋€(gè)圖層裝載進(jìn) map 對(duì)象時(shí),map 對(duì)象自動(dòng)設(shè)置空間坐標(biāo)系為當(dāng)前圖層的空間坐標(biāo)系,以 后再裝載的圖層都將使用 map 對(duì)象已經(jīng)設(shè)置的空間參考。layer 對(duì)象本身沒有裝載數(shù)據(jù),其作用是 獲得數(shù)據(jù)的引用,用于管理數(shù)據(jù)源的連接,數(shù)據(jù)始終在 geodatabase 或地圖文件中。 1.imap 接口 imap 接口主要用于管理 map 對(duì)象中的
41、layer 對(duì)象、要素選擇集、mapsoourround 對(duì)象和標(biāo)注等。 map 對(duì)象通過圖層的方式管理地理數(shù)據(jù)。在 imap 接口中定義了大量的方法來操作其中的圖層對(duì) 象,如 addlayer、addlayers,這兩個(gè)方法分別是將一個(gè)、多個(gè)圖層加載進(jìn) map 對(duì)象;clearlayers 是清除 map 中所有圖層;layercount 則是 map 中的圖層計(jì)數(shù)器,計(jì)算 map 中有多少個(gè)圖層; selectfeature 是獲取選擇實(shí)體的個(gè)數(shù)。當(dāng)圖層添加進(jìn) map 對(duì)象時(shí),最先添加的圖層放在最下面, 后添加的圖層則依次疊加在原有圖層上。 2.igraphicscontainer 接口
42、map 對(duì)象通過 igraphicscontainer 接口來管理圖形元素(包括圖形元素和框架元素)。接口提 供了添加、更新、刪除元素的方法:addelement、updateelement、deleteelement,以及選擇元素 的方法,如 locateelement 方法。使用一個(gè)點(diǎn)來選擇元素,它需要傳入一個(gè)點(diǎn)和一個(gè)容差值; locateelmentsbyenvelope 方法,通過在 map 上拖拽一個(gè)矩形區(qū)域,然后根據(jù)舉行區(qū)域選擇區(qū)域內(nèi) 的元素。 3.iactiveview 接口 iactiveview 接口是 map 對(duì)象最主要、最常用接口之一,該接口定義了 map 對(duì)象的數(shù)據(jù)顯示
43、功 能。通過該接口,可以在 map 上繪制圖形、改變視圖范圍、獲取 screendisplay 對(duì)象的指針、顯示 或隱藏標(biāo)尺和滾動(dòng)條,也可以刷新視圖。 iactiveview 接口提供了幾個(gè)重要的方法和屬性,如 extent 屬性,該屬性用于返回 map 對(duì)象當(dāng) 前視圖的范圍,是一個(gè) envelope 對(duì)象;fullextent 屬性,用于返回視圖的全局范圍。 4.ifeaturelayer 接口 ifeaturelayer 接口用于管理要素圖層的數(shù)據(jù)源,即要素類(featureclass)。 datasourcetype 屬性用于返回圖層的數(shù)據(jù)源類型。search 方法通過兩個(gè)參數(shù),一個(gè)是過
44、濾器,它 是一個(gè) iqueryfilter 類型的對(duì)象;一個(gè)是布爾值,用于說明返回的要素游標(biāo)是否循環(huán),返回一個(gè) icursor 類型的對(duì)象。 5.point 對(duì)象 點(diǎn)(point)代表了一個(gè) 0 維的具有 x、y 坐標(biāo)的幾何對(duì)象。點(diǎn)是沒有任何形狀的,可用于描述點(diǎn) 類型的要素,而且 geometry 中的任何類型都是用點(diǎn)來產(chǎn)生的。 構(gòu)成幾何形狀的頂點(diǎn)存在著 3 種可以選擇的屬性,即 z、m 和 id。z 值在大多數(shù)情況下都可用 于表示一個(gè)點(diǎn)的 z 坐標(biāo),還可以將 z 值作為一個(gè)點(diǎn)的輔助值來使用;m 即度量值,可以是一個(gè)路徑 對(duì)象的線性度量,用于交通工程中一條公路的不同點(diǎn)的位置;id 值即為一個(gè)點(diǎn)
45、點(diǎn)的唯一標(biāo)識(shí)值。 點(diǎn)集(multipoint)是具有形同屬性的點(diǎn)的集合,用于構(gòu)成高級(jí)集合對(duì)象、集合對(duì)象動(dòng)態(tài)模擬 等。 ipoint 接口定義了 point 對(duì)象的屬性和方法,點(diǎn)(point)可以使用 putcoords 方法創(chuàng)建,也 可以使用 iconstructpoint 接口來創(chuàng)建。 畫點(diǎn)對(duì)象主要就是基于以上的幾種接口以及接口中的方法去實(shí)現(xiàn)。在本系統(tǒng)中畫點(diǎn)的基本思路 是首先要?jiǎng)?chuàng)建一個(gè)空的點(diǎn)圖層,之后要在此空的點(diǎn)圖層中調(diào)用畫點(diǎn)函數(shù)進(jìn)行點(diǎn)對(duì)象的繪制。 畫點(diǎn)之前首先要考慮的一個(gè)問題就是要從數(shù)據(jù)庫中提取大量的經(jīng)緯度坐標(biāo)數(shù)據(jù)點(diǎn)(即公交車實(shí) 時(shí)位置),所以考慮的就是希望能夠根據(jù)所設(shè)定的條件把這些經(jīng)緯度
46、的坐標(biāo)點(diǎn)數(shù)據(jù)依次放到一個(gè)點(diǎn) 集或是一個(gè)數(shù)據(jù)表中,之后再調(diào)用畫點(diǎn)函數(shù)把這些點(diǎn)位置在地圖圖層上繪制出來即公交車歷史點(diǎn)位。 因此,基于這個(gè)思路,自己首先創(chuàng)建一個(gè)畫點(diǎn)函數(shù),其參數(shù)是一個(gè)表。畫點(diǎn)之前要考慮的另一個(gè)問 題是,我們可能會(huì)多次查詢不同車輛的的軌跡?;谶@個(gè)想法,在畫另一個(gè)公交車輛歷史點(diǎn)對(duì)象的 時(shí)候,應(yīng)該首先清除之前的公交車歷史點(diǎn)對(duì)象,之后再根據(jù)所設(shè)定的條件進(jìn)行點(diǎn)對(duì)的繪制,這樣的 好處就是我們每次查詢公交車軌跡的時(shí)候,總是顯示我們當(dāng)前要了解的公交車軌跡,而不會(huì)把不屬 于這輛公交車的軌跡顯示在當(dāng)前我們查詢后的地圖上。畫點(diǎn)函數(shù)如圖 3-17 所示: 圖 3-17 畫點(diǎn)函數(shù) 進(jìn)行公交車輛歷史軌跡查詢時(shí)
47、,主要根據(jù)設(shè)定的車輛、時(shí)間段,通過程序?qū)崿F(xiàn)操作。(代碼見 附錄 b)比如查詢車輛的車牌號(hào)為:a/b2006,且指定時(shí)間處于 2011-12-28 08:00:00 和 2011-12- 28 08:50:00 之間的數(shù)據(jù),查詢車輛歷史軌跡的結(jié)果如圖 3-18 所示: 圖 3-18 公交車軌跡顯示結(jié)果 3.4.2 實(shí)體對(duì)象屬性信息查詢 實(shí)體對(duì)象屬性信息查詢是在軌跡顯示的基礎(chǔ)上對(duì)其公交車輛歷史軌跡點(diǎn)位進(jìn)行屬性查詢,其基 本思路是根據(jù)數(shù)據(jù)庫中數(shù)據(jù)表的字段信息進(jìn)行設(shè)計(jì)。實(shí)體對(duì)象屬性信息查詢結(jié)果如圖 3-19 所示: 圖 3-19 實(shí)體對(duì)象屬性查詢結(jié)果 從圖 3-19 中可以看出,我們查詢了車牌號(hào)為“京
48、 a/b2006”的實(shí)體對(duì)象信息,實(shí)體對(duì)象分別為 7 和 76,從中可以了解到,該車所走的線路為“300 快內(nèi)”、車輛編號(hào)為“84006”、車載 sim 卡號(hào) 為、車輛行駛速度分別為“14.0km/h”和“28.4km/h”、獲取的時(shí)間分別為 “08:04:18”和“08:39:52”。 至此,gis 功能模塊部分的功能已經(jīng)全部設(shè)計(jì)完成,在這個(gè)部分中主要就是相關(guān)接口之間的相 互作用,最后在地圖上繪制出點(diǎn)對(duì)象即公交車的歷史點(diǎn)位。其次就是實(shí)體對(duì)象屬性信息的設(shè)計(jì),實(shí) 體對(duì)象屬性信息的設(shè)計(jì)主要是根據(jù)公交車在公路上的實(shí)際地理位置和其公交車的基本信息進(jìn)行設(shè)計(jì), 這個(gè)屬性信息的設(shè)計(jì)
49、具有實(shí)際意義。 第四章第四章 結(jié)論結(jié)論 本公交車輛歷史軌跡查詢是基于 arcgis 9.3 開發(fā)引擎并利用 c#語言開發(fā)出的公交車軌跡查詢 顯示系統(tǒng),經(jīng)過虛擬驗(yàn)證,該程序可以在不同時(shí)間段內(nèi)實(shí)現(xiàn)軌跡查詢。它結(jié)合了 gps 導(dǎo)航技術(shù)、 gis 電子地圖及計(jì)算機(jī)技術(shù),是一種跨平臺(tái)的 gis 技術(shù),對(duì)日常生活有很大的幫助,并為 gis 和 gps 的多系統(tǒng)集成實(shí)現(xiàn)提供了實(shí)例幫助。所以本文首先介紹了這方面方面的一點(diǎn)點(diǎn)知識(shí),gps 的運(yùn) 用主要是通過 gps 接收機(jī)接收車載 gps 終端所有時(shí)段的數(shù)據(jù),其次是根據(jù)這些數(shù)據(jù)和給定的條件在 gis 二次開發(fā)的程序中進(jìn)行相關(guān)功能的實(shí)現(xiàn),之后便開始了此系統(tǒng)主要功能
50、方面的介紹即系統(tǒng)框架 中主要的三個(gè)模塊的系統(tǒng)講述,分別是信息管理功能模塊、信息查詢功能模塊和 gis 功能模塊。 信息管理功能模塊和信息查詢功能模塊主要是對(duì)各種信息的管理和對(duì)用戶的要求進(jìn)行查詢,如 人員、車輛等問題,可以增加新來的職員,刪除已經(jīng)不在單位工作的職員,職員信息改變的可以進(jìn) 行志愿信息修改等等。除了此項(xiàng)功能之外還可以根據(jù)用戶所要查詢的信息,進(jìn)行相關(guān)性查詢,如線 路的信息,站點(diǎn)信息等等。這兩項(xiàng)完成了公司管理和用戶的實(shí)際問題的妥善處置,為以后公交車輛 的管理系統(tǒng)研發(fā)提供前提。gis 功能模塊主要研究了公交車輛歷史軌跡查詢的結(jié)果顯示和公交車車 輛的屬性信息查詢等,為用戶進(jìn)一步了解公交車在實(shí)
51、際中的應(yīng)用提供重要依據(jù)。 開發(fā)此系統(tǒng)的關(guān)鍵技術(shù)就是數(shù)據(jù)庫中三層架構(gòu)思想的運(yùn)用,通過這種三層架構(gòu)的運(yùn)用可以很輕 松地進(jìn)行數(shù)據(jù)庫操作語句的編寫,并且不需要關(guān)心程序界面的設(shè)計(jì)、數(shù)據(jù)的存取顯示等問題,除此 之外,一旦有什么需求變動(dòng)可以很快的進(jìn)行代碼的更改,基于這個(gè)原因,其代碼的復(fù)用性很高(其 中一層的代碼不會(huì)影響其它層)。其次就是公交車輛點(diǎn)位繪制時(shí)幾種接口之間的作用,通過這幾種 接口之間的接連性很輕松地繪制出點(diǎn)對(duì)象,最后是實(shí)體對(duì)象屬性信息查詢功能的實(shí)現(xiàn),這個(gè)功能從 很大一部分上體現(xiàn)了它的實(shí)際意義點(diǎn)對(duì)象真實(shí)的具體屬性信息。 本系統(tǒng)的整體框架是以公交管理系統(tǒng)為主框架的基礎(chǔ)上進(jìn)行特定車輛軌跡查詢方面的一個(gè)開
52、發(fā) 程序,本系統(tǒng)也為公交車輛動(dòng)態(tài)軌跡回放系統(tǒng)做出了進(jìn)一步的鋪墊作用。因其自己的能力水平有限, 本系統(tǒng)還需要很多地方的改善和提高,例如,目前自己只能研發(fā)到把公交車歷史點(diǎn)位畫出來,不能 動(dòng)態(tài)地實(shí)現(xiàn)軌跡顯示、車輛和地圖匹配等問題,希望在以后的工作中能夠大力加以改善,把這個(gè)系 統(tǒng)的功能運(yùn)用到公交車輛管理系統(tǒng)中,使其功能更加完善,為社會(huì)提供重要價(jià)值。 附錄附錄 a a using system; using system.collections.generic; using system.linq; using system.text; using system.data; using system.d
53、ata.sqlclient; using runbustrackmonitor.components ; using runbustrackmonitor.dao; namespace runbustrackmonitor.bll class busbll #region添加一條人員信息 / / 添加一條人員信息 / / / public static bool addstaff(model staff) bool bol = false; int count = busdao.addstaff_information(staff); if (count 0) bol = true; retu
54、rn bol; #endregion #region更新指定員工信息 / / 更新指定員工信息 / / / public static bool updatestall(model staff) bool bol = false; int count = busdao.updatestaff_information(staff); if (count 0) bol = true; return bol; #endregion #region刪除指定人員信息 / / 刪除指定人員信息 / / / public static bool deletestaff(model staff) bool b
55、ol = false; int count = busdao.deletestaff_information(staff); if (count 0) bol = true; return bol; #endregion #region獲取站位信息 / / 獲取站位信息 / / public static datatable obtainzw_information() return busdao.getallzw_information(); #endregion #region按路線 id / / 按路線信息得到公交車信息 / / / public static datatable obt
56、ainxl_information(string xlid) return busdao.getxlid_information(xlid); #endregion using system; using system.collections.generic; using system.linq; using system.text; using system.data; using system.data.sqlclient; using mala.dbxml.util.executableobject; using mala.dbxml.util; using mala.util; usi
57、ng mala.db.util; using runbustrackmonitor.components; namespace runbustrackmonitor.dao class busdao public static readonly sqlxmlconfiguration config = new sqlxmlconfiguration(dao/sql.xml); #region添加一條員工信息 / / 添加一條員工信息 / / / public static int addstaff_information(model staff) iexecutable exeappnew =
58、 executablebuilder.createexecutable(config, addstaff_information); exeappnew.setparametervalue(staff); int ret = int.parse(dbdataservices.instancesqlconnstring.processrequest( exeappnew).tostring(); return ret; #endregion #region按人員 id 查找人員信息并更新人員信息 / / 按人員 id 查找人員信息并更新人員信息 / / / public static datat
59、able getupdatestaff_information(string ryid) iexecutable ry = executablebuilder.createexecutable(config, getupdatestaff_information); ry.setparametervalue(ryid, ryid); return dbdataservices.instancesqlconnstring.processrequest(ry).tables0; #endregion #region更新指定條員工信息 / / 更新指定條員工信息 / / / public stati
60、c int updatestaff_information(model staff) iexecutable exeappnew = executablebuilder.createexecutable(config, updatestaff_information); exeappnew.setparametervalue(staff); int ret = int.parse(dbdataservices.instancesqlconnstring.processrequest( exeappnew).tostring(); return ret; #endregion #region刪除
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國開《婚姻家庭法學(xué)》形成性考核1-3
- 2025山西省建筑安全員考試題庫
- 2025上海市建筑安全員《B證》考試題庫及答案
- 企業(yè)法律顧問咨詢服務(wù)協(xié)議
- 2025天津市建筑安全員-C證考試題庫
- 電廠鋼煤斗施工合同
- 數(shù)據(jù)驅(qū)動(dòng)的在線教育平臺(tái)合作協(xié)議書
- 有關(guān)餐飲商鋪?zhàn)赓U合同
- 專業(yè)設(shè)計(jì)軟件版權(quán)授權(quán)協(xié)議
- 2025-2030年中國鹿產(chǎn)業(yè)深加工市場(chǎng)運(yùn)行動(dòng)態(tài)與投資戰(zhàn)略研究報(bào)告
- 《趙匡胤:北宋的開國皇帝》
- 二年級(jí) 書法 開學(xué)第一課課
- 精神科病人跌倒的預(yù)防與處理
- 蒸壓加氣混凝土砌塊干燥收縮檢測(cè)記錄11969-2020
- 2023-2024學(xué)年第二學(xué)期人教版英語五年級(jí)教學(xué)計(jì)劃(含進(jìn)度表)
- 小學(xué)教師師德師風(fēng)培訓(xùn)內(nèi)容(4篇)
- (完整word版)勞動(dòng)合同書(電子版)正規(guī)范本(通用版)
- DB1522-T 1-2023 農(nóng)用天氣預(yù)報(bào) 水稻適宜度
- 光伏電站螺旋地樁承載力計(jì)算軟件
- OptiStruct及HyperStudy優(yōu)化與工程應(yīng)用
- 科目一3小時(shí)速成璇姐筆記
評(píng)論
0/150
提交評(píng)論