版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、PAGE 2基于Google Map API的校園地圖(dt)的設(shè)計與實現(xiàn)The design and implementation of campus map based on the Google Map API學生姓名:尹永超學生學號:09770213專業(yè)名稱:軟件工程指導教師:王麗計算機與信息(xnx)工程學院2013年6月17日獨創(chuàng)性聲明(shngmng)本人聲明所呈交的畢業(yè)設(shè)計(論文)是本人在指導教師指導下進行的研究工作和取得的研究成果,除了文中特別加以引用標注之處外,論文中不包含(bohn)其他人已經(jīng)發(fā)表或撰寫過的研究成果,沒有偽造數(shù)據(jù)的行為。畢業(yè)設(shè)計(b y sh j)(論文)
2、作者簽名: 簽字日期:2013年6月17日畢業(yè)設(shè)計(論文)版權(quán)使用授權(quán)書本畢業(yè)設(shè)計(論文)作者完全了解學校有關(guān)保留、使用論文的規(guī)定。同意學校保留并向有關(guān)管理部門或機構(gòu)送交論文的復印件和電子版,允許論文被查閱和借閱。本人授權(quán)天津城建大學可以將本論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本論文。(保密的畢業(yè)設(shè)計(論文)在解密后適用本授權(quán)說明)畢業(yè)設(shè)計(論文)作者簽名: 指導教師簽名:簽字日期:2013年6月17日 簽字日期: 2013年6月17日摘 要隨著計算機及計算機網(wǎng)絡(luò)(wnglu)的普及和全國各院校的校園網(wǎng)絡(luò)的日益完善、健全。各大高校(goxio)
3、的擴招合并(hbng), 學校規(guī)模越來越大,以及眾多的機構(gòu)地理位置信息的分散。有必要開發(fā)基于校園地理信息的電子地圖。本系統(tǒng)以Google Maps 以及ArcGIS為基礎(chǔ),整個系統(tǒng)采用 B/S 的體系結(jié)構(gòu),以Google Map 為底圖,同時在底圖上疊加通過ArcMap自己制作的校園地圖。利用Google Map提供的編程接口、以及ArcGIS提供的針對Google Map的擴展編程接口,實現(xiàn)地圖信息的基本瀏覽功能。服務器端腳本解釋語言主要采用javascript,以及基于javascript編寫的類庫語言包jquery、dojo。地圖信息的發(fā)布通過 IIS Web 服務器,以及ArcGIS的
4、專門地圖服務器。信息的管理使用ArcGIS自帶的 SQL Server2005 數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)開發(fā)工具主要是DreamweaverCs5、ArcMap、ArcCatalog。該系統(tǒng)支持用戶任意時間、地點通過學校內(nèi)部網(wǎng)絡(luò)或廣域網(wǎng)來進行操作。以實現(xiàn)校園地理信息的瀏覽、查詢;路徑規(guī)劃;面積、距離測量功能。關(guān)鍵詞:Google Map;ArcGIS地理信息系統(tǒng);校園地圖;javascriptABSTRACTWith the popularity of computer and computer network, also the campus networks increasing and pe
5、rfect of all the colleges and universities. With the merging and expansion, school scale is bigger and bigger and many institutions scattered. It is necessary to develop electronic map based on campus geographic information.This system is based on Google Maps and ArcGIS, the whole system adopts B/S
6、architecture. Its based map is Google Maps. At the same time, the campus map which was created by ArcMap software was overlayed on the Google Maps to make your own Map of campus more particular. Using the programming interface provided by Google, and extension programming interface for Google Map pr
7、ovided by ArcGIS. It can realize the basic browsing capabilities of Map information. Server-side scripting mainly uses the Javascript language, and Jquery, Dojo the libraries written with the Javascript language pack. Map information released through the IIS Web server, and ArcGIS map of dedicated s
8、erver. Information management using the SQL Server2005 database management system, and system development tools are mainly DreamweaverCs5, the ArcMap and ArcCatalog. This system support users at any time and place through the school internal network or wide area network to operate. In order to reali
9、ze the campus geographic information browsing, inquiry; Path planning; Area and distance measurement function.Key words: Google maps API; ArcGIS geographic information system; The campus map; JavaScript目 錄 TOC o 1-3 h z u HYPERLINK l _Toc359316966 第1章 引 言 PAGEREF _Toc359316966 h 1 HYPERLINK l _Toc35
10、9316967 1.1 選題(xun t)背景 PAGEREF _Toc359316967 h 1 HYPERLINK l _Toc359316968 1.2 選題(xun t)意義 PAGEREF _Toc359316968 h 1 HYPERLINK l _Toc359316969 第2章 系統(tǒng)需求(xqi)分析 PAGEREF _Toc359316969 h 2 HYPERLINK l _Toc359316970 2.1 目標 PAGEREF _Toc359316970 h 2 HYPERLINK l _Toc359316971 2.2 性能及運行需求 PAGEREF _Toc35931
11、6971 h 2 HYPERLINK l _Toc359316972 2.3 功能需求 PAGEREF _Toc359316972 h 2 HYPERLINK l _Toc359316973 2.4 系統(tǒng)E-R圖 PAGEREF _Toc359316973 h 2 HYPERLINK l _Toc359316974 第3章 基礎(chǔ)知識簡介 PAGEREF _Toc359316974 h 4 HYPERLINK l _Toc359316975 3.1 Google Map API 及ArcGIS for Google Map API介紹 PAGEREF _Toc359316975 h 4 HYPE
12、RLINK l _Toc359316976 3.2 設(shè)計中常用的Google Map API類,ArcGIS for Google Map擴展類及其方法 PAGEREF _Toc359316976 h 4 HYPERLINK l _Toc359316977 3.3 IIS服務器 PAGEREF _Toc359316977 h 5 HYPERLINK l _Toc359316978 3.4 ArcGIS 相關(guān)軟件介紹 PAGEREF _Toc359316978 h 63.4.1 HYPERLINK l _Toc359316979 ArcGIS Desktop PAGEREF _Toc359316
13、979 h 63.4.2 HYPERLINK l _Toc359316980 ArcGIS Server PAGEREF _Toc359316980 h 7 HYPERLINK l _Toc359316981 第4章 系統(tǒng)設(shè)計8 HYPERLINK l _Toc359316982 4.1概要設(shè)計8 HYPERLINK l _Toc359316983 4.1.1 系統(tǒng)數(shù)據(jù)流程設(shè)計8 HYPERLINK l _Toc359316984 4.1.2 數(shù)據(jù)字典8 HYPERLINK l _Toc359316985 4.1.3 系統(tǒng)結(jié)構(gòu)設(shè)計9 HYPERLINK l _Toc359316986 4.1.
14、4表結(jié)構(gòu)設(shè)計 PAGEREF _Toc359316986 h 10 HYPERLINK l _Toc359316987 4.2 詳細設(shè)計 PAGEREF _Toc359316987 h 11 HYPERLINK l _Toc359316988 4.2.1 系統(tǒng)概述 PAGEREF _Toc359316988 h 11 HYPERLINK l _Toc359316989 4.2.2 系統(tǒng)流程圖 PAGEREF _Toc359316989 h 13 HYPERLINK l _Toc359316990 第5章 系統(tǒng)實現(xiàn) PAGEREF _Toc359316990 h 15 HYPERLINK l _
15、Toc359316991 5.1 地圖制作 PAGEREF _Toc359316991 h 15 HYPERLINK l _Toc359316992 5.1.1 底圖制作 PAGEREF _Toc359316992 h 15 HYPERLINK l _Toc359316993 5.1.2 地圖整改 PAGEREF _Toc359316993 h 15 HYPERLINK l _Toc359316994 5.1.3 地圖發(fā)布17 HYPERLINK l _Toc359316995 5.2系統(tǒng)各功能及實現(xiàn)效果圖17 HYPERLINK l _Toc359316996 5.2.1地圖放大、縮小、拖動
16、功能及效果圖17 HYPERLINK l _Toc359316997 5.2.2疊加ArcGIS地圖及效果圖18 HYPERLINK l _Toc359316998 5.2.3建筑物搜索及效果圖19 HYPERLINK l _Toc359316999 5.2.4面積(min j)、距離測量及效果圖19 HYPERLINK l _Toc359317000 5.2.5路徑規(guī)劃(guhu)功能及效果圖 PAGEREF _Toc359317000 h 21 HYPERLINK l _Toc359317001 5.2.6鼠標滑動、點擊(din j)建筑顯示信息及效果圖 PAGEREF _Toc35931
17、7001 h 22 HYPERLINK l _Toc359317002 5.3 應用中出現(xiàn)的問題與解決方法 PAGEREF _Toc359317002 h 22 HYPERLINK l _Toc359317003 第6章 系統(tǒng)測試 PAGEREF _Toc359317003 h 24 HYPERLINK l _Toc359317004 6.1測試方法的介紹 PAGEREF _Toc359317004 h 24 HYPERLINK l _Toc359317005 6.2測試環(huán)境 PAGEREF _Toc359317005 h 24 HYPERLINK l _Toc359317006 6.3測試對
18、象 PAGEREF _Toc359317006 h 24 HYPERLINK l _Toc359317007 6.3.1地圖放大、縮小、拖動功能 PAGEREF _Toc359317007 h 24 HYPERLINK l _Toc359317008 6.3.2建筑物搜索功能 PAGEREF _Toc359317008 h 24 HYPERLINK l _Toc359317009 6.3.3面積、距離測量功能 PAGEREF _Toc359317009 h 24 HYPERLINK l _Toc359317010 6.3.4路徑規(guī)劃功能25 HYPERLINK l _Toc359317011
19、6.3.5鼠標滑動、點擊建筑顯示信息功能25 HYPERLINK l _Toc359317012 6.4測試用例及結(jié)果25 HYPERLINK l _Toc359317013 6.4.1地圖放大、縮小、拖動功能25 HYPERLINK l _Toc359317014 6.4.2建筑物搜索功能25 HYPERLINK l _Toc359317015 6.4.3面積、距離測量功能27 HYPERLINK l _Toc359317016 6.4.4路徑規(guī)劃功能 PAGEREF _Toc359317016 h 28 HYPERLINK l _Toc359317017 6.4.5鼠標滑動、點擊建筑顯示信
20、息功能29 HYPERLINK l _Toc359317018 總結(jié)31 HYPERLINK l _Toc359317019 致謝 PAGEREF _Toc359317019 h 32 HYPERLINK l _Toc359317020 參考文獻 PAGEREF _Toc359317020 h 33第1章 引言PAGE 37第1章 引言(ynyn)1.1 選題(xun t)背景隨著計算機及計算機網(wǎng)絡(luò)的普及(pj)和全國各院校的校園網(wǎng)絡(luò)的日益完善、健全,各大高校的擴招合并, 學校規(guī)模越來越大, 校園設(shè)施與環(huán)境也在不斷的改善,以及眾多的機構(gòu)地理位置信息的分散。而網(wǎng)絡(luò)信息的普及,及瀏覽應用的便利,為
21、了快速、準確獲取校園的地理信息, 以及為校園的管理、規(guī)劃、設(shè)計提供準確而詳細的數(shù)據(jù), 對校園導航的要求越來越迫切,有必要開發(fā)基于校園地理信息的電子地圖。1.2 選題意義畢業(yè)設(shè)計是學生在校期間的最后一個教學環(huán)節(jié),是學習深化和提高的一個重要過程,也是綜合檢驗所學理論知識的一個重要環(huán)節(jié)。本系統(tǒng)提供圖形化的界面,在普通電子地圖上,用戶可以進行對地圖進行任意的放大縮小,地圖漫游等;用戶還可以進行地理信息的查詢;路徑的查詢;用戶還可以進行期望信息的查詢、瀏覽。第2章 系統(tǒng)需求分析第2章 系統(tǒng)需求分析2.1 目標(mbio)1.便捷的界面(jimin)操作性能,詳細的信息顯示性能;系統(tǒng)交互性強,信息(xnx
22、)顯示速度快,安全性高。2.實現(xiàn)建筑物信息的瀏覽、搜索、建筑平面顯示、面積詳細信息瀏覽。3.輔助功能面積測量、距離測量、出行路徑規(guī)劃。4.系統(tǒng)盡量給用戶提供一個良好的操作環(huán)境。2.2 性能及運行需求要求系統(tǒng)便捷的操作方式,詳細的信息顯示。且系統(tǒng)運行穩(wěn)定,交互速度較快,界面美觀。運行環(huán)境:要求Windows系統(tǒng)下運行,已安裝IIS信息網(wǎng)站發(fā)布服務、以及ArcGIS Server地圖服務器。ArcMap、ArcCatalog地圖編輯軟件,及相配套數(shù)據(jù)庫系統(tǒng)。2.3 功能需求系統(tǒng)面向所有瀏覽用戶,主要完成如下功能:1)電子地圖放大、縮小、平移;2)地圖快速定位;3)顯示重要的建筑; 5)查詢路程信息
23、;6)顯示地點查詢信息;7)輔助功能面積測量、距離測量。2.4 系統(tǒng)E-R圖建筑物實體如圖2-1所示:圖2-1 建筑物實體圖綠化實體如圖2-2所示:圖2-2 綠化(lhu)實體(sht)圖第3章 基礎(chǔ)知識簡介第3章 基礎(chǔ)知識簡介(jin ji)3.1 Google Map API 及ArcGIS for Google Map API介紹(jisho)Google 地圖(dt)API以及 ArcGIS API分別是Google 公司及ESRI公司發(fā)布的地圖服務調(diào)用類庫。都是以Javascript語言為基礎(chǔ)、采用B/S架構(gòu)網(wǎng)頁瀏覽的方式。前者提供基礎(chǔ)的地圖服務,在Google提供的地圖的基礎(chǔ)上,實
24、現(xiàn)地圖的瀏覽、基本信息標注。但區(qū)域地圖信息不夠完善詳盡,且很難實現(xiàn)后期更改。后者則是主要將ArcGIS制作的地圖與Google地圖進行疊加整合,提供更加詳細的網(wǎng)頁地理信息服務。3.2 設(shè)計中常用的Google Map API類,ArcGIS for Google Map擴展類及其方法1 HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GMap2 GMap2類GMap2類是對Google地圖進行實例化的API中心類,其它都是輔助類。通過GMap2類可以在指定的 HTML 容器中創(chuàng)建新的地圖,該容器通常是一個DIV 元素
25、。通過構(gòu)造函數(shù)可以指定地圖的大小、類型、背景色、拖放光標類型等信息。 GMap2類常用的方法有:addControl(control: HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GControl GControl, position?: HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GControlPosition GControlPosition),將自定義控件添加到地圖中,并指定控件位置;getCenter(),返回地圖視圖的中
26、心點坐標;setCenter (center: HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GLatLng GLatLng, zoom?:Number, type?: HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GMapType GMapType),設(shè)置地圖中心點坐標,并指定縮放級別,改變地圖類型;addOverlay (overlay: HYPERLINK /intl/zh-CN/apis/maps/documentation/r
27、eference.html l GOverlay GOverlay),添加自定義疊加層;openInfoWindow(latlng: HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GLatLng GLatLng, node:Node, opts?: HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GInfoWindowOptions GInfoWindowOptions),在地圖上指定點處打開信息窗口。fromContainerPixel
28、ToLatLng(pixel: HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GPoint GPoint),在含有頁面地圖的 DOM 元素中計算指定像素坐標點的地理坐標。2 HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GLatLng GLatLng類GLatLng是以經(jīng)度和緯度表示的地理坐標點。主要方法:lat(),lng()返回經(jīng)緯度坐標。3Gevent命名空間該命名空間主要用于觸發(fā)自定義事件。GEvent.addListener
29、(source:Object, event:String,handler:Function) 為源對象的自定義事件注冊事件處理程序,如鼠標點擊、鼠標移動。返回一個可用于最終注銷處理程序的句柄??墒褂迷磳ο蟮膖his集合調(diào)用事件處理程序。4接口GOverlay地圖 API 庫中的 HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GMarker GMarker、 HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GPolyline GPolyli
30、ne、 HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GTileLayerOverlay GTileLayerOverlay 和 HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GInfoWindow GInfoWindow 類都是通過此接口實現(xiàn)的。此接口是ArcGIS疊加地圖層與Google Map層進行數(shù)據(jù)交換的通道。ArcGIS對Google地圖的擴展接口返回的數(shù)據(jù)全部歸為這一接口,可以通過此接口的方法獲取相應信息然后進行Googl
31、eMap對象的重構(gòu),實現(xiàn)Google Map相關(guān)功能。5esri.arcgis.gmaps.MapExtension類該類創(chuàng)建一個(y )新實例,將一個(y )MapExtension對象(duxing)綁定到google地圖上。通過arcmap制圖軟件制作的校園地圖就是通過這個類中addToMap(results, overlayOptions?, infoWindowOptions?)方法添加到google map底圖中。6esri.arcgis.gmaps.QueryTask(url)該類通過指定的地圖服務器圖層地址訪問圖層數(shù)據(jù),對圖層進行查詢。用execute(parameters,
32、asGeoXml?, callback?)方法執(zhí)行查詢語句,并且將查詢結(jié)果放回給回調(diào)函數(shù)繼續(xù)執(zhí)行。7esri.arcgis.gmaps.Query()該類是查詢語句,該類中通過各個屬性指定查詢參數(shù)。Where指定查詢條件、outFields指定查詢內(nèi)容、returnGeometry指定是否返回幾何信息。3.3 IIS服務器IIS是Internet Information Services(互聯(lián)網(wǎng)信息服務)的簡稱,主要用于網(wǎng)站解析。雖然對于靜態(tài)網(wǎng)站不需特定的服務器就能打開,但是測試時發(fā)現(xiàn)對于一些網(wǎng)絡(luò)地址及本地文件不能正確打開,無法使用文件絕對及相對地址,需要IIS進行解析。同時對于ArcGIS
33、Server地圖服務器也需要事先安裝IIS才能正確運行。Windows xp及以后系統(tǒng)默認已經(jīng)集成了IIS,只是默認情況下沒有安裝打開。需要請進入“控制面板”, “添加/刪除程序添加/刪除Windows組件”,選擇“Internet信息服務(IIS)”。然后在“管理工具Internet信息服務”中對其進行啟動、停止等操作。3.4 ArcGIS 相關(guān)軟件介紹ArcGIS是美國環(huán)境系統(tǒng)研究所開發(fā)的新一代GIS軟件,是一個統(tǒng)一的地理信息系統(tǒng)平臺,由數(shù)據(jù)服務器ArcSDE及4個基礎(chǔ)框架組成:桌面軟件Desktop、服務器GIS、嵌入式GIS和移動GIS。ArcGIS系統(tǒng)結(jié)構(gòu)如圖3-1所示:圖3-1 A
34、rcGIS系統(tǒng)(xtng)結(jié)構(gòu)圖 這里(zhl)主要用到ArcGIS Desktop 以及(yj) ArcGIS Server。3.4.1 ArcGIS Desktop桌面客戶端產(chǎn)品主要包括ArcInfo、ArcEditor、ArcView、ArcReader和基于ArcGIS Engine組件二次開發(fā)的產(chǎn)品。是用戶創(chuàng)建、編輯、設(shè)計和使用地理信息的主要應用程序。每個產(chǎn)品不再敘述,這里主要用到其桌面應用:ArcCatalog、ArcMap和ArcToolBox。ArcCatalog:主要用于空間數(shù)據(jù)瀏覽、Geodatabase結(jié)構(gòu)定義、空間數(shù)據(jù)導入導出、網(wǎng)絡(luò)模型生成、對象關(guān)系和規(guī)則的定義、元數(shù)據(jù)
35、的定義和編輯修改等。ArcMap:這里主要將CAD的空間數(shù)據(jù)導入然后進行編輯制作地圖,其全面支持空間數(shù)據(jù)的可視化交互操作,可以隨心所欲的生成任意復雜的點線面符號??梢灾谱骱芏嘟ㄖ孛残畔⑿Ч?,支持3D渲染。ArcToolBox:主要進行空間數(shù)據(jù)格式轉(zhuǎn)換、疊加處理、空間分析、坐標轉(zhuǎn)換。軟件安裝不再詳述。3.4.2 ArcGIS ServerArcGIS Server 是一個分布式的系統(tǒng),為創(chuàng)建和管理給予服務器的GIS應用提供了一個高效的框架平臺。這里主要用于地圖的發(fā)布,以實現(xiàn)網(wǎng)頁調(diào)用、圖層的分層顯示、地圖上各要素的查詢。軟件安裝不再詳述。這里簡述服務器用戶權(quán)限配置。ArcGIS Server 安
36、裝完成后管理組賬戶、兩個本地組賬戶會被自動創(chuàng)建,其中Agsadmin應包含所有的管理server的賬戶,Agsuuers應包含所有將訪問serverobject是的賬戶。打開計算機管理中的本地用戶和組,確保Administrators組中包含:Administrato,ArcGISSOC,ArcGISSOM,ArcGISWebServices用戶;agsusers組中包含:Administrator,ArcGISSOC,ArcGISWebServices及本機用戶;agsadmin組中包含:Administrato,ArcGISSOM,ArcGISWebServices及本機用戶。ArcGIS
37、 Server系統(tǒng)結(jié)構(gòu)如圖3-2所示:圖3-2 ArcGIS Server系統(tǒng)(xtng)結(jié)構(gòu)圖第4章 系統(tǒng)設(shè)計第4章 系統(tǒng)(xtng)設(shè)計4.1 概要(giyo)設(shè)計4.1.1 系統(tǒng)數(shù)據(jù)流程(lichng)設(shè)計本系統(tǒng)面向所有瀏覽用戶,不需登陸,主要實現(xiàn)地圖的瀏覽功能。而且由于信息變更較小,后期更改也比較麻煩。因此不設(shè)后臺,沒有管理員。前期的基本任務就是網(wǎng)頁框架的設(shè)計,以及技術(shù)資料的搜集,功能的實現(xiàn)方式。由于之前解除Javascript較少,而且沒有完全看手冊寫代碼的經(jīng)歷,不知道該如何實現(xiàn)效果,以及實現(xiàn)怎樣的效果。系統(tǒng)以國立臺灣大學校園地圖(.tw/ntu.html)為模板,進行了系統(tǒng)大致設(shè)計
38、以及初步設(shè)想。在功能上主要實現(xiàn)五大功能:地圖的放大縮小、拖動;地理信息的查詢、顯示,主要是建筑物地理位置,后期酌情增加效果;地理面積的測量;距離測量;以及校園路徑規(guī)劃。其中最主要的功能是地理信息的顯示與瀏覽。使得用戶進入系統(tǒng)后,通過放大縮小可以很直觀的看到校園的地理位置信息。并且放大后可以很清楚的觀看校園平面圖,查找建筑位置。由于google地圖對于本校顯示信息較少,基本沒有建筑信息,僅有部分道路顯示,整個校園都為空白。后來在指導老師的幫助下,知道了可以用ArcGIS軟件進行地圖的制作,或者圖片的矢量轉(zhuǎn)換。因此前期逐漸完成基本功能的同時,主要進行地圖的制作。系統(tǒng)數(shù)據(jù)流如圖4-1所示: 圖4-1
39、 系統(tǒng)數(shù)據(jù)流圖4.1.2 數(shù)據(jù)字典建筑物信息數(shù)據(jù)字典如表4-1所示:表4-1 建筑物信息數(shù)據(jù)(shj)字典名字:建筑物信息別名:building描述:建筑物的相關(guān)信息定義:建筑物信息=建筑物id+建筑物名稱+建筑物圖片地址+建筑物面積+建筑物 中心經(jīng)度+建筑物中心緯度位置:存于數(shù)據(jù)庫,在查詢、顯示時應用綠化帶信息(xnx)數(shù)據(jù)字典如表4-2所示:表4-2 綠化帶信息(xnx)數(shù)據(jù)字典名字:綠化帶信息別名:green描述:綠化帶的相關(guān)信息定義:綠化帶信息=綠化帶id+綠化帶名稱+綠化帶圖片地址+綠化帶面積+綠化帶中心經(jīng)度別+綠化帶中心緯度位置:存于數(shù)據(jù)庫,在查詢、顯示時應用4.1.3 系統(tǒng)結(jié)構(gòu)設(shè)
40、計系統(tǒng)層次如圖4-2所示:圖4-2 系統(tǒng)層次圖系統(tǒng)結(jié)構(gòu)如圖4-3所示:圖4-3 系統(tǒng)(xtng)結(jié)構(gòu)圖4.1.4 表結(jié)構(gòu)設(shè)計各個表的結(jié)構(gòu)(jigu)如下:建筑物表如表4-3所示:表4-3 建筑物表(building)列名數(shù)據(jù)類型長度是否可為空說明Idlong10是建筑物IdNamestring10是建筑物名稱AREAlong10是建筑物面積Image_urlstring50是圖片地址Center_xdouble10是建筑物中心點經(jīng)度Center_ydouble10是建筑物中心點緯度說明(shumng):該表存儲建筑物相關(guān)的信息 綠化帶表如表4-4所示:表4-4 綠化帶表(green)列名數(shù)據(jù)類
41、型長度是否可為空說明Idlong10是綠化帶IdNamestring10是綠化帶名稱AREAlong10是綠化帶面積Image_urlstring50是圖片地址Center_xdouble10是綠化帶中心點經(jīng)度Center_ydouble10是綠化帶中心點緯度說明(shumng):該表存儲綠化帶相關(guān)(xinggun)的信息4.2 詳細(xingx)設(shè)計4.2.1 系統(tǒng)概述詳細設(shè)計階段的關(guān)鍵任務是確定怎樣具體地實現(xiàn)用戶需要的軟件系統(tǒng),也就是要設(shè)計出程序的“藍圖”。除了應該保證軟件的可靠性之外,使將來編寫出的程序可讀性好、容易理解、容易測試和維護,是詳細設(shè)計階段最重要的目標。系統(tǒng)主要涉及五個模塊,
42、地圖的放大縮小、拖動;地理信息的查詢、顯示,主要是建筑物地理位置,后期酌情增加效果;地理面積的測量;距離測量;以及校園路徑規(guī)劃。1.系統(tǒng)不涉及權(quán)限問題,所有瀏覽者都可以使用系統(tǒng)進行校園地圖的瀏覽、搜索、查看。對于地圖放大、縮小、拖動、列表查看,流程基本一樣。打開系統(tǒng)后即可進行操作。地圖基本瀏覽功能流程如圖4-4所示: SHAPE * MERGEFORMAT 圖4-4 地圖基本瀏覽功能流程圖2.對于地圖搜索功能必須確定(qudng)輸入內(nèi)容不為空時才繼續(xù)查詢,然后判斷查詢結(jié)果是否為空,不為空即查詢成功。 搜索(su su)流程(lichng)如圖4-5所示:圖4-5 搜索流程圖3.面積測量、距離
43、測量,首先要檢查是否允許;不同功能之間不能有疊加。因此對于兩個功能設(shè)置開關(guān)狀態(tài)參數(shù),只有監(jiān)聽到允許后在底圖上的測量操作才有效。面積、距離測量流程如圖4-6所示: SHAPE * MERGEFORMAT 圖4-6 面積(min j)、距離(jl)測量流程圖4.路徑規(guī)劃由于監(jiān)聽的是鼠標右擊,對于各個功能沒有沖突,因此不設(shè)開關(guān)。僅對起始點進行判斷,只有選擇起點之后(zhhu)才能選擇終點,在起始點都存在的情況下才能進行路徑規(guī)劃。路徑規(guī)劃流程如圖4-7所示:圖4-7 路徑(ljng)規(guī)劃流程圖4.2.2 系統(tǒng)(xtng)流程圖 系統(tǒng)(xtng)流程如圖4-8所示:圖4-8 系統(tǒng)(xtng)流程圖第5章
44、 系統(tǒng)實現(xiàn)第5章 系統(tǒng)(xtng)實現(xiàn)5.1 地圖(dt)制作5.1.1 底圖(d t)制作校園地圖的制作是一個較為復雜的步驟,首先需要精確的CAD圖紙然后將其轉(zhuǎn)換為地圖。感謝同學的幫助提供了已有的校園地圖,下圖為本校學弟學妹花了幾周時間,在校園內(nèi)進行測繪得出的圖紙,而且已經(jīng)生成為地圖。部分內(nèi)容不夠完整,為了不破壞地圖的精確度與美觀,后期未做修改,僅僅對顯示樣式、部分建筑物做了修改。初始ArcMap校園地圖如圖5-1所示:圖5-1 初始ArcMap校園地圖5.1.2 地圖整改為了疊加顯示效果的美觀,對地圖進行了顯示效果的更改。同時由于基本地圖樣式Shapefile對于數(shù)據(jù)查詢的支持比較緩慢,因
45、此要新建數(shù)據(jù)庫并且對全部圖層添加要素類。這里使用了ArcCatalog工具,進行數(shù)據(jù)庫的建立以及圖層類型的轉(zhuǎn)換。轉(zhuǎn)換后發(fā)現(xiàn)由于底圖由多人完成,部分樣式比較繁瑣且很多建筑物圖形比較分散,單個建筑被分成了好多幾何體,因此需對數(shù)據(jù)庫數(shù)據(jù)以及建筑樣式進行合并以及刪除。對于(duy)轉(zhuǎn)換為要素類的圖層,為了增加建筑物的陰影效果,這里需要對建筑物圖層制作制圖表達,簡單步驟如下:1.在內(nèi)容列表中,右鍵要素(yo s)類圖層,點擊“Convert Symbology to Representation”。將需要(xyo)制作陰影的圖層,增加制圖表達。2.右鍵點擊轉(zhuǎn)為制圖表達的圖層,打開屬性框,在符號選項卡上,
46、在“Solid color pattern”將顏色改為期望的陰影顏色。3.點擊右上角的加號按鈕添加幾何效果并選擇Move,點擊OK。4.將X、Y的偏移值分別改為3pt,-3pt,點擊OK。整改后的地圖如5-2所示:圖5-2 整改后ArcMap校園地圖5.1.3 地圖(dt)發(fā)布制作完成后的地圖必須經(jīng)過服務器發(fā)布才能在網(wǎng)頁中正常(zhngchng)調(diào)用,打開ArcGIS Server Manager輸入安裝時設(shè)置的用戶名和密碼。然后選擇(xunz)Add New Services進行設(shè)置,選擇自己制作的地圖,根據(jù)默認選項直接點擊下一步完成配置。需要指出對于存放地圖的文件夾必須對擁有權(quán)限進行更改,
47、添加現(xiàn)在使用用戶,并可以具有讀寫權(quán)限。對于ArcCatalog服務器的配置跟Server Manager基本一樣,不做詳述,需要注意的是對于域名的填寫,IIS對于本地默認為localhost。地圖服務器發(fā)布效果如圖5-3所示:圖5-3 地圖服務器發(fā)布效果圖5.2 系統(tǒng)各功能及實現(xiàn)效果圖5.2.1 地圖放大、縮小、拖動功能及效果圖Google Map API的簡易性直接將地圖服務進行了很好的封裝,基本的地圖服務只需要進行必要的參數(shù)設(shè)置既可以實現(xiàn)。不過對于企業(yè)級的應用必須在google網(wǎng)站進行注冊,申請密鑰之后才能使用,而且訪問次數(shù)也有限制。地圖放大、縮小、拖動功能效果如5-4所示:圖5-4 地圖
48、(dt)放大、縮小、拖動功能效果圖可以(ky)看到在未疊加ArcGIS地圖(dt)之前google地圖上對于校園信息的顯示幾乎為空。5.2.2 疊加ArcGIS地圖及效果圖對于ArcGIS地圖的疊加代碼量很少只用參考ArcGIS Extension API接口庫即可,但是在項目測試過程中發(fā)現(xiàn)始終疊加不上,后來發(fā)現(xiàn)時ArcGIS地圖未添加地理坐標的原因。經(jīng)過查詢及搜索,發(fā)現(xiàn)網(wǎng)上有一款ArcMap地圖制作軟件插件ArcBruTile,可以將google地圖添加到ArcMap中作為參考底圖。ArcBruTile插件安裝后效果如圖5-5所示:圖5-5 ArcBruTile插件安裝后效果圖然后對地圖進行
49、坐標系的轉(zhuǎn)換為WGS 1984 web標準后,發(fā)現(xiàn)校園地圖位于非洲幾內(nèi)亞灣,這可能是對于未添加地理坐標的地圖默認位置。然后將地圖全部選中進行位移之后,基本可以與google地圖上的校園輪廓重合,但是比例大小卻不對。后查看資料后找到地圖等比例放大縮小工具。在視圖、工具、自定義標簽中選中編輯器,然后將按比例縮放按鈕拖放到編輯工具條。然后選中整個地圖進行放大后重新定位,基本能實現(xiàn)與google地圖中校園輪廓的重合。再調(diào)用API接口函數(shù)進行地圖的疊加。地圖按比例縮放功能按鈕位置如圖5-6所示:圖5-6 地圖按比例(bl)縮放功能按鈕位置圖ArcGIS地圖(dt)與Google地圖疊加后效果如圖5-7所
50、示:圖5-7 ArcGIS地圖(dt)與Google地圖疊加后效果圖5.2.3 建筑物搜索及效果圖對于搜索功能的實現(xiàn),主要效果是顯示建筑物輪廓并進行高亮顯示。需注意的是對于ArcGIS地圖,shapefile對于查詢效果不好,需新建數(shù)據(jù)庫轉(zhuǎn)為要素類。這個在前邊制圖表達,制作地圖陰影是已經(jīng)實現(xiàn)。建筑物搜索功能實現(xiàn)效果如圖5-8所示:圖5-8 建筑物搜索(su su)功能效果圖對于列表(li bio)導航進行顯示,功能的實現(xiàn)(shxin)跟搜索基本一樣,不做贅述。5.2.4 面積、距離測量及效果圖面積距離的測量終點是如何動態(tài)的取多邊形,因為google已經(jīng)給出了多邊形取面積以及距離的函數(shù),因此只需
51、根據(jù)鼠標的點擊構(gòu)造多邊形,根據(jù)選擇點進行刷新即可。算法思想:監(jiān)聽鼠標左擊操作,如果有左擊時記錄坐標點位置,將其封裝為marker添加到marker數(shù)組中。然后監(jiān)聽marker是否被拖動,如果被拖動進行polygon的重繪。同時監(jiān)聽marker是否被點擊如果被點擊則將其從marker數(shù)組中移除,繼續(xù)polygon的重繪。對于polygon的重繪,首先要判斷是否已存在polygon,若存在清除后還要講坐標數(shù)組清除。然后將marker數(shù)組中的坐標全部重新提取為經(jīng)緯度坐標數(shù)組,封裝為polygon,根據(jù)polygon對象進行面積的獲得。面積測量功能實現(xiàn)效果如圖5-9所示:圖5-9 面積測量(cling
52、)功能效果圖距離(jl)測量(cling)功能實現(xiàn)效果如圖5-10所示:圖5-10 距離測量功能效果圖5.2.5 路徑規(guī)劃(guhu)功能及效果圖對于路徑規(guī)劃本來想對于校園,因為(yn wi)內(nèi)容較少,google地圖上的道路信息匱乏,使用google api接口不能實現(xiàn),還需要自己去添加路徑,寫路徑算法。但后來發(fā)現(xiàn)僅用其接口就能很好地實現(xiàn)路徑規(guī)劃功能,還算省了不少事。API中涉及到路徑(ljng)規(guī)劃的類主要是GDirections(map?: HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GMap2 GMap2
53、, panel?:Element)。這里主要是些效果的顯示,涉及到了在地圖上添加自定義控件,右擊選擇起始點。還涉及到了jquery即用javascript寫了另一套代碼庫,以實現(xiàn)漸入漸出效果。路徑規(guī)劃功能實現(xiàn)效果如圖5-11所示:圖5-11 路徑規(guī)劃功能效果圖5.2.6 鼠標滑動、點擊建筑顯示信息及效果圖對于鼠標滑動顯示效果,因為ArcGIS提供的API接口最終只提供了一個接口跟Google Map有關(guān)。而對于接口不能直接添加鼠標監(jiān)聽,還好根據(jù)接口中的方法可以將有用的信息進行提取,然后重新封裝為Google地圖中的對象類型。從而實現(xiàn)用Google API的方法實現(xiàn)監(jiān)聽。鼠標滑動點擊建筑物,信息
54、顯示效果如圖5-12所示:圖5-12 鼠標滑動(hudng)點擊建筑物,信息(xnx)顯示效果圖5.3 應用中出現(xiàn)的問題與解決(jiju)方法1.之前在做網(wǎng)站的過程中也遇到過這樣的問題,網(wǎng)頁中對于一些本地路徑無法完成解析,如果改成網(wǎng)絡(luò)路徑后就可以??墒亲远x信息是存儲在本地的,無法解析即不能完成相應的功能。例如用到對XML文件的讀取操作, javascript一直無法讀取本地文件。解決辦法:配置服務器即可。由于對于靜態(tài)網(wǎng)站,開始無需服務器即可瀏覽器打開,沒有添加IIS服務。但對于一些相對及本地路徑,處于安全的考慮瀏覽器默認不解析。當將網(wǎng)頁添加到服務器的網(wǎng)站管理目錄中時即可實現(xiàn)解析功能。2.這次
55、開發(fā)的地圖用的是老版本的API類庫。而老版本的類庫中沒有直接的函數(shù)實現(xiàn)對鼠標右鍵監(jiān)聽獲取地理坐標,因此無法獲取鼠標右鍵點擊后的彈出菜單選擇路徑規(guī)劃中的起點和終點。而用鼠標左擊獲取坐標實現(xiàn)路徑規(guī)劃,又跟面積、路徑測量功能相沖突。解決辦法:經(jīng)過仔細查看API手冊,發(fā)現(xiàn)GMap2類中提供了一個函數(shù)可以實現(xiàn)地圖中屏幕像素到地理坐標的轉(zhuǎn)化。因此可以首先獲取屏幕坐標,然后再轉(zhuǎn)為地理坐標即可實現(xiàn)地理坐標的獲取。3.上文中提到過的地圖疊加問題,由于地圖的制作過程中沒有添加地理經(jīng)緯度坐標,導致ArcGIS地圖無法與Google地圖進行疊加。由于地理坐標系統(tǒng)規(guī)范的差異,無法實現(xiàn)不同坐標規(guī)范的重合。解決辦法:對制作
56、的地圖添加于Google地圖相同的WGS 1984坐標系。然后使用網(wǎng)上提供的插件ArcBruTile,即可實現(xiàn)在ArcMap制作軟件中添加Google地圖。然后對照地圖將自己制作的校園地圖移動到正確的位置,即可實現(xiàn)地圖疊加功能。4.從ArcGIS服務器調(diào)用(dioyng)數(shù)據(jù)時速度特別慢。由于CAD導入進行(jnxng)修改后的地圖圖層類型為shapefile幾何類型。而shapefile類型對于(duy)數(shù)據(jù)庫的查詢支持較差,因而查詢速度很慢。解決辦法:在ArcCatalog中新建數(shù)據(jù)庫與元素集,同時將shapefile圖層轉(zhuǎn)換為元素類圖層,即可解決查詢速度問題。同時還可以實現(xiàn)制圖表達,建筑
57、物陰影效果。5.對于ArcGIS疊加的圖層無法實現(xiàn)對建筑物的監(jiān)聽,由于ArcGIS提供的擴展API只提供接口與Google地圖交互。如果不能生成Google API中的對象無法實現(xiàn)監(jiān)聽。解決方法:對象重構(gòu),用接口中的方法,依次將ArcGIS地圖中的幾何點取出。然后將幾何點重新封裝為Google API中的對象。6.將重構(gòu)后的新對象疊加到Google地圖上后發(fā)現(xiàn)鼠標移動到建筑上后,無法獲取坐標點,監(jiān)聽無效。即無法實現(xiàn)點擊重構(gòu)后的建筑,以顯示信息窗口。解決辦法:在數(shù)據(jù)庫中新建字段存儲建筑幾何體的中心點坐標,重構(gòu)Google API對象時將其一起封裝。不根據(jù)鼠標位置新建信息窗,根據(jù)數(shù)據(jù)庫中的建筑幾何
58、中心點坐標,新建信息窗。7.對于事件的監(jiān)聽,由于只有當監(jiān)聽事件發(fā)生時才觸發(fā),導致全局及局部變量無法使用,全部建筑物監(jiān)聽失敗。 解決辦法:循環(huán)外對每個監(jiān)聽對象單獨建立函數(shù)由程序后臺處理即可。第6章 系統(tǒng)測試第6章 系統(tǒng)(xtng)測試6.1 測試(csh)方法(fngf)的介紹黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,它是在已知產(chǎn)品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并
59、且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對軟件界面和軟件功能進行測試。黑盒法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。白盒測試按照程序內(nèi)部的邏輯對程序進行測試,檢查程序中的每條通路是否能按預定要求正確工作。白盒測試又稱為結(jié)構(gòu)測試。在這里主要采用的是黑盒測試,并以白盒測試為輔助測試。6.2 測試環(huán)境硬件:cup:Core M 2.0Ghz 內(nèi)存:2G 硬盤:320G軟件:Microsoft wind
60、ows7 Windows IIS ArcMap ArcCatalog ArcGIS Server 服務器 Sql Server 2005數(shù)據(jù)庫6.3 測試對象6.3.1 地圖放大、縮小、拖動功能滑動鼠標滑輪,是否能實現(xiàn)地圖的放大縮小。點擊地圖進行拖動,地圖是否隨鼠標移動。6.3.2 建筑物搜索功能點擊導航條的建筑物列表,是否能在地圖上高亮顯示建筑物輪廓。在搜索框中輸入正確的建筑物信息是否能在地圖上正確顯示。輸入錯誤的信息是否進行提示。6.3.3 面積、距離(jl)測量功能(gngnng)在未開啟功能時,點擊地圖是否進行標注開始測量。開啟功能后,點擊地圖開始測量,是否能顯示(xinsh)正確地測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年床墊銷售:代理商與酒店購銷協(xié)議
- 2024年攪拌車駕駛員勞動合同
- 2024年房產(chǎn)售樓部物業(yè)托管合同
- 天津辦公租房合同范例
- 與客戶合作分紅合同范例
- 同居贈與合同范例
- 公司擔保租房合同模板
- 2024年房地產(chǎn)項目智能家居系統(tǒng)合同
- 工地水電租用合同模板
- 出租房子門窗合同范例
- 2024年國際貨物買賣FOB條款合同
- 華南理工大學《嵌入式系統(tǒng)》2022-2023學年期末試卷
- 統(tǒng)編版(2024)七年級上冊道德與法治第三單元《珍愛我們的生命》測試卷(含答案)
- 江蘇省中等職業(yè)學校學業(yè)水平考試語文卷含答案
- 售后服務保障方案3篇
- 2025屆江蘇省南通市海安市海安高級中學物理高三上期中聯(lián)考試題含解析
- 電梯安裝主要施工方法及施工技術(shù)措施
- 2024-2030年全球辣椒市場投資潛力與未來運營模式分析研究報告
- 2024-2025學年二年級上學期數(shù)學期中模擬試卷(蘇教版)(含答案解析)
- 入團志愿書(2016版本)(可編輯打印標準A4) (1)
- 【土木工程本科畢業(yè)設(shè)計】《混凝土結(jié)構(gòu)》課程設(shè)計
評論
0/150
提交評論