首页 - 范文大全 - 文章正文

嗃矢(基于栅矢结合的WebGIS脚本库设计与实现)

时间:2020-10-02 13:32:22 作者:黑曼巴 分类:范文大全 浏览:112

网络地理信息系统是互联网技术应用于地理信息系统发展的产物[1]。自谷歌成功推出谷歌地球以来,网络地理信息系统开始从专业领域的企业级应用向大众化应用转变,一大批基于网络的地图服务开发商和产品如雨后春笋般涌现。在实际开发中,应根据实际需要和情况选择不同的开发模式。结合MAPGIS IMS脚本库,地图显示流程图的设计如下:1)初始化

网络地理信息系统是互联网技术应用于地理信息系统发展的产物[1]。自谷歌成功推出谷歌地球以来,网络地理信息系统开始从专业领域的企业级应用向大众化应用转变,一大批基于网络的地图服务开发商和产品如雨后春笋般涌现。在国外,有由美国,国家航空航天局联合制作的Microsoft,可视地球、图们江地图、第一幅图中的地图栏、图灵的51图、搜狐的Go2地图、亿动,大都市区、阿拉丁,的E市等。这些网络地理信息系统地图服务提供商和产品的出现促进了网络地理信息系统应用的普及,推动了网络地理信息系统技术的进步和发展,为研究和设计更好的方法和框架提供了现实基础。网络地理信息系统地图服务映射的工作流程如图1所示的:客户端通过AJAX与服务器交互,服务器根据请求的参数通过地理信息系统服务器获取相应的地图数据,并以一定的策略在客户端显示地图数据[2]。可以看出,脚本库主要负责客户机和服务器之间的参数交互,并根据一定的策略以适当的方式在客户机上显示地图。1当前主流地图应用程序接口的比较和分析1)GOOGLE MAP API:Google提供了三个应用程序接口,即Javascript版本、flash版本和静态地图,具有足够的开发资源和文档资源,以及强大的自定义组件和控件。其应用编程接口操作简单高效,满足一般系统开发的要求。在开发之前,你需要在它的主页上下载应用编程接口需要的密钥。2)MapAbcapi : MapBac接口都是用JavaScript调用的,使用方便,但是生成的地图都是flash格式,目前不支持其他地图。在开发之前,你需要在它的主页上下载应用编程接口需要的密钥。其他地图API:如51tidu、雅虎地图API、微软虚拟地球API、mapbar等。51ditu和Mapbar:国内地图服务的特点与MapABC相似,所有的JavaScript调用都方便在网上调用,但界面灵活性差,不适合WAP网站的开发。雅虎地图API:界面功能与谷歌相似,界面类型比谷歌更方便灵活,但目前雅虎地图API服务不支持中国地图。支持静态地图生成。微软虚拟地球API :功能全面,界面设计灵活,封装性好。支持静态地图服务器生成。总的来说,GOOGLE应用编程接口丰富、灵活但复杂,二次开发可以实现更多的功能,但上手很难;然而,MapABC API接口少,采用类傻瓜封装,这使得二次开发对上手,来说很容易,但与对,相比,它只能实现有限的功能。因此,对于对,企业级专业领域的应用,脚本库可以参考谷歌地图应用编程接口的封装;在对,流行的通用应用程序中,脚本库可以从MapABC API的封装中学习。在实际脚本库的开发中,应该根据不同的需求设计不同的打包方式。2架构和设计思想脚本库的架构可以选择当前流行的Flex Actionscript开发模式或传统的DOM Javascript开发模式。与两种开发模式相比,前者具有响应速度更快、界面性能更美观、界面元素更丰富、没有浏览器兼容性问题等优点。[3],但它也有投资大、产品线长、中文数据稀缺等缺点。在实际开发中,应根据实际需要和情况选择不同的开发模式。通过对当前对,主流地图应用编程接口的分析,我们将脚本库设计成一个1 1模式,即核心的库加用户界面库。核心库可分为全局方法类、基础地图显示类、地图查询类、地图绘制类等。用户界面库可分为鹰眼、导航条、右键菜单、点定位、闪光、地图中心对齐、模拟3d Toptip、进度条、版权日志、放大镜、注释、测量、操作状态、比例尺、贵宾信息点等。结合MAPGIS IMS脚本库,地图显示流程图的设计如下:1)初始化

map=im maps(“ZD dims”,imsmapconfig)://哎哎哎哎地图。添加控件(im导航,);//是真的吗地图。添加控件(imeaglemap、……);//关于地图。添加控制(im操作状态,……);//诶诶哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟地图。添加控件(imloader、……);//贺尔菲阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉地图。添加控件(imscale、……);//阿忠map.addcontrol(RtMenu、……);//你好

.//其他用户界面比如对2)创建地图DOM结构,也就是说,各种不同的DIV层。简单绘制查询和测量地图容器网格地图容器2矢量地图覆盖随地图移动的图层,如:flash、总线传输等。3)添加各种事件监控,如鼠标、键盘、调整大小、卸载等。4)确定地图类型是栅格地图还是矢量地图,并给出不同的处理方法,如如图2所示。3地图数据的组织对是地图中栅格地图的组织。我们采用瓦片金字塔模型,这是一个多尺度(或多分辨率)的层次结构模型。金字塔模型中每层地图的比例从金字塔模型的顶部向下逐渐增加2的倍数[4]。如如图3所示,0层图块应该具有最小的对。当地图逐渐放大时,依次显示1层和2层图块。为了提高地图数据在网上的显示速度,相应地,我们采用对栅格地图的表格形式组织网页。网页中的表格和图块金字塔模型应该在对和如图4中显示,每个表格应该是对,的每个图块,表格中的阶段数应该是对图块中的层数。这种组织的优点是,一方面,地图被分成几个图块,并且只请求和显示所需的图块,这有利于数据组织和调度;另一方面,当用户移动地图时,仅需要对的一些新区域中的瓦片,并且所请求的瓦片数据被保存在高速缓存中,这便于下一次读取,从而减少了对服务器的数据请求次数和工作量。4关注问题在脚本库的设计和开发中,我们还应该尽可能地考虑和关注以下问题。1)根据实际的规模和应用,我们应该尽力使界面使用合理,包装方便。2)尽量实现低内聚力和高聚合度。例如,避免在不同的类中调用全局变量,并尽量避免监视一个类中另一个类的操作或事件。3)尝试重构代码,精简和优化脚本,并减小文件大小。4)尝试支持在一个页面上共存多个地图分区。例如,脚本添加名称空间,保证变量的唯一性,不为DOM节点的标识属性赋值,并尝试改变直接调用DOM节点的标识,将它们赋给变量,然后调用变量。5)版本发布最好分为开发版本和发布版本。开发版本需要完整的注释和标准排版,用于内部开发和版本维护;该版本要求清除注释、添加版权声明、阻止类模块、不包装代码或使用模糊化软件的对版本进行模糊化。6)尽可能注意浏览器的兼容性。至少它需要与当前主流浏览器兼容,如IE6|7|8、FireFox2.0|3.0|3.5,并考虑与safari3.0、Opera9.0、Chrome等兼容。7)尽可能注意脚本库代码的标准化。关于脚本库代码的规范,请参考《Dojo Javascript编程规范》 [5],这是一个相当非错Javascript编程风格的规范。本规范制定了核心应用编程接口风格、推荐使用风格、命名规范、特殊命名规范等。包括对文件、变量、块、空格、注释、文档、函数、参数、返回值、伪代码等。

上一篇:快乐与忧愁作文450字(快乐与忧愁)

下一篇:《卖火柴的小女孩》(卖火柴的小女孩(扩写))

猜你喜欢
发布评论
登录后发表评论
登录后才能评论

AI 新用户?

免费使用内容重写服务

开始新的写作