VFP和CAD技术在生成流速流向图中的应用
2015-03-16赵德友谢运山
赵德友,王 萍,谢运山
(1.江苏省水文水资源勘测局,南京 210029;2.江苏省水文水资源勘测局镇江分局,江苏省镇江市 212003)
文章编号:1006—2610(2015)01—0099—04
VFP和CAD技术在生成流速流向图中的应用
赵德友1,王 萍1,谢运山2
(1.江苏省水文水资源勘测局,南京 210029;2.江苏省水文水资源勘测局镇江分局,江苏省镇江市 212003)
主要介绍了数据库编程语言VFP和CAD在生成流速流向图中的应用情况。在进行水文测验过程中各断面位置所在的垂线实测到的流速流向需要制作成图件,为了能够规模化、标准化成图,采用VFP编程对数据进行批量处理,并生成CAD图,进而可以对文字、线条进行随意设置以及多条垂线的图形合并比较。并可根据需要转换成PDF图形文件,作为成果报告的附件,满足工作和生产的需要。
流速;断面位置;垂线;VFP;CAD;PDF
0 前 言
为了满足水利工程建设的需要,在进行水文测验过程中,需要将各断面位置的垂线流速流向生成流场图,以便做进一步分析、计算等工作,传统的制图方法一般是利用excel计算、人工绘制相关图形,但是excel制图存在不足,对于大批量的数据处理没有灵活性,但基于数据库管理软件Visual Foxpro对于同类型大批量的数据处理有优越性,且CAD成图在工程建设中应用得较广,因此采用数据库管理软件VFP编程进行数据处理并结合CAD成图可以很好地实现测站垂直线流场图的生成及编辑。还可以根据需要生成PDF文件进行成果文件的合成。本文就流量测验中各断面位置的垂线流速流向数据处理介绍如下。
图1 程序界面图
这项工作主要有以下几个方面:一是流速流向数据处理生成CAD图所需的相关数据文件;二是利用南方成图软件CASS进行CAD的生成;三是利用相关软件生成PDF文件。
1 数据处理
这个阶段主要是根据各断面位置垂线的流速流向数据生成南方成图软件CASS所需的文件,并根据最终图形中的内容生成不同类型的数据文件,以利于南方成图软件CASS应用。根据需要,运行程序后生成的数据文件主要有:流场数据粗线.DAT、流场数据细线.DAT、流场数据连线.DAT、流场数据展测点(标注起点距文字).DAT、流场数据展高程点(标注流速文字).DAT等文件,另有图名、施测时间、说明文字等信息。
图形中以起点距为纵坐标,断面位置各垂线为横坐标。
考虑到流速数值有可能较小,按实测值展绘到图上可能显示效果不佳,因此将流速数值乘一个常数作相应的扩大,再标示到图上。程序主要分为2个部分:一是新建临时数据库文件,以便于数据转换时利用;二是利用excel数据和dbf临时文件生成各种DAT文件,以便CASS成图软件应用。
1.1 新建数据库临时文件(*.dbf)
在转换过程中需要用的数据库文件主要有以下2种(gd1.dbf、gd2.dbf),数据库文件表结构分别见表1,2[1-2]。
表1 散点坐标表数据文件结构表
表2 中间转换数据文件结构表
1.2 生成dat文件
利用excel流速流向数据文件生成流场数据粗线.DAT、流场数据细线.DAT、流场数据连线.DAT、流场数据展测点(标注起点距文字).DAT、流场数据展高程点(标注流速文字).DAT等文件。
测站平面流场分布图中的粗线和细线是网格线[3],主要是根据起点距和断面位置上垂线分布来做的,粗线分为纵线和横线,纵线为垂线位置,起讫点为起点距最低点和起点距最高距向上1个间距,这个间距距离为起点距最大值和次大值之差。横线为起点距位置,起讫点为断面位置的垂线位置分别向左和向右1个间距,这个间距距离分别为第1个和第2个垂线的差值以及最大值和次大值的差值。主要目的是使图面更漂亮,否则流速流向线和文字标注在图幅外面影响美观。细线是在粗网格线间再布置4根线,即粗网格线间细分为5个间隔。
流场数据连线即为各断面位置上垂线流速流向线,标注的线条长度为流速值乘以一个常数,这个常数需为程序界面手输,可以根据图面效果自主决定。标注的线条角度为流向值,以正北为零方向,图面上以正上方为零方向。流速流向线的起点为起点距与垂线的交叉点,终点为以流向所在方向上的流速长度乘以常数数值。在CAD图上显示的效果为起点距决定纵坐标,断面位置决定横坐标,流速值乘常数决定线条显示长度,流向值决定线条的角度。
流速放大倍数输入界面如图2所示:
图2 流速放大倍数输入界面图
流场数据展测点(标注起点距文字)主要是采用CASS软件的展野外测点功能进行起点距和断面位置的垂线文字标注,具体数据为流速流向文件中的起点距及断面位置垂线的相关数据。文字的标注位置分别起粗网格线的最左边和最下边,程序中的间隔均为-5 m。
流场数据展高程点(标注流速文字)主要是采用CASS软件的展高程点功能进行流速文字的标注,具体数据为流速流向文件中的流速相关数据。文字标注位置为流向线的顶端位置。
在程序的具体编写过程中,首先是打开excel文件,excel文件为2003版本,打开excel表的程序如下[4]:
oleApp = CREATEOBJECT("Excel.Application")
oleApp.Application.Visible=.f.
oleApp.Workbooks.Open(gcTable)
oleApp.Worksheets("Sheet1").Activate
整个程序运行结束后再关闭excel程序。
打开excel文件后,根据excel文件中的数据判断总行数和总列数以及有效数据行数和有效数据列数,以决定数据处理的循环次数。本程序中的程序语句如下:
R=oleApp.SHEETS(1).UsedRange.Rows.Count &&有数据的总行数
C=oleApp.SHEETS(1).UsedRange.Columns.Count &&有数据的总列数
m_hsxhcs=R &&行数循环次数
m_lsxhcs=(C-1)/2 &&列数循环次数
for j=1 to m_lsxhcs
m20140428_cycx=oleApp.Cells(1,2*j).Value &&测验垂线
在程序执行过程中,主要采用分别生成各个DAT文件的步骤,即根据excel表中的流速流向数据分别单独生成上述网格线、流场连线、文字注记等文件。
2 图形处理
图形处理主要由各种DAT文件生成CAD图形[3,5]。
在利用程序生成相应的网格线、流场连线、文字注记等文件后,就可以利用南方CASS成图来进行CAD图的生成了。
主要利用CASS软件中的简码识别、展野外测点号、展高程点等功能[6]。其中简码识别功能主要是生成网格线、流场连线等线条,展野外测点号是标注起点距文字,展高程点主要是标注流速数值。在将相关图形要素展绘到CAD图上后再进行图层名、颜色、文字大小等属性的修改,调整成自己所需的以达到最佳的显示效果,如图3所示。
具体设置主要包括以下几个方面:
成图比例1∶500,高程展点字高1,粗网格细宽度0.2,细网格线宽度0.001;
流速线宽度0.2,注记字高2,宽度比例0.75,等线体;
“起点距(m)和断面位置(m)”文字注记字高3,宽度比例1;
起点距和断面位置具体文字字高1.5、等线体、宽度比例0.75;
大标题字高10,宽度比例1;
颜色设置方面,流速标注文字红色、流速流向线红色、大标题红色、起点距及断面位置的文字黑色、网格线颜色190。
图3 CAD图层属性设置图
图4即为最终生成的平面流场分布图的CAD图局部图。
图4 局部图显示图
3 图形转换
在生成CAD图后已经可以出图了,但作为电子版还需要由CAD图生成PDF图,作为附图附在文字报告后面。这就需要进行图形转换了。
主要利用Adobe Acrobat 7.0 Professional软件来生成PDF图。根据使用经验,在具体操作过程中需要注意的是要将CAD图旋转90°后再进行操作,由纵向图变为横向图,如图5所示。
图5 图形旋转示意图
图形旋转后就可以利用Adobe Acrobat 7.0 Professional软件来生成PDF图。操作过程分为3步:一是生成PDF图;二是裁剪;三是旋转。
3.1 生成PDF图
利用“从文件创建PDF”功能由CAD图生成PDF图,得到是包含白边的PDF图。
3.2 裁剪白边
利用“文档”中的“裁剪页面”中的“删除白边距”功能即可得到完整的图形。
3.3 旋转页面
利用“文档”中的“旋转页面”中的“顺时针90°”功能即可得到纵向的图形。再利用“裁剪页面”功能,将页边距单位改成“cm”,下方的4个页边距再各-0.1 cm,即可删除外图框线。
经过上面3个步骤的操作后,可以得到一个满足工作需要的PDF图形文件,以便作为成果报告的附件与其他项目成果的PDF文件合并在一起进行成果提交。
4 结 语
由于采用了编程进行数据处理,省去更多的检查复核工作,并且可以进行批量数据处理,使得数据处理速度和精度得到很大提高,效率也得到相应的提高,而统一的CAD图和PDF图则使图形显示效果更佳。相对于目前的技术手段,利用编程手段进行数据处理和生成CAD图以及PDF图应是一个不错的选择,可以满足工作的需要。
[1] 傅太生,谢运山.VFP、CASS软件在遥测水位、雨量数据处理的应用[J]. 西北水电,2011,(4):99-102.
[2] 谢运山.VFP在断面数据处理方面的应用[J].西北水电,2010,(3):96-99.
[3] 傅太生,谢运山.利用VFP和CASS实现自动生成断面图[J].西北水电.,2012,(5):88-90.
[4] 谢运山.利用VFP编程实现Excel表数据转移[J].西北水电,2008,(1) :59-61.
[5] 谢运山,傅太生,谢海文,等.VFP 和 CAD 在流量定线中的应用[J].人民长江,2014,(5):24-27.
[6] 谢运山,谢运河,汤建学,张勤.利用VFP提取测点坐标高程信息[J].西北水电,2012,(2):19-22.
Application of VFP and CAD in Production of Velocity Flowgraph
ZHAO De-you1, WANG Ping1, XIE Yun-shan2
(1.Jiangsu Provincial Bureau of Hydrology and Water Resources, Nanjing 210029,China;2.Zhenjiang Branch, Jiangsu Provincial Bureau of Hydrology and Water Resources, Zhenjiang, Jiangsu 212003,China)
Application of the database program language VFP and CAD in production of velocity flowgraph is described in the paper. During the hydrological test process, the measured velocity and flow direction by the plumb line where the section is seated shall be transformed into graph. To transform the graphs in scale and standard, VFP program is applied to handle the data in batch as well as form CAD. Furthermore, both characters and lines can be arranged freely and graphs with multiple plumb lines can be merged and compared. As required, it can be transferred into PDF format for the report attachment to satisfy work requirement.
current velocity; section location; plumb line; VFP; CAD; PDF
2014-09-12
赵德友(1963- ),男,江苏省睢宁县人,高级工程师,主要从事水文站网、水文测验及程序设计等方面的研究工作.
P209;TV211.1
A
10.3969/j.issn.1006-2610.2015.01.026