一种DWG格式矢量地图服务发布方法及装置与流程

文档序号:18301832发布日期:2019-07-31 10:15阅读:787来源:国知局
一种DWG格式矢量地图服务发布方法及装置与流程

本发明涉及地理信息技术领域,具体涉及一种dwg格式矢量地图服务发布方法及装置。



背景技术:

网络地理信息系统(webgis)的出现改变了地理信息系统的发布、共享的方式,利用网络发布空间服务为用户提供空间数据浏览、查询和分析等功能是近年来地理信息数据应用方式的一个重要转变。以dwg为主要数据格式的矢量地形图是城市勘测成果的重要组成部分,在城市规划、建设、管理中发挥着重要作用,如何将这些dwg格式数据快速地发布成网络化地图服务,已成为一个迫切需求,dwg矢量地形图的共享和发布,对完善在线地理信息服务产品种类、延伸在线地理信息服务范围具有重要意义。然而dwg格式数据与gis数据在数据组织、对象模型、符号表达方面存在很大差异,无法直接采用gis数据共享与发布的方法,解决办法通常是将dwg格式数据转换成gis格式后再利用gis数据共享与发布的方法,过程复杂,需要花费大量人力物力,且常常存在符号丢失及矢量接边问题。

为此,有学者采取一种将dwg矢量地形图转换为地图瓦片的栅格化方法,将dwg矢量地形图视为栅格影像数据进行共享与发布,绕开了dwg数据到gis数据转换问题,主要工作是矢量数据栅格化和地图切片,该方法可以解决dwg矢量地形图网络共享和发布问题。然而该方法生成的栅格切片更新困难,只能作为地图底图,而且不能提供矢量服务。

针对现有技术问题,本发明提供一种dwg格式矢量地图服务发布方法及装置,可直接将dwg格式数据一步自动发布为矢量地图服务,与将dwg矢量地形图发布成瓦片服务不同的是,本发明不经过矢量数据栅格化和地图切片过程,直接依据客户端请求参数返回及时渲染的地图或矢量数据。



技术实现要素:

本发明针对现有技术中存在的技术问题,提供一种dwg格式矢量地图服务发布方法及装置,可直接将dwg格式数据一步自动发布为矢量地图服务。

本发明解决上述技术问题的技术方案如下:

第一方面,本发明提供一种dwg格式矢量地图服务发布方法,包括以下步骤:

接收并分析客户端发出的地图访问请求,所述请求中包括需要访问的dwg数据参数;

按照所述地图访问请求的dwg数据参数读取dwg数据,包括完整的dwg文件及图层要素的符号参数;

将读取的所述dwg数据封装成符合ogc的wms或wfs标准、或arcgis的mapserver标准的矢量地图服务;

将所述矢量地图服务通过通信接口返回给客户端。

进一步的,所述接收并分析客户端发出的地图访问请求,包括:

在接收到客户端发出的地图访问请求后,验证所述客户端的数据访问权限;

若权限通过则分析所述客户端发出的地图访问请求,否则返回拒绝访问的提示信息。

进一步的,所述分析客户端发出的地图访问请求,包括分析所述客户端请求的地图参数,该地图参数包括数据的空间范围、需包含的图层以及需输出的格式。

进一步的,按照所述地图访问请求的dwg数据参数读取dwg数据,包括:

借助teigha工具包访问dwg文件,记录图层要素的符号参数,并将读取的dwg数据进行缓存。

进一步的,将读取的所述dwg数据封装成符合ogc的wms或wfs标准、或arcgis的mapserver标准的矢量地图服务;其中的,将读取的所述dwg数据封装成符合ogc的wms标准的矢量地图服务的方法,包括:

定义getmap接口的layers参数为客户端请求的图层参数、bbox参数为客户端请求的空间范围参数、format参数为客户端请求的服务图片类型参数;

通过实现getmap接口获取地图图片,即根据客户端发出的请求参数在读取的dwg文件中进行检索,查询客户端请求范围且包含请求图层的dwg数据,并将查询得到的dwg数据中超出客户端请求范围的矢量要素裁剪掉,然后将裁剪后的dwg数据利用gdi图形绘制api,依据读取的原dwg文件中点要素的颜色、大小等符号参数,线要素的颜色、线型、线宽等符号参数,及面要素的内部填充参数,绘制点、线、面要素,生成客户端请求格式的服务图片。

进一步的,将读取的所述dwg数据封装成符合ogc的wms或wfs标准、或arcgis的mapserver标准的矢量地图服务;其中的,将读取的所述dwg数据封装成符合ogc的wfs标准的矢量地图服务的方法,包括:

定义getfeature接口的typename参数为客户端请求的图层参数、bbox参数为客户端请求的空间范围参数、outputformat参数为客户端请求的输出格式参数;

通过实现getfeature接口返回图层要素,即根据客户端发出的请求参数在读取的dwg文件进行检索,查询客户端请求范围内(读取的dwg数据与客户端请求范围做相交运算得到)且包含请求图层的dwg数据,然后通过gml(地理标记语言)向客户端传递地理空间数据。

进一步的,将读取的所述dwg数据封装成符合ogc的wms或wfs标准、或arcgis的mapserver标准的矢量地图服务;其中的,将读取的所述dwg数据封装成符合arcgis的mapserver的矢量地图服务的方法,包括:

定义exportmap接口的layers参数为客户端请求的图层参数、bbox参数为客户端请求的空间范围参数、format参数为客户端请求的服务图片类型参数,定义identify接口的layers参数为客户端请求的图层参数、mapextent参数为客户端请求的空间范围参数,定义query接口的layers参数为客户端请求的图层参数;

通过实现exportmap接口获取地图图片,即根据客户端发出的请求参数在读取的dwg文件进行检索,查询客户端请求范围且包含请求图层的dwg数据,并将查询得到的dwg数据中超出客户端请求范围的矢量要素裁剪掉,然后将裁剪后的dwg数据利用gdi图形绘制api,依据读取的原dwg文件中点要素和线要素的符号参数,及面要素的内部填充参数,绘制点、线、面要素,生成客户端请求格式的服务图片;通过实现identify接口向客户端返回其查询的要素属性信息;通过实现query接口向客户端返回其空间查询或属性查询的要素集合。

本发明的有益效果是:本发明提供的一种dwg格式矢量地图服务发布方法,可直接将dwg数据一步自动发布为矢量地图服务,省去了将dwg格式数据转换成gis格式后再利用gis共享与发布方法发布矢量地图这一过程,避免了数据格式转换带来的符号丢失或矢量接边问题。

第二方面,本发明提供一种dwg格式矢量地图服务发布装置,包括:

客户端接口模块,用于与客户端建立通信连接、接收客户端的服务访问请求或将生成的dwg矢量地图服务返回给客户端;

请求分析模块,用于分析客户端请求的地图参数,包括数据的空间范围、需包含的图层、需输出的格式;

dwg数据读取模块,用于读取dwg数据及dwg数据的符号参数;

矢量地图服务生成模块,用于将dwg数据封装成符合ogc的wms或wfs标准、或arcgis的mapserver标准的矢量地图服务。

进一步的,该装置还包括,权限验证模块,用于验证客户端的数据访问权限;若权限通过则分析所述客户端发出的地图访问请求,否则返回拒绝访问的提示信息。

进一步的,所述dwg数据读取模块还包括数据缓存单元,用于缓存读取的dwg数据。

第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有用于实现上述的一种dwg格式矢量地图服务发布方法的计算机软件程序。

第四方面,本发明提供一种dwg格式矢量地图服务发布装置,包括处理器和存储器;

所述存储器用于存储计算机软件程序;

所述处理器用于读取所述存储器中存储的计算机软件程序,从而实现上述的一种dwg格式矢量地图服务发布方法。

附图说明

图1为本发明实施例提供的方法流程图;

图2为本发明实施例提供的装置结构原理框图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,本发明实施例提供一种dwg格式矢量地图服务发布方法,包括以下步骤:

步骤100,接收客户端通过internet发出的地图访问请求,所述请求中包含需要访问的dwg数据的图层、空间范围、输出格式等参数。

步骤200,验证所述客户端的数据访问权限;若权限通过则分析所述客户端发出的地图访问请求,否则返回拒绝访问的提示信息。

步骤300,分析客户端发出的地图访问请求,包括分析所述客户端请求的地图参数,该地图参数包括数据的空间范围、需包含的图层以及需输出的格式等。

步骤400,按照所述地图访问请求的dwg数据参数读取dwg数据,包括完整的dwg文件及图层要素的符号参数。借助teigha工具包访问dwg文件,记录图层要素的符号参数,并将读取的dwg数据进行缓存。

teigha是美国opendesignalliange(oda联盟)经过多年研究和开发的一套专门用于读写dwg、dgn等文件格式的软件开发包,它提供了以c++为基础的面向对象开发接口,通过它能快速读写dwg图形文件内容。它能够正确分析和解释dwg及dgn格式信息,并且支持目前最新版本的dwg文件格式,其大多数接口和类库的名称及其功能都与autocad的二次开发库objectarx接近。

步骤500,将读取的所述dwg数据封装成符合ogc的wms或wfs标准、或arcgis的mapserver标准的矢量地图服务。

其中的,将读取的所述dwg数据封装成符合ogc的wms标准的矢量地图服务的方法,包括:

1)定义getmap接口的layers参数为客户端请求的图层参数、bbox参数为客户端请求的空间范围参数、format参数为客户端请求的服务图片类型参数;

2)通过实现getmap接口获取地图图片,即根据客户端发出的请求参数在读取的dwg文件中进行检索,查询客户端请求范围且包含请求图层的dwg数据,并将查询得到的dwg数据中超出客户端请求范围的矢量要素裁剪掉,然后将裁剪后的dwg数据利用gdi图形绘制api,依据读取的原dwg文件中点要素的颜色、大小等符号参数,线要素的颜色、线型、线宽等符号参数,及面要素的内部填充参数,绘制点、线、面要素,生成客户端请求格式的服务图片。

其中的,将读取的所述dwg数据封装成符合ogc的wfs标准的矢量地图服务的方法,包括:

1)定义getfeature接口的typename参数为客户端请求的图层参数、bbox参数为客户端请求的空间范围参数、outputformat参数为客户端请求的输出格式参数;

2)通过实现getfeature接口返回图层要素,即根据客户端发出的请求参数在读取的dwg文件进行检索,查询客户端请求范围内(读取的dwg数据与客户端请求范围做相交运算得到)且包含请求图层的dwg数据,然后通过gml(地理标记语言)向客户端传递地理空间数据。

其中的,将读取的所述dwg数据封装成符合arcgis的mapserver的矢量地图服务的方法,包括:

1)定义exportmap接口的layers参数为客户端请求的图层参数、bbox参数为客户端请求的空间范围参数、format参数为客户端请求的服务图片类型参数,定义identify接口的layers参数为客户端请求的图层参数、mapextent参数为客户端请求的空间范围参数,定义query接口的layers参数为客户端请求的图层参数;

2)通过实现exportmap接口获取地图图片,即根据客户端发出的请求参数在读取的dwg文件进行检索,查询客户端请求范围且包含请求图层的dwg数据,并将查询得到的dwg数据中超出客户端请求范围的矢量要素裁剪掉,然后将裁剪后的dwg数据利用gdi图形绘制api,依据读取的原dwg文件中点要素的颜色、大小等符号参数,线要素的颜色、线型、线宽等符号参数,及面要素的内部填充参数,绘制点、线、面要素,生成客户端请求格式的服务图片;通过实现identify接口向客户端返回其查询的要素属性信息(包含要素坐标属性);通过实现query接口向客户端返回其空间查询或属性查询的要素集合。

步骤600,将所述矢量地图服务通过通信接口返回给客户端。

本发明提供的一种dwg格式矢量地图服务发布方法,可直接将dwg数据一步自动发布为矢量地图服务,省去了将dwg格式数据转换成gis格式后再利用gis共享与发布方法发布矢量地图这一过程,避免了数据格式转换带来的符号丢失或矢量接边问题。

图2为本发明实施例提供一种dwg格式矢量地图服务发布装置结构原理框图,包括:

客户端接口模块,用于与客户端建立通信连接、接收客户端的服务访问请求或将生成的dwg矢量地图服务返回给客户端。

权限验证模块,用于验证客户端的数据访问权限;若权限通过则分析所述客户端发出的地图访问请求,否则返回拒绝访问的提示信息。

请求分析模块,用于分析客户端请求的地图参数,包括数据的空间范围、需包含的图层、需输出的格式。

dwg数据读取模块,用于读取dwg数据及dwg数据的符号参数。

矢量地图服务生成模块,用于将dwg数据封装成符合ogc的wms或wfs标准、或arcgis的mapserver标准的矢量地图服务。

进一步的,所述dwg数据读取模块还包括数据缓存单元,用于缓存读取的dwg数据。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1