freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于gis的火車換乘系統(tǒng)的設(shè)計(jì)畢業(yè)論文-在線瀏覽

2024-08-07 17:45本頁面
  

【正文】 得程序員不必為內(nèi)存管理而擔(dān)憂。Java語言全面支持動(dòng)態(tài)綁定,而C++ 語言只對虛函數(shù)使用動(dòng)態(tài)綁定。Java語言也完全支持組件機(jī)制,這就為和AE的結(jié)合打下了基礎(chǔ),ESRI公司推出的AE for JavaSDK 這使得在JAVA環(huán)境下的GIS二次開發(fā)更為簡單方便。GIS平臺(tái)Arcengine能夠良好的支持Access數(shù)據(jù)庫, 的橋接模式下也能夠很好的支持Access數(shù)據(jù)庫。n n 在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí),通過數(shù)據(jù)分層、圖層管理、屬性編碼和空間索引設(shè)計(jì),建立空間數(shù)據(jù)庫,然后進(jìn)行屬性數(shù)據(jù)庫設(shè)計(jì),最后建立空間數(shù)據(jù)庫與屬性數(shù)據(jù)庫的連接關(guān)系。本系統(tǒng)空間數(shù)據(jù)主要來自于國家1:400萬基礎(chǔ)地理數(shù)據(jù),并選擇需要的存儲(chǔ)在四個(gè)圖層當(dāng)中分別是省界線圖層,省界面圖層、主要鐵路線圖層、地級市以上居民點(diǎn)圖層,每一個(gè)圖層都包含了圖層名稱、空間特性、屬性數(shù)據(jù)等數(shù)據(jù)。n 系統(tǒng)的屬性數(shù)據(jù)主要存儲(chǔ)在Access數(shù)據(jù)庫,分為三張表車次所經(jīng)車站表、車站詳情表、point屬性表(數(shù)據(jù)處理階段的系統(tǒng)生成表)因?yàn)樵谙到y(tǒng)實(shí)現(xiàn)過程中,要實(shí)現(xiàn)最短路徑就必須要有可用的網(wǎng)絡(luò)節(jié)點(diǎn)存在在網(wǎng)絡(luò)數(shù)據(jù)上,然而個(gè)別的地級市居民點(diǎn)離網(wǎng)絡(luò)過遠(yuǎn)這樣就無法實(shí)現(xiàn)有效地最短路徑分析,只能通過居民點(diǎn)查找網(wǎng)絡(luò)節(jié)點(diǎn),通過尋找最近設(shè)施點(diǎn)的方法將網(wǎng)絡(luò)節(jié)點(diǎn)和城市居民點(diǎn)一一對應(yīng),并作為火車站的位置,存儲(chǔ)在系統(tǒng)生成這張表中圖—32 point屬性表圖—33 車次所經(jīng)車站表圖—34車站詳情表l GIS火車換乘系統(tǒng)主要實(shí)現(xiàn)火車的可視化查詢、火車信息的修改和用戶自定義最優(yōu)換乘方案查詢,用戶可以在看到查詢結(jié)果的同時(shí)看到具體的在地圖中的信息可視化顯示。如下圖—35所示:結(jié)果用戶輸入車次名稱彈出窗體顯示車次詳情地圖顯示本車次所經(jīng)車站,彈出窗口顯示車站詳情列表顯示所有乘坐方案,以表格形式顯示乘坐方案詳情,并排序。u 4 火車換乘系統(tǒng)的實(shí)現(xiàn)l 本系統(tǒng)以中國主要鐵路干線作為研究對象,利用已有的中國鐵路網(wǎng)圖層,結(jié)合地級市居民點(diǎn)圖層數(shù)據(jù)、網(wǎng)上搜集的火車站、火車車次信息等,開發(fā)了一個(gè)基于ArcEngine的GIS火車換乘系統(tǒng)。用SQL語句訪問表中的數(shù)據(jù),實(shí)現(xiàn)對火車信息的管理。l 系統(tǒng)主要有菜單欄、工具欄、查詢頁簽、結(jié)果頁簽、高級頁簽組成和圖形窗口組成。如圖4—1所示圖4—1系統(tǒng)主界面l n 打開主頁面點(diǎn)擊車次查詢單選按鈕,在車次文本框中輸入要查詢的車次號,然后點(diǎn)擊查詢,如圖4—2所示:圖4—2 車次查詢在結(jié)果頁簽當(dāng)中,將所有結(jié)果依照次序羅列出來,我們點(diǎn)擊第十站鄭州查看詳情如圖4—3所示:圖—43車次查詢結(jié)果可以看到當(dāng)前車次,到達(dá)鄭州的時(shí)間、出站時(shí)間本車次是否有硬座、軟座等信息。本模塊的實(shí)現(xiàn)思路:首先從用戶輸入得到出發(fā)站和終點(diǎn)站,以出發(fā)站和終點(diǎn)站為關(guān)鍵字在數(shù)據(jù)庫中車次所經(jīng)車站表進(jìn)行遍歷。將新的list1從出發(fā)站開始每次增加一個(gè)站點(diǎn)向下進(jìn)行循環(huán)并分別對listlist3進(jìn)行比對如果list2或list3中含有當(dāng)前循環(huán)的站點(diǎn)則將當(dāng)前站點(diǎn)作為中轉(zhuǎn)站以當(dāng)前l(fā)ist1中的車次作為中轉(zhuǎn)前車次、以list2或list3中的車次作為中轉(zhuǎn)后車次存儲(chǔ)在方案列表中。然后要實(shí)現(xiàn)車次路徑在地圖上顯示,有兩種途徑:(1):將每兩個(gè)相鄰火車站之間的鐵路線進(jìn)行命名,并存儲(chǔ)在圖層中,當(dāng)用戶點(diǎn)擊換乘方案時(shí)將當(dāng)前方案所經(jīng)過的所有鐵路線段的名稱查找出來,然后再到mapbean中一一顯示。(2):也是本系統(tǒng)所采用的方法,得到方案所經(jīng)過的所有車站的名稱,并以這些車站作為最短路徑分析時(shí)的stops,這樣就查找出每兩個(gè)相鄰車站之間的路徑,并存儲(chǔ)在新的圖層中顯示在mapbean中。單擊能夠直接到達(dá)的換乘方案返回路徑到mapbean中如圖—45所示:圖—45直接到達(dá)方案單擊需要換乘的方案如圖—46所示:圖—46需要換乘的方案返回?fù)Q乘路徑,在地圖窗口中顯示,并且氣泡窗口會(huì)在出發(fā)站、換乘站和終點(diǎn)站處進(jìn)行提示方便用戶進(jìn)行查看。點(diǎn)擊查詢,所有方案存儲(chǔ)在表格當(dāng)中,表格某一行在地圖中顯示當(dāng)前換乘路徑,并彈出路程長度如圖—47所示。注:全程時(shí)間為從出發(fā)站到換乘站、在換乘站等待換乘時(shí)間、從換乘站到終點(diǎn)站時(shí)間之和。圖—48 方案排序n 地圖工具(1) 點(diǎn)擊工具欄中測量距離工具,在map中單擊左鍵選擇端點(diǎn)后,單擊右鍵計(jì)算距離如圖—49所示圖—49 測量結(jié)果(2) 單擊工具欄中周邊查詢工具,然后輸入緩沖區(qū)距離,查找出當(dāng)前距離范圍內(nèi)的所有火車站,如圖—410所示圖—410 周邊查詢結(jié)果(3) 單擊菜單欄中的選擇窗口菜單,選擇顯示鷹眼如圖—411。在功能實(shí)現(xiàn)部分,本系統(tǒng)主要實(shí)現(xiàn)了車次查詢、車站查詢、路徑查詢、周邊查詢、測量距離等功能。利用已有的全國鐵路網(wǎng)地圖,結(jié)合網(wǎng)上搜集的火車車次信息等。 對GIS火車換乘系統(tǒng)中的相關(guān)技術(shù),從理論到實(shí)踐進(jìn)行了一系列基礎(chǔ)性及實(shí)驗(yàn)性的研究,主要工作有:(1) 對二維空間查詢分析技術(shù)進(jìn)行了研究,實(shí)現(xiàn)了地圖點(diǎn)狀緩沖區(qū)查詢查詢、圓形查詢、框選查詢、測距等功能。(3) 實(shí)現(xiàn)了可視化的火車換乘查詢。 (2) 系統(tǒng)的交互性:本系統(tǒng)僅完成了部分內(nèi)容并且所做的工作有限,交互性不強(qiáng)。(4) 系統(tǒng)的功能:,很多有用的功能本系統(tǒng)沒有實(shí)現(xiàn),比如地圖編輯、屬性數(shù)據(jù)更新的功能。本論文的研究工作是在導(dǎo)師的關(guān)懷和指導(dǎo)下完成的。在課題研究期間,李同學(xué)給予了寶貴意見,使得自己在不斷的學(xué)習(xí)探討中,取得了不小的進(jìn)步,在此也表示衷心的感謝!同時(shí)在系統(tǒng)的開發(fā)中參考了網(wǎng)上的大量實(shí)例,對我?guī)椭容^大,在此我感謝ERSI社區(qū)論壇上的諸多幫助過我的人。 IWorkspaceFactory pWorksapceFactory。// 定義工作空間 IFeatureClass cityFeatureClass。 IFeatureClass netFeatureClass。 IFeatureClass lineFeatureClass。 public MySource(String pPath) { super()。 try { pWorksapceFactory = new AccessWorkspaceFactory()。 } catch (UnknownHostException e) { // TODO Autogenerated catch block ()。 } } public IFeatureClass getCityFeatureClass() {//得到地級市居民點(diǎn)的要素類 try { cityFeatureClass = (地市級居點(diǎn))。 } catch (IOException e) { // TODO Autogenerated catch block ()。 } public IFeatureClass getRailwayFeatureClass(){ try { railwayFeatureClass = (主要鐵路)。 } catch (IOException e) { // TODO Autogenerated catch block ()。 } public IFeatureClass getJunctionFeatureClass(){ try { junctionFeatureClass = (railway_ND_Junctions)。 } catch (IOException e) { // TODO Autogenerated catch block ()。 } public IFeatureClass getLineFeatureClass(){ try { lineFeatureClass = (省界線)。 } catch (IOException e) { // TODO Autogenerated catch block ()。 } public IFeatureClass getMianFeatureClass(){ try { mianFeatureClass = (省界面)。 } catch (IOException e) { // TODO Autogenerated catch block ()。 }}獲得路徑方案模塊: public ListObject getStationsTrains() { ListObject stationsTrains。 ListObject startStopStationsTrains。// 含有出發(fā)點(diǎn)的列車 ListObject stopStationsTrains。 startStationsTrains = new ArrayListObject()。 String sql = select * from 車次所經(jīng)車站。 Statement sta = (conn)。 ListString thisTrainStations。 try { rs = (sql)。 int startID = 0。 thisTrainStations = ((所經(jīng)車站))。 for (int i = 0。 i++) { if ((i).equals(startText)) { isHaveBoth = isHaveBoth + 1。 } if ((i).equals(stopText)) { isHaveBoth = isHaveBoth + 2。 } } if (isHaveBoth == 2) { // 將車次名稱添加到車次詳情中的第0個(gè)元素 (0, (車次)+ +startID)。 (thisTrainDetails)。 if (startID stopID) {// 如果終點(diǎn)站在出發(fā)站后面則添加 (thisTrainStations)。 } } if (isHaveBoth == 3) { // 將車次名稱添加到車次詳情中的第0個(gè)元素 (0, (車次) + + stopID)。 (thisTrainDetails)。 } (0, startStationsTrains)。 (2, stopStationsTrains)。// 執(zhí)行排序 return stationsTrains。// 定義方案list // 返回所有換乘方案 ListObject startStopTrains = (ListObject) (1)。 ListObject stopTrains = (ListObject) (2)。 i ()。 String trainNum = ((ListString)((0))).get(0)。 int stopInt = (((ListString)((0))).get(2))。 int j = startInt + 2。//從比較車次中得到要比較的車站 //對含有出發(fā)站終點(diǎn)站的車次進(jìn)行比對 int m = i + 1。//提取被比較車次list String paredNum = ((ListString)((0))).get(0)。 n ()。 } } m++。 while(h ()){//如果存在只含有終點(diǎn)站的車次則進(jìn)行比對 ListString stopTrain = (ListString) (h)。 int thisStopInt = (((ListString)((0))).get(1))。 g thisStopInt + 1。 } } h++。 } } } //若果存在含有出發(fā)站的車次 if(() != 0){ for(int i = 0。 i++){ ListString startTrain = (ListString) (i)。 int s
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1