基于地理信息服务的AutoCAD设计模式探讨
2011-08-10覃茂运龙保呈何一明
覃茂运,龙保呈,何一明
(海口市规划勘察测绘服务中心,海南 海口 570105)
AutoCAD广泛运用于城市规划、测绘等领域,许多行业应用软件也都基于CAD平台进行二次开发而成,AutoCAD已然成为规划设计和国土测绘等行业的代表性应用软件。随着现代城市规划理念的不断提升和规划信息化工作的不断深入,以GIS技术为代表的新技术不断融入城市规划管理和项目设计中。如何将CAD技术与GIS技术相结合,实现两者的无缝集成,为城市规划与管理工作提供方便、快捷的技术手段,提高规划管理与设计的效率和质量,成为规划信息化建设亟待解决的重要课题。
本文在深入探讨基础地理信息服务平台应用的基础上结合规划项目设计,探讨并提出基于地理信息服务和CAD的集成规划设计模式。
1 地理信息服务平台
地理信息服务平台是以基础地理信息数据为基础,以信息系统为主要管理工具,整合与空间信息相关的非空间信息,以网络为载体,以各种信息终端为媒介,面向政府、公众和行业提供地理信息服务。
1.1 数据库设计
基础地理信息服务平台以3S技术为支撑,对基础地理信息实行统一建库和管理,将各类空间数据进行格式转换、精度压缩和安全处理,实现各类信息的叠加、分析和综合查询,建立了多源、多尺度、多时态的空间数据库。
(1)空间数据。空间数据包括基础地理数据和规划专题数据。基础地理数据有政务电子地图、城市地名数据、多比例尺基础地形数据、地下综合管网数据、数字正射影像、卫星遥感影像等;规划专题数据包括规划编制成果、规划项目审批信息、规划五线数据、规划用地数据等。空间数据通过瓦片生产工具转换为不同等级的图片进行存储,不同等级的瓦片存放在服务器上对应的文件夹中,用户在访问数据时根据比例尺的大小调用对应级别的瓦片,极大提高了数据读取和传输的速度。
(2)属性数据。图片数据不带有空间属性,地理信息服务平台在后台提供了基础地理数据库和规划编制成果数据库,这两个数据库满足用户对于数据查询、分析和输出等功能。
1.2 地理信息网络服务
基于Web Service的信息共享模式为互联网环境下的分布式空间数据提供了较好的共享平台,不同地区、不同行业的空间数据都可以基于统一的数据标准进行整合和集成,并采用WebGIS实现空间数据的集成发布,实现多级异构空间数据的分布式共享应用。
系统实现了基于网络的数据服务模式,对外提供数据服务和功能服务。客户端将服务请求及相关参数提交给Web服务器,与业务逻辑层进行交互,得到请求响应结果。每个服务接口采用统一的XML标记语言进行功能描述,用唯一的URI来标识。各种应用系统通过调用平台提供的一系列符合OGC标准的服务接口即可将各种空间数据服务和本地业务系统实现数据集成和功能集成。系统提供的数据公共接口如表1所示。
服务平台公共接口表 表1
1.3 ArcGIS for AutoCAD模块简述
ArcGIS for AutoCAD是ESRI公司提供的一个应用程序插件,可以在AutoCAD环境中访问ArcGIS Server发布的数据服务,加载服务中提供的地图数据,为设计者提供了包含坐标系的真实位置信息的环境,并且可以使用查询工具对要素实体进行查询获取其属性信息,从而有助于设计者参考引用ArcGIS Server提供的图形进行绘图设计;另外,AutoCAD的使用者不仅可以立即对要素图层的实体进行编辑,使其具有属性信息以及坐标系信息,可以直接把CAD数据完整导入到Geodatabase中,从而实现操作CAD数据犹如GIS数据。
2 基于地理信息服务的AutoCAD插件设计开发
2.1 GIS与CAD的几种集成技术
GIS与CAD的集成是目前比较热门的研究课题,主要有以下几种解决方案:
(1)数据格式转换技术。根据GIS和CAD的数据结构特征,利用数据转换的方法实现GIS与CAD集成。
(2)相关软件公司提供的集成于CAD平台的GIS客户端扩展插件或接口。此方案利用集成到CAD环境中的GIS客户端或接口,直接完成GIS与CAD的通信,实现数据的共享与互操作,但一般功能上有所限制。
(3)基于文件数据格式的集成。即利用CAD软件提供的对GIS数据格式的直接支持实现对GIS数据的集成。
(4)Web Service技术。基于快速发展的WebService技术,CAD客户可以将通过Web发布的GIS数据集成到本地应用中来。ESRI公司推出的ArcGIS for AutoCAD是一种有效的尝试,但该技术还不够成熟,实际使用不是很方便。
(5)多源异构数据的直接访问。忽略数据本身结构,实现不同数据之间的“翻译”,该方案是GIS与CAD集成的发展趋势,具有较强的推广价值和研究意义。
2.2 主要原理
当前AutoCAD的二次开发工具主要有:Visual Lisp、VBA和Object ARX等。其中,Visual Lisp与VBA较为简单,特别是VBA,使用方便且开发速度较快,但其功能相比Object ARX有所不足,尤其是对面向对象的功能支持不好。而Object ARX基于VC平台,在C++的支持下,其功能非常强大,可以很好地运用各种面向对象技术,开发与其他软件进行很好兼容的功能模块。
本文采用Object ARX和VB语言进行服务接口调用模块开发,模块功能包括三大类:①用户登录管理。通过用户权限管理,赋予用户不同的操作权限,调用不同内容的数据服务;②地图服务调用。通过AutoCAD平台来向服务器发送请求,服务器解析请求内容并返回对应的栅格图片,同时显示到AutoCAD绘图环境中,相应的图片坐标与实际位置完全一致;③要素服务调用。根据在AutoCAD平台组织数据,以URL的形式来向服务器请求数据,服务器以GML形式返回矢量数据,并同时体现在AutoCAD窗口。
数据服务接口调用工作流程如图1所示:
图1 服务接口调用流程图
以下代码为根据特定范围、数据级别和图层类型通过调用地图服务来获取图片数据的插件功能部分主要代码:
2.3 可行性分析
基础数据是国家机密数据,在管理和使用上有非常严格的规定。地理信息服务平台对外发布的数据服务都是经过特殊处理(偏移、扰动、旋转等),符合国家规定的互联网地图精度内容要求。基于地理信息服务的AutoCAD功能模块设计与服务平台提供的数据使用权限紧密相关,并从用户管理、数据安全和设计安全三个方面进行数据调用安全管理。
(1)用户管理。服务平台对各类服务接口使用权限进行统一管理,不同用户分配不同等级的操作权限和能够访问的数据内容。用户登录服务接口调用模块时需要输入相应的用户名、密码,然后通过手机认证的方式获取验证码,只有用户名、密码和验证码三者都正确输入才能使用服务接口调用模块。
(2)数据安全。服务平台对栅格数据和矢量数据根据不同用户的使用权限进行相应处理(偏移、旋转、压缩、扰动、屏蔽等),并对用户使用情况进行流量监控和日志管理;同时,通过高级网络防火墙的屏蔽功能,有效防止用户窃取数据,保证基础数据的安全。
(3)设计安全。用户在AutoCAD中可以根据使用权限调用相应的栅格地图和矢量数据,调用的数据均是带有相应的要素属性,用户可以以调用的服务数据作为设计参考底图,用于相应的项目设计,能够保存设计成果,但调用的服务数据不能保存到本地计算机,只能用于参考或打印出图。
3 功能实现
3.1 用户登录
用户在AutoCAD中登录服务接口调用模块时,需要输入相应的用户名、密码和验证码才能使用相应的功能。
3.2 调用地图服务
用户在AutoCAD中点击服务接口调用模块中的已有图片服务调用选项,选择需要调用的图层服务和图层级别,然后选取调图范围,即可成功访问所需的地图信息。图2、图3分别为地图服务调用设置框和为地图服务调用结果示意图。
3.3 调用矢量数据
用户先向数据管理员提交特定区域的矢量数据访问申请,通过审核后,可直接打开特定区域矢量地形图,并基于该数据进行规划设计。图4为通过插件访问矢量地形图服务接口的示意图。
图2 地图服务调用设置框
图3 AutoCAD平台调用数据服务接口示意图
图4 基础地形图矢量数据
3.4 项目设计
用户在AutoCAD环境中调用相应范围的矢量数据和栅格图片后,根据项目设计要求进行相应的绘图操作,用户可以保存绘图操作的数据内容,而不能保存调用的服务数据。
4 结语
基础地理信息公共服务平台的兴起和广泛运用促进了基础地理信息网络服务模式的应用,而新一代基础地理信息共享应用推动了信息测绘的变革。本文通过开发CAD模块读取公共服务平台提供的数据服务接口,并在规划方案设计中进行尝试,实践证明,对于面积较小区域的(2 km2以内)的规划方案进行设计制图,采用该模式非常方便,而对于大面积区域的规划编制,如控规、分区规划等规划设计,仍存在读取数据速度较慢,数据丢失等问题,亟须下一步进行完善和功能升级。
[1]朱小羽.AutoDesk布道GIS新理念[J].软件世界,2006(10):45~47
[2]孙剑.空间信息舞动开源架构[J].软件世界,2007(3):54~56
[3]吴千里,马小龙.面向城市规划信息化的GIS与CAD集成技术探讨[J].测绘通报,2010(2):52~55
[4]张利军,母传伟.AUTOCAD在规划设计中的几点应用体会[J].信息科技,2009(23)
[5]王成芳,蓝运超.AutoCAD二次开发在控制性详细规划管理中的应用[J].热带建筑,2005(4)