李 强 张 艳
(1.中国矿业大学(北京)地球科学与测绘工程学院,北京100083)
桩基工程是基础工程的最主要环节,占到了我国全部工程基础70%左右[1],以南京市某电影院基坑建设为例,该基坑东西长55米,南北宽31米,仅支护桩就使用了200余根。由于灌注支护桩单桩造价高昂,因此合理的规划建造以节约工程成本,加快工程进度,便成为了桩基施工的重要问题。由设计院提供的CAD图纸及文本资料虽然详细表达了各类桩型的分布位置、相关的属性信息,如桩长,桩径等等,但却无法为现场人员及时补充,修改,更新资料数据提供帮助,而这些以往只能一一记录在文档之上,对于数目较多的桩信息管理,就会显得有些吃力。本文利用CAD的绘图交换文件DXF,分别提取相关桩位中心点绝对坐标,而后建立基于空间位置的桩信息管理数据库,并利用Arc Engine技术,以窗体界面形式实现了各类桩型相关信息的查询,编辑以及二三维可视化操作。
Auto CAD以图元为单位记录数据[2],设计人员对桩的表达一般为规则几何图形,如圆形,六边形等,Auto CAD在记录这些桩的位置信息时,采用的就是中心点坐标的形式。根据这个信息,可以在DXF中提取出相关各类型桩的绝对坐标值,然后建库存储。DXF文件作为Auto CAD的绘图交换文件,是一种明码文件,可实现CAD数据与其他格式数据的间接转换[3]。关于利用DXF文件实现CAD数据与GIS数据转换的研究,国内的申胜利等人分析了CAD图元与GIS图元的异同,通过分别建立点、线、面、注记对照表实现了两者间的互通[4]。陈年松利用FME建立语义映射实现了CAD数据与GIS数据的语义转换[5]。
由于本文侧重于桩位的坐标信息,其他诸如形状等属性不予考虑,因此可根据解读的DXF文件来实现桩位坐标值的提取。对于具体类型的桩位信息,可依据CAD图元对照表来找到该类型所有桩的坐标值在DXF文件中的存放位置,而这些坐标值在DXF文件中的存储也均是按照设计者的绘图顺序,因此在提取坐标值时就可以很快的得到想要的结果。CAD部分图元对照见表1所示。
表1 CAD部分图元对照表
根据2.1所述的思想,采用C#语言可设计针对性算法完成数据的提取及入库操作,并参照原文件及图纸说明,为各类桩型添加其他属性信息。下面以该电影院基坑支护桩为例,实现具体过程。本基坑支护桩按照设计桩长,桩径,主筋配置共分为4种桩型,为区别各类桩型,CAD采用了不同的图元形式,这些图元信息在DXF文件中以类名或块名来加以区分。因此可以依据这个特征信息将4种桩型分别提取出来存入数据库。
具体操作流程为(以支护桩为例):
1)将支护桩在CAD总图中提取出来并另存为DXF文件;
2)找到支护桩采用的图元类型;本例中支护桩类型为圆和块,那么其在DXF文件中对应的图元字符即为AcdbCircle及AcdbBlock Reference,而对于文件中存在的多类型块,则以块名来加以区分。表2为DXF文件的基本组值格式,该支护桩坐标信息即以此格式存储在DXF文件里。
3)依据上述特征字符,提取坐标值并检查入库,在完成坐标值入库的同时,为每根桩添加属性信息,如半径,长度等。DXF文件桩信息提取效果如图1所示。
表2 DXF文件组值说明
ArcGIS Engine10.0作为一组完整的嵌入式GIS组件,提供了功能完善的类库。借助它们可以帮助开发者开发出自身需要的GIS功能。
滚筒筛是煤炭分选技术中应用非常广泛的一种机械,是通过对颗粒粒径大小来控制煤炭分选的,分选精度高。滚筒筛的筒体一般分几段,可视具体情况而定,筛孔由小到大排列,每一段上的筛孔孔径相同。滚筒筛主要有电机、减速机、滚筒装置、机架、密封盖、进出料口组成。
通过IFeatureWorkspace接口可以在工作空间创建新的Shape文件,在创建文件时,将数据库中的桩属性信息按照GIS字段格式要求,利用Field和Fields对象表达为Shape点文件属性字段。而这些桩的坐标信息则为Shape点的相应坐标。
主要初始化工作:
1)创建工作空间
IWorkspaceFactory p WorkspaceFactory=new ShapefileWorkspaceFactory();
2)设置字段
doubleX,Y IPoint p Point=new ESRI.ArcGIS.Geometry.Point();
3)创建字段对象
IFieldsEdit p FieldsEdit= (IFieldsEdit)p Fields;
IField p Field=new Field();
IField Edit p Field Edit= (IField Edit)p Field;
最后,将生成的各类型桩按照图形符号或颜色,在可视化界面加以区分显示。
可视化界面设计则是利用了 MapControl,TOCControl,ToolbarControl三个控件协调设计完成。Map Control实现Shape点文件的加载显示,TOCControl用来显示图层和相关符号体系的内容,Toolbar Control用来提供相关的命令,工具和菜单,其中TOCControl,ToolbarControl控件的“伙伴控件”均为 MapControl。Shape点文件的创建界面及显示效果如图2所示。
桩位下的地层三维视图是正确认识地质构造的重要方法,可以帮助人们直观的看到每根桩灌入地层的基本情况及相应的地层信息,因此,构造地层三维视图显得十分必要。
由于地质体的不规则和分层特性,描述地质体三维模型最便捷有效的方法就是利用地质勘测采样点数据,将各土层高程数据视为相邻两层分界面,建立不同土层的TIN模型。TIN即不规则三角网,是由不规则空间取样点和断线要素得到的一个对表面的近似表示,包括点和与其相邻的三角形之间的拓扑关系。依据这种方式建立起来的地质三维模型,可直观的表达出各土层分布的起伏特征与厚度变化信息。
工程设计时的地质勘测报告所包含的一系列离散的,空间分布不均匀的采样点数据[6]是构建TIN模型的基础,基于这些采样点数据获得地表高程信息以及地质分层情况,从而可推断出各个土层下的具有相同X,Y坐标,而高程Z信息不同的坐标点数据。
ArcGIS Engine为用户提供了TIN组件,以方便用户利用等高线或离散的高程点数据生成TIN[7],这一过程是先将等高线或高程点数据创建为FeatureClass(要素类),然后利用ITin Edit接口生成三维TIN模型。基于这一思想,将获得的各个土层下的坐标点数据作为生成TIN的数据源,并以高程数据作为主要字段,即可生成各土层的TIN模型。基本的思路如下所述。
1)以坐标点数据创建FeatureClass(要素类);
2)通过ITin Edit接口下的Init New方法创建TIN;
3)通过ITinEdit接口下的AddPointZ方法将坐标点的高程信息添加到创建的TIN模型;
三维数据制作的最终目的在于数据的可视化表达,因此各土层的TIN数据也需要相应的载体来表达出地层的构造信息。ArcGIS Engine的AxScenecontrol控件实现了三维数据的浏览显示功能。等同于桩位的二维可视化设计,三维窗体的设计也包含了相关的工具条控件,图层编辑控件等等。将各土层TIN数据加载显示,并将各类桩型数据按照设计桩长拉伸显示,即可表达出每根桩灌入地层的基本情况。最终的显示效果如图3所示。
本文通过DXF文件提取桩位坐标的方式,在获得桩位坐标的同时,为相应桩型赋予属性信息,实现了数据的入库编辑。并根据实时的数据库数据,建立点Shape文件,实现了桩的二维可视化环境及属性查询功能。最后基于采样点数据,建立各土层的TIN模型,描述了桩位在地层下的三维状态。