基于Google Map API的校园地图的设计与实现(共41页)_第1页
基于Google Map API的校园地图的设计与实现(共41页)_第2页
基于Google Map API的校园地图的设计与实现(共41页)_第3页
基于Google Map API的校园地图的设计与实现(共41页)_第4页
基于Google Map API的校园地图的设计与实现(共41页)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE 2基于Google Map API的校园地图(dt)的设计与实现The design and implementation of campus map based on the Google Map API学生姓名:尹永超学生学号:09770213专业名称:软件工程指导教师:王丽计算机与信息(xnx)工程学院2013年6月17日独创性声明(shngmng)本人声明所呈交的毕业设计(论文)是本人在指导教师指导下进行的研究工作和取得的研究成果,除了文中特别加以引用标注之处外,论文中不包含(bohn)其他人已经发表或撰写过的研究成果,没有伪造数据的行为。毕业设计(b y sh j)(论文)

2、作者签名: 签字日期:2013年6月17日毕业设计(论文)版权使用授权书本毕业设计(论文)作者完全了解学校有关保留、使用论文的规定。同意学校保留并向有关管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权天津城建大学可以将本论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文。(保密的毕业设计(论文)在解密后适用本授权说明)毕业设计(论文)作者签名: 指导教师签名:签字日期:2013年6月17日 签字日期: 2013年6月17日摘 要随着计算机及计算机网络(wnglu)的普及和全国各院校的校园网络的日益完善、健全。各大高校(goxio)

3、的扩招合并(hbng), 学校规模越来越大,以及众多的机构地理位置信息的分散。有必要开发基于校园地理信息的电子地图。本系统以Google Maps 以及ArcGIS为基础,整个系统采用 B/S 的体系结构,以Google Map 为底图,同时在底图上叠加通过ArcMap自己制作的校园地图。利用Google Map提供的编程接口、以及ArcGIS提供的针对Google Map的扩展编程接口,实现地图信息的基本浏览功能。服务器端脚本解释语言主要采用javascript,以及基于javascript编写的类库语言包jquery、dojo。地图信息的发布通过 IIS Web 服务器,以及ArcGIS的

4、专门地图服务器。信息的管理使用ArcGIS自带的 SQL Server2005 数据库管理系统,系统开发工具主要是DreamweaverCs5、ArcMap、ArcCatalog。该系统支持用户任意时间、地点通过学校内部网络或广域网来进行操作。以实现校园地理信息的浏览、查询;路径规划;面积、距离测量功能。关键词:Google Map;ArcGIS地理信息系统;校园地图;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章 系统需求(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 系统E-R图 PAGEREF _Toc359316973 h 2 HYPERLINK l _Toc359316974 第3章 基础知识简介 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 设计中常用的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 相关软件介绍 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章 系统设计8 HYPERLINK l _Toc359316982 4.1概要设计8 HYPERLINK l _Toc359316983 4.1.1 系统数据流程设计8 HYPERLINK l _Toc359316984 4.1.2 数据字典8 HYPERLINK l _Toc359316985 4.1.3 系统结构设计9 HYPERLINK l _Toc359316986 4.1.

14、4表结构设计 PAGEREF _Toc359316986 h 10 HYPERLINK l _Toc359316987 4.2 详细设计 PAGEREF _Toc359316987 h 11 HYPERLINK l _Toc359316988 4.2.1 系统概述 PAGEREF _Toc359316988 h 11 HYPERLINK l _Toc359316989 4.2.2 系统流程图 PAGEREF _Toc359316989 h 13 HYPERLINK l _Toc359316990 第5章 系统实现 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 地图发布17 HYPERLINK l _Toc359316995 5.2系统各功能及实现效果图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路径规划(guhu)功能及效果图 PAGEREF _Toc359317000 h 21 HYPERLINK l _Toc359317001 5.2.6鼠标滑动、点击(din j)建筑显示信息及效果图 PAGEREF _Toc35931

17、7001 h 22 HYPERLINK l _Toc359317002 5.3 应用中出现的问题与解决方法 PAGEREF _Toc359317002 h 22 HYPERLINK l _Toc359317003 第6章 系统测试 PAGEREF _Toc359317003 h 24 HYPERLINK l _Toc359317004 6.1测试方法的介绍 PAGEREF _Toc359317004 h 24 HYPERLINK l _Toc359317005 6.2测试环境 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路径规划功能25 HYPERLINK l _Toc359317011

19、6.3.5鼠标滑动、点击建筑显示信息功能25 HYPERLINK l _Toc359317012 6.4测试用例及结果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路径规划功能 PAGEREF _Toc359317016 h 28 HYPERLINK l _Toc359317017 6.4.5鼠标滑动、点击建筑显示信

20、息功能29 HYPERLINK l _Toc359317018 总结31 HYPERLINK l _Toc359317019 致谢 PAGEREF _Toc359317019 h 32 HYPERLINK l _Toc359317020 参考文献 PAGEREF _Toc359317020 h 33第1章 引言PAGE 37第1章 引言(ynyn)1.1 选题(xun t)背景随着计算机及计算机网络的普及(pj)和全国各院校的校园网络的日益完善、健全,各大高校的扩招合并, 学校规模越来越大, 校园设施与环境也在不断的改善,以及众多的机构地理位置信息的分散。而网络信息的普及,及浏览应用的便利,为

21、了快速、准确获取校园的地理信息, 以及为校园的管理、规划、设计提供准确而详细的数据, 对校园导航的要求越来越迫切,有必要开发基于校园地理信息的电子地图。1.2 选题意义毕业设计是学生在校期间的最后一个教学环节,是学习深化和提高的一个重要过程,也是综合检验所学理论知识的一个重要环节。本系统提供图形化的界面,在普通电子地图上,用户可以进行对地图进行任意的放大缩小,地图漫游等;用户还可以进行地理信息的查询;路径的查询;用户还可以进行期望信息的查询、浏览。第2章 系统需求分析第2章 系统需求分析2.1 目标(mbio)1.便捷的界面(jimin)操作性能,详细的信息显示性能;系统交互性强,信息(xnx

22、)显示速度快,安全性高。2.实现建筑物信息的浏览、搜索、建筑平面显示、面积详细信息浏览。3.辅助功能面积测量、距离测量、出行路径规划。4.系统尽量给用户提供一个良好的操作环境。2.2 性能及运行需求要求系统便捷的操作方式,详细的信息显示。且系统运行稳定,交互速度较快,界面美观。运行环境:要求Windows系统下运行,已安装IIS信息网站发布服务、以及ArcGIS Server地图服务器。ArcMap、ArcCatalog地图编辑软件,及相配套数据库系统。2.3 功能需求系统面向所有浏览用户,主要完成如下功能:1)电子地图放大、缩小、平移;2)地图快速定位;3)显示重要的建筑; 5)查询路程信息

23、;6)显示地点查询信息;7)辅助功能面积测量、距离测量。2.4 系统E-R图建筑物实体如图2-1所示:图2-1 建筑物实体图绿化实体如图2-2所示:图2-2 绿化(lhu)实体(sht)图第3章 基础知识简介第3章 基础知识简介(jin ji)3.1 Google Map API 及ArcGIS for Google Map API介绍(jisho)Google 地图(dt)API以及 ArcGIS API分别是Google 公司及ESRI公司发布的地图服务调用类库。都是以Javascript语言为基础、采用B/S架构网页浏览的方式。前者提供基础的地图服务,在Google提供的地图的基础上,实

24、现地图的浏览、基本信息标注。但区域地图信息不够完善详尽,且很难实现后期更改。后者则是主要将ArcGIS制作的地图与Google地图进行叠加整合,提供更加详细的网页地理信息服务。3.2 设计中常用的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 容器中创建新的地图,该容器通常是一个DIV 元素

25、。通过构造函数可以指定地图的大小、类型、背景色、拖放光标类型等信息。 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),设置地图中心点坐标,并指定缩放级别,改变地图类型;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是以经度和纬度表示的地理坐标点。主要方法:lat(),lng()返回经纬度坐标。3Gevent命名空间该命名空间主要用于触发自定义事件。GEvent.addListener

29、(source:Object, event:String,handler:Function) 为源对象的自定义事件注册事件处理程序,如鼠标点击、鼠标移动。返回一个可用于最终注销处理程序的句柄。可使用源对象的this集合调用事件处理程序。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 类都是通过此接口实现的。此接口是ArcGIS叠加地图层与Google Map层进行数据交换的通道。ArcGIS对Google地图的扩展接口返回的数据全部归为这一接口,可以通过此接口的方法获取相应信息然后进行Googl

31、eMap对象的重构,实现Google Map相关功能。5esri.arcgis.gmaps.MapExtension类该类创建一个(y )新实例,将一个(y )MapExtension对象(duxing)绑定到google地图上。通过arcmap制图软件制作的校园地图就是通过这个类中addToMap(results, overlayOptions?, infoWindowOptions?)方法添加到google map底图中。6esri.arcgis.gmaps.QueryTask(url)该类通过指定的地图服务器图层地址访问图层数据,对图层进行查询。用execute(parameters,

32、asGeoXml?, callback?)方法执行查询语句,并且将查询结果放回给回调函数继续执行。7esri.arcgis.gmaps.Query()该类是查询语句,该类中通过各个属性指定查询参数。Where指定查询条件、outFields指定查询内容、returnGeometry指定是否返回几何信息。3.3 IIS服务器IIS是Internet Information Services(互联网信息服务)的简称,主要用于网站解析。虽然对于静态网站不需特定的服务器就能打开,但是测试时发现对于一些网络地址及本地文件不能正确打开,无法使用文件绝对及相对地址,需要IIS进行解析。同时对于ArcGIS

33、Server地图服务器也需要事先安装IIS才能正确运行。Windows xp及以后系统默认已经集成了IIS,只是默认情况下没有安装打开。需要请进入“控制面板”, “添加/删除程序添加/删除Windows组件”,选择“Internet信息服务(IIS)”。然后在“管理工具Internet信息服务”中对其进行启动、停止等操作。3.4 ArcGIS 相关软件介绍ArcGIS是美国环境系统研究所开发的新一代GIS软件,是一个统一的地理信息系统平台,由数据服务器ArcSDE及4个基础框架组成:桌面软件Desktop、服务器GIS、嵌入式GIS和移动GIS。ArcGIS系统结构如图3-1所示:图3-1 A

34、rcGIS系统(xtng)结构图 这里(zhl)主要用到ArcGIS Desktop 以及(yj) ArcGIS Server。3.4.1 ArcGIS Desktop桌面客户端产品主要包括ArcInfo、ArcEditor、ArcView、ArcReader和基于ArcGIS Engine组件二次开发的产品。是用户创建、编辑、设计和使用地理信息的主要应用程序。每个产品不再叙述,这里主要用到其桌面应用:ArcCatalog、ArcMap和ArcToolBox。ArcCatalog:主要用于空间数据浏览、Geodatabase结构定义、空间数据导入导出、网络模型生成、对象关系和规则的定义、元数据

35、的定义和编辑修改等。ArcMap:这里主要将CAD的空间数据导入然后进行编辑制作地图,其全面支持空间数据的可视化交互操作,可以随心所欲的生成任意复杂的点线面符号。可以制作很多建筑地貌信息效果,支持3D渲染。ArcToolBox:主要进行空间数据格式转换、叠加处理、空间分析、坐标转换。软件安装不再详述。3.4.2 ArcGIS ServerArcGIS Server 是一个分布式的系统,为创建和管理给予服务器的GIS应用提供了一个高效的框架平台。这里主要用于地图的发布,以实现网页调用、图层的分层显示、地图上各要素的查询。软件安装不再详述。这里简述服务器用户权限配置。ArcGIS Server 安

36、装完成后管理组账户、两个本地组账户会被自动创建,其中Agsadmin应包含所有的管理server的账户,Agsuuers应包含所有将访问serverobject是的账户。打开计算机管理中的本地用户和组,确保Administrators组中包含:Administrato,ArcGISSOC,ArcGISSOM,ArcGISWebServices用户;agsusers组中包含:Administrator,ArcGISSOC,ArcGISWebServices及本机用户;agsadmin组中包含:Administrato,ArcGISSOM,ArcGISWebServices及本机用户。ArcGIS

37、 Server系统结构如图3-2所示:图3-2 ArcGIS Server系统(xtng)结构图第4章 系统设计第4章 系统(xtng)设计4.1 概要(giyo)设计4.1.1 系统数据流程(lichng)设计本系统面向所有浏览用户,不需登陆,主要实现地图的浏览功能。而且由于信息变更较小,后期更改也比较麻烦。因此不设后台,没有管理员。前期的基本任务就是网页框架的设计,以及技术资料的搜集,功能的实现方式。由于之前解除Javascript较少,而且没有完全看手册写代码的经历,不知道该如何实现效果,以及实现怎样的效果。系统以国立台湾大学校园地图(.tw/ntu.html)为模板,进行了系统大致设计

38、以及初步设想。在功能上主要实现五大功能:地图的放大缩小、拖动;地理信息的查询、显示,主要是建筑物地理位置,后期酌情增加效果;地理面积的测量;距离测量;以及校园路径规划。其中最主要的功能是地理信息的显示与浏览。使得用户进入系统后,通过放大缩小可以很直观的看到校园的地理位置信息。并且放大后可以很清楚的观看校园平面图,查找建筑位置。由于google地图对于本校显示信息较少,基本没有建筑信息,仅有部分道路显示,整个校园都为空白。后来在指导老师的帮助下,知道了可以用ArcGIS软件进行地图的制作,或者图片的矢量转换。因此前期逐渐完成基本功能的同时,主要进行地图的制作。系统数据流如图4-1所示: 图4-1

39、 系统数据流图4.1.2 数据字典建筑物信息数据字典如表4-1所示:表4-1 建筑物信息数据(shj)字典名字:建筑物信息别名:building描述:建筑物的相关信息定义:建筑物信息=建筑物id+建筑物名称+建筑物图片地址+建筑物面积+建筑物 中心经度+建筑物中心纬度位置:存于数据库,在查询、显示时应用绿化带信息(xnx)数据字典如表4-2所示:表4-2 绿化带信息(xnx)数据字典名字:绿化带信息别名:green描述:绿化带的相关信息定义:绿化带信息=绿化带id+绿化带名称+绿化带图片地址+绿化带面积+绿化带中心经度别+绿化带中心纬度位置:存于数据库,在查询、显示时应用4.1.3 系统结构设

40、计系统层次如图4-2所示:图4-2 系统层次图系统结构如图4-3所示:图4-3 系统(xtng)结构图4.1.4 表结构设计各个表的结构(jigu)如下:建筑物表如表4-3所示:表4-3 建筑物表(building)列名数据类型长度是否可为空说明Idlong10是建筑物IdNamestring10是建筑物名称AREAlong10是建筑物面积Image_urlstring50是图片地址Center_xdouble10是建筑物中心点经度Center_ydouble10是建筑物中心点纬度说明(shumng):该表存储建筑物相关的信息 绿化带表如表4-4所示:表4-4 绿化带表(green)列名数据类

41、型长度是否可为空说明Idlong10是绿化带IdNamestring10是绿化带名称AREAlong10是绿化带面积Image_urlstring50是图片地址Center_xdouble10是绿化带中心点经度Center_ydouble10是绿化带中心点纬度说明(shumng):该表存储绿化带相关(xinggun)的信息4.2 详细(xingx)设计4.2.1 系统概述详细设计阶段的关键任务是确定怎样具体地实现用户需要的软件系统,也就是要设计出程序的“蓝图”。除了应该保证软件的可靠性之外,使将来编写出的程序可读性好、容易理解、容易测试和维护,是详细设计阶段最重要的目标。系统主要涉及五个模块,

42、地图的放大缩小、拖动;地理信息的查询、显示,主要是建筑物地理位置,后期酌情增加效果;地理面积的测量;距离测量;以及校园路径规划。1.系统不涉及权限问题,所有浏览者都可以使用系统进行校园地图的浏览、搜索、查看。对于地图放大、缩小、拖动、列表查看,流程基本一样。打开系统后即可进行操作。地图基本浏览功能流程如图4-4所示: SHAPE * MERGEFORMAT 图4-4 地图基本浏览功能流程图2.对于地图搜索功能必须确定(qudng)输入内容不为空时才继续查询,然后判断查询结果是否为空,不为空即查询成功。 搜索(su su)流程(lichng)如图4-5所示:图4-5 搜索流程图3.面积测量、距离

43、测量,首先要检查是否允许;不同功能之间不能有叠加。因此对于两个功能设置开关状态参数,只有监听到允许后在底图上的测量操作才有效。面积、距离测量流程如图4-6所示: SHAPE * MERGEFORMAT 图4-6 面积(min j)、距离(jl)测量流程图4.路径规划由于监听的是鼠标右击,对于各个功能没有冲突,因此不设开关。仅对起始点进行判断,只有选择起点之后(zhhu)才能选择终点,在起始点都存在的情况下才能进行路径规划。路径规划流程如图4-7所示:图4-7 路径(ljng)规划流程图4.2.2 系统(xtng)流程图 系统(xtng)流程如图4-8所示:图4-8 系统(xtng)流程图第5章

44、 系统实现第5章 系统(xtng)实现5.1 地图(dt)制作5.1.1 底图(d t)制作校园地图的制作是一个较为复杂的步骤,首先需要精确的CAD图纸然后将其转换为地图。感谢同学的帮助提供了已有的校园地图,下图为本校学弟学妹花了几周时间,在校园内进行测绘得出的图纸,而且已经生成为地图。部分内容不够完整,为了不破坏地图的精确度与美观,后期未做修改,仅仅对显示样式、部分建筑物做了修改。初始ArcMap校园地图如图5-1所示:图5-1 初始ArcMap校园地图5.1.2 地图整改为了叠加显示效果的美观,对地图进行了显示效果的更改。同时由于基本地图样式Shapefile对于数据查询的支持比较缓慢,因

45、此要新建数据库并且对全部图层添加要素类。这里使用了ArcCatalog工具,进行数据库的建立以及图层类型的转换。转换后发现由于底图由多人完成,部分样式比较繁琐且很多建筑物图形比较分散,单个建筑被分成了好多几何体,因此需对数据库数据以及建筑样式进行合并以及删除。对于(duy)转换为要素类的图层,为了增加建筑物的阴影效果,这里需要对建筑物图层制作制图表达,简单步骤如下:1.在内容列表中,右键要素(yo s)类图层,点击“Convert Symbology to Representation”。将需要(xyo)制作阴影的图层,增加制图表达。2.右键点击转为制图表达的图层,打开属性框,在符号选项卡上,

46、在“Solid color pattern”将颜色改为期望的阴影颜色。3.点击右上角的加号按钮添加几何效果并选择Move,点击OK。4.将X、Y的偏移值分别改为3pt,-3pt,点击OK。整改后的地图如5-2所示:图5-2 整改后ArcMap校园地图5.1.3 地图(dt)发布制作完成后的地图必须经过服务器发布才能在网页中正常(zhngchng)调用,打开ArcGIS Server Manager输入安装时设置的用户名和密码。然后选择(xunz)Add New Services进行设置,选择自己制作的地图,根据默认选项直接点击下一步完成配置。需要指出对于存放地图的文件夹必须对拥有权限进行更改,

47、添加现在使用用户,并可以具有读写权限。对于ArcCatalog服务器的配置跟Server Manager基本一样,不做详述,需要注意的是对于域名的填写,IIS对于本地默认为localhost。地图服务器发布效果如图5-3所示:图5-3 地图服务器发布效果图5.2 系统各功能及实现效果图5.2.1 地图放大、缩小、拖动功能及效果图Google Map API的简易性直接将地图服务进行了很好的封装,基本的地图服务只需要进行必要的参数设置既可以实现。不过对于企业级的应用必须在google网站进行注册,申请密钥之后才能使用,而且访问次数也有限制。地图放大、缩小、拖动功能效果如5-4所示:图5-4 地图

48、(dt)放大、缩小、拖动功能效果图可以(ky)看到在未叠加ArcGIS地图(dt)之前google地图上对于校园信息的显示几乎为空。5.2.2 叠加ArcGIS地图及效果图对于ArcGIS地图的叠加代码量很少只用参考ArcGIS Extension API接口库即可,但是在项目测试过程中发现始终叠加不上,后来发现时ArcGIS地图未添加地理坐标的原因。经过查询及搜索,发现网上有一款ArcMap地图制作软件插件ArcBruTile,可以将google地图添加到ArcMap中作为参考底图。ArcBruTile插件安装后效果如图5-5所示:图5-5 ArcBruTile插件安装后效果图然后对地图进行

49、坐标系的转换为WGS 1984 web标准后,发现校园地图位于非洲几内亚湾,这可能是对于未添加地理坐标的地图默认位置。然后将地图全部选中进行位移之后,基本可以与google地图上的校园轮廓重合,但是比例大小却不对。后查看资料后找到地图等比例放大缩小工具。在视图、工具、自定义标签中选中编辑器,然后将按比例缩放按钮拖放到编辑工具条。然后选中整个地图进行放大后重新定位,基本能实现与google地图中校园轮廓的重合。再调用API接口函数进行地图的叠加。地图按比例缩放功能按钮位置如图5-6所示:图5-6 地图按比例(bl)缩放功能按钮位置图ArcGIS地图(dt)与Google地图叠加后效果如图5-7所

50、示:图5-7 ArcGIS地图(dt)与Google地图叠加后效果图5.2.3 建筑物搜索及效果图对于搜索功能的实现,主要效果是显示建筑物轮廓并进行高亮显示。需注意的是对于ArcGIS地图,shapefile对于查询效果不好,需新建数据库转为要素类。这个在前边制图表达,制作地图阴影是已经实现。建筑物搜索功能实现效果如图5-8所示:图5-8 建筑物搜索(su su)功能效果图对于列表(li bio)导航进行显示,功能的实现(shxin)跟搜索基本一样,不做赘述。5.2.4 面积、距离测量及效果图面积距离的测量终点是如何动态的取多边形,因为google已经给出了多边形取面积以及距离的函数,因此只需

51、根据鼠标的点击构造多边形,根据选择点进行刷新即可。算法思想:监听鼠标左击操作,如果有左击时记录坐标点位置,将其封装为marker添加到marker数组中。然后监听marker是否被拖动,如果被拖动进行polygon的重绘。同时监听marker是否被点击如果被点击则将其从marker数组中移除,继续polygon的重绘。对于polygon的重绘,首先要判断是否已存在polygon,若存在清除后还要讲坐标数组清除。然后将marker数组中的坐标全部重新提取为经纬度坐标数组,封装为polygon,根据polygon对象进行面积的获得。面积测量功能实现效果如图5-9所示:图5-9 面积测量(cling

52、)功能效果图距离(jl)测量(cling)功能实现效果如图5-10所示:图5-10 距离测量功能效果图5.2.5 路径规划(guhu)功能及效果图对于路径规划本来想对于校园,因为(yn wi)内容较少,google地图上的道路信息匮乏,使用google api接口不能实现,还需要自己去添加路径,写路径算法。但后来发现仅用其接口就能很好地实现路径规划功能,还算省了不少事。API中涉及到路径(ljng)规划的类主要是GDirections(map?: HYPERLINK /intl/zh-CN/apis/maps/documentation/reference.html l GMap2 GMap2

53、, panel?:Element)。这里主要是些效果的显示,涉及到了在地图上添加自定义控件,右击选择起始点。还涉及到了jquery即用javascript写了另一套代码库,以实现渐入渐出效果。路径规划功能实现效果如图5-11所示:图5-11 路径规划功能效果图5.2.6 鼠标滑动、点击建筑显示信息及效果图对于鼠标滑动显示效果,因为ArcGIS提供的API接口最终只提供了一个接口跟Google Map有关。而对于接口不能直接添加鼠标监听,还好根据接口中的方法可以将有用的信息进行提取,然后重新封装为Google地图中的对象类型。从而实现用Google API的方法实现监听。鼠标滑动点击建筑物,信息

54、显示效果如图5-12所示:图5-12 鼠标滑动(hudng)点击建筑物,信息(xnx)显示效果图5.3 应用中出现的问题与解决(jiju)方法1.之前在做网站的过程中也遇到过这样的问题,网页中对于一些本地路径无法完成解析,如果改成网络路径后就可以。可是自定义信息是存储在本地的,无法解析即不能完成相应的功能。例如用到对XML文件的读取操作, javascript一直无法读取本地文件。解决办法:配置服务器即可。由于对于静态网站,开始无需服务器即可浏览器打开,没有添加IIS服务。但对于一些相对及本地路径,处于安全的考虑浏览器默认不解析。当将网页添加到服务器的网站管理目录中时即可实现解析功能。2.这次

55、开发的地图用的是老版本的API类库。而老版本的类库中没有直接的函数实现对鼠标右键监听获取地理坐标,因此无法获取鼠标右键点击后的弹出菜单选择路径规划中的起点和终点。而用鼠标左击获取坐标实现路径规划,又跟面积、路径测量功能相冲突。解决办法:经过仔细查看API手册,发现GMap2类中提供了一个函数可以实现地图中屏幕像素到地理坐标的转化。因此可以首先获取屏幕坐标,然后再转为地理坐标即可实现地理坐标的获取。3.上文中提到过的地图叠加问题,由于地图的制作过程中没有添加地理经纬度坐标,导致ArcGIS地图无法与Google地图进行叠加。由于地理坐标系统规范的差异,无法实现不同坐标规范的重合。解决办法:对制作

56、的地图添加于Google地图相同的WGS 1984坐标系。然后使用网上提供的插件ArcBruTile,即可实现在ArcMap制作软件中添加Google地图。然后对照地图将自己制作的校园地图移动到正确的位置,即可实现地图叠加功能。4.从ArcGIS服务器调用(dioyng)数据时速度特别慢。由于CAD导入进行(jnxng)修改后的地图图层类型为shapefile几何类型。而shapefile类型对于(duy)数据库的查询支持较差,因而查询速度很慢。解决办法:在ArcCatalog中新建数据库与元素集,同时将shapefile图层转换为元素类图层,即可解决查询速度问题。同时还可以实现制图表达,建筑

57、物阴影效果。5.对于ArcGIS叠加的图层无法实现对建筑物的监听,由于ArcGIS提供的扩展API只提供接口与Google地图交互。如果不能生成Google API中的对象无法实现监听。解决方法:对象重构,用接口中的方法,依次将ArcGIS地图中的几何点取出。然后将几何点重新封装为Google API中的对象。6.将重构后的新对象叠加到Google地图上后发现鼠标移动到建筑上后,无法获取坐标点,监听无效。即无法实现点击重构后的建筑,以显示信息窗口。解决办法:在数据库中新建字段存储建筑几何体的中心点坐标,重构Google API对象时将其一起封装。不根据鼠标位置新建信息窗,根据数据库中的建筑几何

58、中心点坐标,新建信息窗。7.对于事件的监听,由于只有当监听事件发生时才触发,导致全局及局部变量无法使用,全部建筑物监听失败。 解决办法:循环外对每个监听对象单独建立函数由程序后台处理即可。第6章 系统测试第6章 系统(xtng)测试6.1 测试(csh)方法(fngf)的介绍黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并

59、且保持外部信息(如数据库或文件)的完整性。黑盒法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。黑盒法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。白盒测试按照程序内部的逻辑对程序进行测试,检查程序中的每条通路是否能按预定要求正确工作。白盒测试又称为结构测试。在这里主要采用的是黑盒测试,并以白盒测试为辅助测试。6.2 测试环境硬件:cup:Core M 2.0Ghz 内存:2G 硬盘:320G软件:Microsoft wind

60、ows7 Windows IIS ArcMap ArcCatalog ArcGIS Server 服务器 Sql Server 2005数据库6.3 测试对象6.3.1 地图放大、缩小、拖动功能滑动鼠标滑轮,是否能实现地图的放大缩小。点击地图进行拖动,地图是否随鼠标移动。6.3.2 建筑物搜索功能点击导航条的建筑物列表,是否能在地图上高亮显示建筑物轮廓。在搜索框中输入正确的建筑物信息是否能在地图上正确显示。输入错误的信息是否进行提示。6.3.3 面积、距离(jl)测量功能(gngnng)在未开启功能时,点击地图是否进行标注开始测量。开启功能后,点击地图开始测量,是否能显示(xinsh)正确地测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论