已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MicroStation调用WebGIS地图服务的开发与应用第34卷第2期2011年O3月现代测绘ModernSurvevinandMaV01.34.No.2Mar.2011MicroStation调用WebGIS地图服务的开发与应用乔新,王海银,胡振彪(青岛市勘察测绘研究院,山东青岛266032)摘要本文通过在MicroStation平台上开发MDL程序,实现对WebGIS(以ArcIMS为例)地图服务接口的访问,并将获得的地图图片以光栅影像的方式直接插入到MicroStation平台,从而实现了CAD数据与远程GIS数据及影像的叠加使用,解决了日常工作中多源数据无法便捷融合使用的问题,并在实际测绘工作中取得了令人满意的效果.关键词MicroStationWebGISArcIMS地图服务中图分类号:P208文献标识码:B文章编号:16724097(2011)020029031前言目前比较流行的CAD制图平台主要为AutoCAD和MicroStation,它们几乎囊括了全世界90的制图应用.而在实际工作中,我们经常需要将制图数据与GIS数据融合在一起使用,例如将GIS数据叠加在当前制图数据上,从而了解一个工程项目附近的地理数据情况,而这些空间GIS数据往往都是存储在远程服务器上的,这就需要制图平台和服务器端GIS数据的交互操作.笔者基于此需要已经开发了AutoCAD与GIS数据的交互操作1,而ESRI公司也于不久前发布了ArcGISforAutoCAD免费插件.以实现AutoCAD环境下对GIS数据的浏览,查询以及对GIS模型和分析结果的展示等功能.但MicroStation目前仍没有提供类似的服务,仅能通过BentleyMap来读取OracleSpatial中存储的基于OGC格式的空间地理数据,或者通过ConnectorforArcGIS插件访问ArcSDE管理的空间数据,但这两种方式的数据兼容性和可扩展性都比较差且软件购买费用也相当不菲.但幸运的是,MicroStation提供了强大的二次开发函数,可以实现几乎所有的图形数据操作.因此我们考虑通过编写二次开发程序来读取并显示WebGIS服务所提供的空间数据.2基本思路作为地理信息数据的前端显示平台,MicroStation二次开发包中提供了栅格数据的显示函数,因此我们可以将ArcIMS发布的GIS数据以图片的形式显示到MicroStation中作为矢量地形图数据的背景,这样既实现了CAD数据和GIS数据的叠加,也扩展了地图服务的应用方式,使地图服务不仅局限于IE等浏览器,还可以通过与现有软件平台结合使地图服务变得更加实用.同时,该技术路线不受数据格式的限制,任何GIS数据只要可以转换为图片格式就能轻松地在MicroStation中进行显示.3相关概念3.1MDL开发MicroStation的二次开发方式多种多样,包括VBA,MDL,Addins等.由于对GIS数据的浏览需要频繁平移,缩放等操作,因此我们决定采用执行效率最高,最稳定的MDL开发方式.MDL是MicroStationDevelopmentLanguage的缩写.早期的pureMDL是一套MicroStation的API函数加上C语言,通过MicroStation自己的编译器和链接器,形成最终的MicroStation应用程序ma文件.而MicroStationXM版之后的MDL开发方式升级为NativeCode,它可以方便地调用操作系统级的功能,如COM,AD0,ActiveX等,从而更加方便地向服务器端发送数据请求,并接收来自服务器端的数据_3.3.2ArcIMS地图服务ArdMS是一个基于服务器的产品,它提供了一个在网页上发布GIS数据的工具,通过它可以组织网络中的用户进行数据的获取及浏览等操作,使用包含于其中的HTML或Java;ArcIMS用户可以很轻松地通过网页浏览器获取服务.此外,ArcIMS服务还可30现代测绘第33卷以通过不同的客户端实现,它包括ArcGIS桌面系统,利用ArcGISEngine开发的用户自定义程序,ArcReaderArcPadArcGISServerMapObjectsJava版以及多种移动和无线设备.在这里我们把MicroStation作为ArcIMS的一个客户端,通过MicroStation程序向服务器发送一个请求,ArcIMS服务器则根据请求进行数据提取并将结果返回客户端.通常的ArclMS请求包括地图生成,特定范围地理数据提取,元数据搜索等.生成的地图是用ArcIMS图像渲染功能向客户端传送的一个地图快照.4程序开发程序的流程分为以下四个步骤:(1)获取客户端MicroStation平台显示区域的地理坐标.显示区域分为3种情况.a.全图显示:即不管视图平移或缩放到何种程度,当前视图的全部区域内都会显示相应的GIS数据;b.指定图幅的显示:由于日常工作都是基于标准地形图图幅的,因此用户常常需要按照图幅号来显示其对应区域内的GIS数据;e.任意矩形区域的显示:由用户拖拽矩形框来确定GIS数据的显示范围.(2)将此地理坐标信息发送到服务器端.(3)服务器端的ArcIMS服务根据该信息提取范围内的GIS数据.参考目前流行的地图数据网络发布平台的运行方式,同时考虑到用户有可能会重复浏览某个区域,我们将ArcIMS提取的GIS数据以jpg图片格式存放到客户端本地硬盘的缓存目录下,以供被重复调用.(4)MicroStation平台获取本地硬盘的GIS数据图片,进行前端显示和刷新工作.程序的功能开发涉及两部分:ArclMS地图服务接口和MicroStation客户端.4.1ArcIMS地图服务接口web数据发布部分采用ArclMS的.NetLink连接器开发,其主要功能是根据客户端发送的请求返回地图.关键代码如下:/获取MicroStation发送的地图范围及宽度高度信息xMiFIdouble.Parse(Request.OueryStringXMIN);yMindouble.Parse(Request.QueryStringYMINIt);xMaxdouble.Parse(Request.QueryStringXMAX);yMaxdouble.Parse(Request.QueryStringYMAX);iWidthxMaxxMin:iHeightyMaxyMim/创建ArcIMS服务,并获取地图ServerConnectionconArclMSnewServerConnection(localhost,5300);System.Xm1.XmlDocumentaxlResponsenewSystern.Xm1.XmlDocument();conArcIMS.ServiceName一ditu:stringsAXLText一:sAXLText一<xmlversion=1.0encoding=UTF一8><ARCXMLversion1.1><REQUEST>GETIMAGE>%PROPERTIES>IMAG-ESIZEwidth=+iWidth+height一+iHeight+/><ENLOPEminx+xMin+miny一+yMin+maxx-+xMax+maxy一+yMax+/><LAYERLIST></LAYERLIST><LEGENDdisplay=false/>+strBG+d/PROPERTIES></GET_IMAGE><fREQUEST</ARCXML>stringstrResponseconArcIMS.Send(sAXLText):axlResponse.LoadXml(strResponse);System.Xm1.XmlNodeListnodeOutput=axlResponse.GetElementsByTagName(OUTPUT):imageURLnodeOutput0.Attributesurl.Value;我们将imageURI得到的地图连接返回用户客户端,放到缓存目录中,然后通过MDL程序根据指定的坐标范围数据,把图片文件显示到MicroStation的前端界面上,从而实现CAD数据和GIS数据的动态叠加应用.4.2MicroStation客户端利用NativeCode方式开发的MDL程序将用户在MicroStation视图中拖拽选择的矩形框所指定的范围坐标发送到服务器端:http:/qdkcyg/GetMap.aspxXMIN一210120&YMIN一115000&XMAX=210620&YMAX=115500服务器端将该范围内的GIS数据/影像图片发送回客户端,然后MicroStation按照如下的步骤进行图片的显示:1.将用户指定的地理坐标转换为视图的屏幕设备坐标;2.将缓存目录中的GIS数据图片读入内存;3.将内存中的数据绘制在视图中.主要代码如下:第2期乔新等:MicroStation调用WebGIS地图服务的开发与应用31Il1.将用户指定的地理范围坐标grecCnt,结合视图的地理范围坐标,转换成屏幕设备坐标mdlViewgetParameters(&origin,¢er,delta,NULL,NULL,tcb一>lstvw);/(1).获取当前view的设备坐标范围windowmdlWindowviewWindowGet(tcb一>lstvw);mdlWindowcontentRectGetLocal(&viewDevRect.window);/(2).计算横向x和纵向Y的设备坐标/地理坐标比例ratioxviewDevRect.corner.x/(2*(center.Yori-gin.y);ratioyviewDevRect.corner.Y/(2*(center.Xori-gin.x);II(3).计算指定矩形框范围的屏幕坐标devShowReet.origin.XviewDevRect.origin.X+(grecCnt.origin.yorighy)*ratiox;devShowRect.origin.YviewDevRect.corner.Y一(grecCnt.corner.x-origin.x)*ratioy;devShowRect.corner.XviewDevRect.origin.X+(grecCnt.corner.yorigin.y)*ratiox;devShowRect.corner.yviewDevRect.corner.y一(grecCnt.origin.x-origin.x)*ratioy;/(4).计算矩形框范围的长度,宽度destSize.xdevShowRect.corner.XdevShowRect.origin.X+1;destSize.YdevShowRect.corner.YdevShowRect.origin.y+1;/z.将jPg图片读到destSize范围内,返回rgbBufferP内存数据if(SUCCESS=一mdlFilefind(fuUFileSpec,C:cache255000181000255500181500.JPG,NULL,NULL)mdllmagereadFileToRGB(&rgbBufferP,&itemSize,fullFileSpee,一1,&destSize,NULL);/3.将内存中的数据显示在当前视图中mdlWindowrgbDataDraw(window,&devShowRect,destSize.X,rgbBufferP,DITHERMODEErrorDiffusion,TRUECOLOR_Seperate,NULL);完成后,MicroStation调用ArcIMS地图服务效果图如下:图1MicroStation调用ArclMS地图服务截图5结束语目前,该程序已经成功的将存储于服务器端的各种GIS数据(卫星影像,门牌号,GIS专题数据等)融人到基础地理数据的生产作业过程中.该模式可以使作业人员在MicroStation平台中浏览其感兴趣范围内的所有GIS数据情况,为作业和决策带来了极大的方便,同时该方式也大大提高了我院各种GIS数据库的使用率.参考文献1王海银,胡振彪.AutoCAD调用WebGIS地图服务的开发与应用IJ.测绘通报.2007(11):5456DevelopmentandApplicationofUsingWebGISMapServicesinMicroStationQIA0Xin,WANGHa1.yin,HUZhen.biao(QingdaoGeotechnicalInvestigationandSurveyingResearchInstitute,QingdaoShandong266032,China)AbstractThedevelopingofmicrostation-basedMDLprogramwhichcouldaccessWeb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度互联网企业高级管理人员劳动合同模板2篇
- 二零二五年度企业员工合同模板汇编:试用期管理篇3篇
- 农村建房施工安全责任主体确认与责任划分合同(2025)3篇
- 2025年度养殖场养殖场用工服务合同3篇
- 2025年度农村宅基地房屋买卖及文化遗产传承保护合同
- 2025年度农产品电商平台农产品销售佣金合同版3篇
- 二零二五年度养老院与老人健康监测与智能设备应用服务合同3篇
- 2025年度农村道路改造工程征地补偿合同
- 二零二五年度律师事务所执业许可证转让合同3篇
- 二零二五年度工业自动化工装设计合同3篇
- 铜工岗位安全操作规程(2篇)
- 擦玻璃安全责任合同协议书范本
- 2024-2025学年人教PEP版英语五年级上册期末试题
- 2019水电工程探地雷达探测技术规程
- 残疾儿童(孤独症)康复服务机构采购项目招标文件
- 室内墙地砖铺贴施工技术交底
- 少先队活动课《民族团结一家亲-同心共筑中国梦》课件
- 广西河池市2023-2024学年七年级上学期语文期末试卷(含答案)
- 江苏省苏州市(2024年-2025年小学五年级语文)统编版期末考试((上下)学期)试卷及答案
- 供应链年终总结报告
- 体育训练服务行业市场调研分析报告
评论
0/150
提交评论