APP下载

建设工程规划用地测绘成果分发系统实现

2021-10-20张保钢

北京测绘 2021年8期
关键词:点位浏览器用地

李 雷 刘 光 张保钢

(1. 北京市测绘设计研究院, 北京 1000382; 2. 城市空间信息工程北京重点实验室, 北京 100038)

0 引言

建设工程规划用地(拨地)测量是土地使用、施工建设的法律依据,在城市规划、管理中发挥着重要作用,测量手段也在不断发展[1-2]。北京市规划和自然资源委员会负责北京地区的用地设计审批,并作为行政主管部门下达“建筑用地钉桩通知单”[3]。北京市测绘设计研究院作为测量的实施单位负责具体的测量工作,并存有历年各个地块的测量成果。丰富用地测量成果管理方式,高效利用已有成果一直以来都是需要被研究和解决的问题[4]。北京市测绘设计研究院王旭辉等已对政务电子地图的编制技术进行研究并形成了相关产品[5],为本系统底图的使用提供了先决条件。在拨地数据处理方面,刘延松基于AutoCAD,对封闭地块的多边形图形算法进行研究,实现了地块坐标成果的自动化输出[2]。秦学秀等设计了相关数据库模型,并实现了AutoCAD格式的地块坐标成果输入到地理信息系统(Geographic Information System,GIS)平台,以及将相关信息存储到Oracle数据库中[6-7]。上述人的研究成果,为本文所述内容提供了前期基础和数据支持。本文在上述研究基础上,将拨地测量成果的表述信息以及钉桩点位信息保存在数据库中,当用户通过范围、工程号等信息获取数据时,系统将自动寻找符合条件的点位信息并转化为计算机辅助设计(Computer Aided Design,CAD)图形提供下载。这使得在拨地测量任务中,历年成果数据均可以得到充分利用,如图1所示。

图1 拨地数据选择

1 基于ArcGIS Server及JS API的数据展示和内容选取

本系统浏览器端负责用户交互,服务器端完成数据生成。其最大优势是用户无须安装专业软件环境,通过主流浏览器输入相应网址,即可以使用相关功能。为方便用户直观定位到所需区域,本文将北京市域范围的政务版电子地图发布到ArcGIS Server并切片,以TileLayer的方式作为底图在浏览器中调用。本文将历年包含地块坐标成果的GIS数据发布为网络服务,并以动态图层的方式在浏览器中进行调取。

通过将空间数据库引擎(Spatial Database Engine,SDE)中的历年拨地钉桩数据建立拨地图层,每个闭合的建设用地范围线具备的属性信息如表1所示,拨地号、提交日期将作为图形筛选的条件项。

表1 建设用地范围线属性信息

将拨地图层发布为Map Service,并采用动态方式加载到浏览器中,以方便用户直观看到当前位置已有的用地线范围和拨地号。在图形选择上,可以采取按年代区间、输入测号、绘制范围、拖入SHP(shape文件格式)和对应数字波束合成(Digital Beam Forming, DBF)文件的方式对所需数据进行选取。

通过以下方式可以实现根据拨地测号获取相应数据:(1)获取拨地服务地址;(2)建立QueryTask;(3)构造query的where条件,根据北京市拨地号命名规则,一个拨地号会出现多种情况,如“2020拨地049”在数据库查询时需要将“2020拨049”、“2020拨049-%”、“2020拨0049”、“2020拨0049-%”、“2020拨地049”、“2020拨地049-%”、“2020拨地0049”、“2020拨地0049-%”均作为查询条件,与GIS服务中的拨地号SURVENO进行匹配;(4)根据属性信息在地图服务上获取对应的Features和属性值。

对于绘制范围获取数据则进行以下处理:(1)利用dojo.connect将“onDrawEnd”动作与处理函数进行挂接;(2)设置Symbol样式,利用点选多边形的geometry建立graphic,并将其添加到页面地图中的graphics图层中,以便用户可以直观看到所绘制的图形范围;(3)获取拨地服务地址;(4)建立IdentifyTask,在IdentifyParameters中将geometry设置为绘制的图形范围;(5)根据图形范围在地图服务上获取对应的Features和属性值。

2 拨地数据生成的关键技术

对CAD文件进行操作具有多种方式,AutoCAD自带的LISP语句是在普通LISP语言基础上,又扩充了适用于CAD功能的设计语言,功能较强[8],但不同CAD版本对应不同的API,兼容性不强,功能修改和版本控制也不方便。通过C#调用CAD的指令集绘图时间较长,中断后需要重新启动执行。上述两种方式都需要与AutoCAD软件直接进行通信,而直接生成图形文件则可以避免调用CAD软件,便于在服务器端实现。DWG格式的CAD文件结构没有公开,无法直接对其进行操作,DXF是绘图交换文件,其作用是用于AutoCAD和其他软件进行交换。笔者通过在服务器端使用C#调用NetDxf库实现DXF文件的创建和拨地数据的图形绘制。

2.1 基于Oracle数据库的点位属性获取

首先需要在Oracle数据库中建立如表2~3所示拨地成果表,将拨地成果的每一个点位信息存储到成果表中,其中具备相同PARCELID的点位属于同一个闭合面,弧长、半径、圆心坐标定义图中的曲线信息。将数据库表中的点位信息还原到CAD中并对点位进行连接、赋予点名和属性值,则可以还原出所需拨地号的完整图形。

表2 地块信息表

表3 点位信息表

具体实现方式为:(1)将拨地号由浏览器发送到服务器端,每个拨地号同时应携带地块唯一编码标识(Identity Document,ID);(2)连接拨地成果表所在的数据库;(3)定义用于AutoCAD绘图交换文件(Drawing Exchange Format,DXF)文件的存储路径;(4)定义字体样式,并选择CAD字体文件;(5)对于拨地号和地块ID进行分割,以便逐一操作;(6)建立List变量,将每个PARCELID都存储到此变量中;(7)对于每一个拨地号在数据库中通过SERVENO获取表2所示包含此拨地号的全部记录,并利用PARCELID进行排序;(8)对于每个PARCELID,应保证其不为空值,并且存在于List变量中,如果符合条件则在数据库表2中查询出包含此拨地号和地块ID的所有点,并根据点ID进行排序。

2.2 CAD图形生成

通常一个拨地工程(即一个SERVENO)中包含多个地块,每个地块通过不同的PARCELID值进行识别,在图形上表现为一个或多个闭合面。对于每个地块进行如下操作:(1)建立LwPolyline,并将此多段线放入以拨地号命名的CAD图层中;(2)建立firstPointName=””(此闭合面首个点的点名),firstnum=0(此闭合面首个点经过点ID排序后所处的位置),count=0,List类型的addPointNames(存储本闭合面的所有点名),List类型的polyPoint(存储本闭合面的所有点);(3)对本地块的每个点进行判断;(4)如果firstPointName为空,则将本点的点名赋给firstPointName,并将本点排序后的位置号赋给firstnum,如果addPointNames中不包含此点名,则将此点名加入点名列表中;(5)将此点加入polyPoint中;(6)将此点的点名添加到(X坐标+2,Y坐标+2)的位置,并设定字体大小为5;(7)如果该点位于弧线上需要经过特殊处理;(8)当本点的位置号不是最后一个点,并且与firstnum不同,本点的点名与firstPointName相同时,可以认为本地块具有多个闭合面,本点为此闭合面的最后一个点位(也是此闭合面的第一个点位),此时将本地块的地块用途、公司名称、检查标记以XData的方式加入到本闭合多段线中,在DXF文件中加入此多段线,同时令firstPointName重新为空。(9)对于本地块的最后一个闭合面,同样需要将属性信息以XData的方式加入此多段线中,并在DXF文件中加入此多段线;(10)对于每一个闭合面取所有点位X的平均值和Y的平均值作为图形中心点坐标,并将拨地号以文字注记的形式放于此位置。

当某点圆心X、圆心Y这两个属性项不为空时,可以认为本点属于弧线中的一点,进行图形还原时,需要计算出本点的凸度值。令本点与下一点组成圆弧所在圆的圆心坐标(Xc,Yc),本点坐标 (X1,Y1),下一点坐标 (X2,Y2),起始角A1与结束角A2的计算方法为

(1)

(2)

式中,当计算的角度值A小于0时,A=A+2π。令α=A2-A1,当|α|>π时,α=2π+α,此点凸度B的计算方法为

(3)

并将凸度值赋予多段线中此点的点位上。

3 实现效果

基于上述技术,在北京市测绘设计研究院建立了拨地分发系统,本系统从北京市拨地库中获取历年数据,并生成DXF文件供用户下载。通过本系统的使用,减少了大量外业工作时间,极大提高了北京市各类型用地的划拨效率。用户可以在浏览器中通过选择年代、绘制多边形或输入拨地测号的方式进行选择[9-10]。

选择后系统后台通过上述计算生成DXF图形,将图形保存到服务器,用户可以在浏览器上直接下载所需区域的图形文件,如图2所示。

图2 DXF图形及点名

在对数据库中近半年申请情况进行统计,得出表4所述数据。可以看出本功能在普测、详测、拨地、核建、验测等多种类型的测绘项目中得到了应用,半年来共申请195次,月均使用32.5次,涉及11 204个拨地点位所组成的图形。

表4 各工程测量类型申请数量统计

4 结束语

对于建设工程规划用地(拨地)测绘工程,需要按照规划行政主管部门所下达的《建筑用地钉桩通知单》进行作业,并要求与已有拨地范围线进行无缝连接,不允许出现缝隙或交叉的情况。因此,测绘单位在项目作业前需要到档案部门进行数据申请,再根据已有规划测量成果进行生产作业。本文所开发功能实现了已有拨地成果数据的还原和图形自动生成,使生产单位可以快速、便捷地申请到所需数据,保障了测绘项目顺利实施。本文总结了具体技术路线和相应算法,所编写的系统在项目中得到了广泛应用,为其他单位建设工程规划用地(拨地)成果的信息化建设和利用提供了相应示范。在实际使用过程中要求在数据库中对申请内容进行记录,并保证可追溯性。但当申请面积过大时受数据库自身限制,一条记录难以将所有内容记录完整,因此系统中限制了普通用户的单次申请数量,如何解决此项问题,有待今后进一步研究。

猜你喜欢

点位浏览器用地
机器人快速示教方法及示教点位姿变换的研究
反浏览器指纹追踪
城乡建设用地增减挂钩研究进展综述
机器人点位控制速度规划算法选择策略
大盘仍在强烈下跌趋势中
城乡建设用地增减挂钩政策的演变
垂直面内建立基线的特殊点位高程测量法
环球浏览器
城乡建设用地增减挂钩的实践与认识
城乡建设用地增减挂钩的实践与认识