2024年5月24日发(作者:童孤晴)
科 科 技l论I坛
自动输出样木位置图程序设计
王小萍
王桂凤 王晓东
(1、吉林省林业调查规划院,吉林长春130022 2、吉林省林业勘察设计研究院吉林,吉林长春130022)
摘要:应用VB6系统软件开发编写程序,实现自动绘制样木位置图,使一类清查、二类调查样地成果的输出完全自动化。
关键词:资源调查;样地;样木位置图;VB6
样地是森林资源连续清查和规划设计(--类 是用户定义原始图形时
调查)调查重要内容,是估测总体面积、蓄积及相 所用的坐标系,如直角坐标系。
关因子的重要手段,随着计算机技术的飞速发展, 2.1.4用户坐标与逻辑坐
提供样地调查成果也由手工复制变为计算机打印 标的转换
成果,目前大都采用GIS系统经过矢量化绘制样
原始样木图首先绘制在
木位置图,没有根本解决样木位置图自动打印问
用户坐标系中,通过变换映射
题,为此笔者设计一个小的程序可以实现此功能,
到逻辑坐标系中,然后通过设
从而实现样地成果输出完全自动化。
置映射模式,用缩放函数映射
寨
l样地调查标准和设计思路
到设备坐标中。
1.1调查标准
逻辑坐标与设备坐标之
1.1.1样地面积和形状
间的转换通过API函数实现。
实测样地的面积为0.06hm2;形状为边长24.49m, 用户坐标与逻辑坐标之
其l/2对角线长为17.32m,对角线指向正东(西)
间的转换,外业样木采集的信
和正南(北)的正方形。 息为样木与样地中心点的角度
1.1.2样木号
和距离,如何在计算机上实现
固定样地内的检尺样木均编号,并长期保持 显示,那就要进行用户坐标与
不变。样木号以样地为单元进行编写,不得重号和 逻辑坐标之间的转换。转换过
图1
漏号。固定样木被采伐或枯死后,原有编号原则上
程中由于度量单位不同,用户
不再使用,新增样木(如进界木、漏测木)编号接前
坐标系中的图形转换到逻辑坐标系中去,必然按
将样地用纵横坐标线区分成网格,一块样地
期最大号续编。
照一定的比例进行缩放,这个比例称为缩放因子。
的样木株数最多不超过999株,既需标注的样木
1.1.3方位角、水平距离
这种缩放因子可以理解为用户坐标系中的一个度
号最多3个字符,所以将格网设成长方形。以利于
采用PDA或实测每株样木位置与样地中心 量单位代表逻辑坐标系中的几个度量单位,或逻
标注样木号,每个网格大小为0.4xO.25,用一维数
组记录每个格点的左上角顶点坐标。坐标集合(格
点方位角和水平距离,方位角以度为单位,水平距 辑坐标系中的一个度量单位代表用户坐标系中的
离以m为单位,均保留1位小数。 几个度量单位,如果将样木位置图打印在A4纸
网)内株数、样木号记录:用二维数组记录坐标集
合内的样木株数,用三维数组记录样木号。
1.1.4样木位置图
上,其缩放因子为1732/9。
为了直观反映样木在样地中的位置,应该根
For J:1 To 400
2.2样木输出位置逻辑坐标值的求算
Set labfJ1=Labell
据每株样木的方位角和水平距绘制样木位置图。 样地中心点(逻辑坐标原点)的坐标为x=
1.2设计思路
l ̄b0).Left=sx0)
l0.5,Y=IO,根据三角函数和用户直角坐标中样木
在林分中树木的分布随机散点分布,并无规
角度和距离,计算样木的x、Y逻辑坐标值,其计
lab∞.T0p=sy∞
律可循,为合理显示样木位置并标注样木号,首先
算公式如下:
Ifl ̄b0).Left<>0 Or lab(J).Top<>0 Then
将样地范围虚拟分割成数个0.4xO.25的格子,然
格网坐标的计算
For I:0 To 20
后根据样木角度和距离计算每个网格内样木实际
第一象限
abx=Fix(1ab(J).Left/0.41
株数,以有样木网格为中心,将样木位置点在网中
zby=Fix(1 ̄0).Top,0.251
If 0<.Fields(4)<=90 Then 样木的实际角范围
心位置显示,样木号的标注通过计算周边八个网
坐标集合内株数、样木号
x=10.5+Sin(.Fields(4) 0.017453) .Fields(5)
zs(zbx,zby)=zs(zbx,zby)+l
格是否空白进行标注,为使打印样木号不重叠,将
100/(1732,9)
ymh(zbx,zby,zs(zbx,zby))=J
样木号输出到显示屏上或打印在空白纸上。
Y=10一Cos(.Fields(4) 0.017453) .Fields(5)
End If
2程序设计及原理
100,(1732,9)
Next J
2.1坐标系统
sx(.Fields(1)1:X
输出样木位置图离不开坐标系统,在输出时
2.4网格中心点坐标的计算
sy(.Fields(1)1=Y
2.4.1网格逻辑坐标的计算
要用到多种坐标系统。
End If
For zby=0 To 80
2.1.1设备坐标 第二、三、四象限
For zbx=0 To 80
设备坐标用于显示器和打印机等输出设备。 If 90<.Fields(4】<=360 Then 样木的实际角度
显示器设备坐标,原点位于左上角,x轴正向向
lf zs(zbx.zby)<=l Then CoTo 200
范围
右,Y正向向下,打印机的设备坐标,原点位于左
If zs(zbx.zby)>1 Then
x:10.5+Sin(3.1415926一.Fields(4)
下角,x轴正向向右,Y正向向上。
For I=l To zs(zbx.zby)
0.017453) .Fields(5) 100,(1732/9)
sh ymh(zbx,zby,I)
2.1.2逻辑坐标
Y=10+Cos(3.1415926一.Fields(4) O.017453)
gdx(sh)=sx(sh)
图形和文字等都要通过显示器和打印机等
.
Fields(5) 100/(1732,9)
设备输出,但各种输出设备的精度是不同的,如果
gdy(sh)=sy(sh)
sx(.Fields(I)1=x
Next I
输出同一个图形而根据不同设备的输出精度调整
sy(.Fields(I))=Y
操作,工作量非常大,为解决这一问题,建立一个
End If
For I=1 T0 zs(zbx.zby)一1
逻辑坐标,与设备无关,它是一个虚拟坐标系。
For J=I+1 To zs(zbx,zby)
Next I
sh=ymh(zbx,zby,I)
2.1.3用户坐标
2.3格网坐标的计算及株数、样木号统计
shl=ymh(zbx,zby,J) (下转35页)
一
36—
科J技l论J坛
停留在ON位。这是因为在点火开关接通的情况
极线,把万用表的正表笔接触蓄电池负极线电缆,
下,蓄电池将持续向发电机的磁场绕组和电压调
负表笔接触负极极桩,然后观察电流表的指针读
数。若手头没有电流表,也可以用1只12伏5瓦
节器放电得缘故。
2.5.2消除外电路的短路和漏电故障。可以 的试灯代替做模拟检测。
2.7必要时对电控系统进行匹配
使用试灯检查蓄电池是否漏电,若试灯点亮,说明
蓄电池漏电。如果漏电量超过30mA,可能的原因
在对亏电的蓄电池维修以后,需要对汽车的
一
科
除的缘故。发动机运转一段时问后,电控单元经过
自适应,发动机工作不良的状况会逐渐自动消失。
检修自动变速器、安全气囊系统前,必须将
点火开关转到锁止位置(LOC ̄),并且将蓄电池负
极电缆拆下20 s或更长一些时间(车型不同,这
时间也不同),然后才能开始检修工作。否则由
有:杂物箱未关严;车门开关有故障,使车内顶灯 电子控制系统重新进行设定,这些设定包括:怠速 于SRS具有备用电源,如拆下蓄电池负极电缆不
直点亮:电路开关漏电;发电机二极管短路或漏
设定、节气门的设定、加速踏板的设定、电子防盗
到规定的间隔时间就开始检修,很容易导致安全
电量过大:电压调节器有故障。 器的匹配等。蓄电池亏电以后进行的匹配,其实并
气囊误胀开而造成严重事故。
结束语
2.5-3减少蓄电池的自放电。如每昼夜蓄电池
不是针对实质性故障,而是一种标准操作程序。
自行放电量超过蓄电池额定容量的2%,则属于 2.8尽量避免汽车非正常断电
现代汽车电控系统发展及用电设备负荷的增
不正常。
蓄电池非正常断电会产生与蓄电池亏电类
大,对蓄电池的依赖也越来越大。蓄电池技术状况
2.5.4作业完成后。不要忘记关断汽车上所
似的故障现象。在断开蓄电池电缆之前,应注意记
的好坏很大程度上决定了汽车能否正常运行,合
有用电器的开关。 录相关系统的密码、调取故障代码、断开点火开 理的蓄电池选择与维护使用对汽车发动机及整车
关。
2.6确认电气系统“睡眠模式”是否正常
性能至关重要。而从根本上解决蓄电池亏电的不
凡是发现蓄电池在短期内亏电,应当检查电 必须引起注意的是:当点火开关处于接通
利影响,则有待于汽车设计技术水平的提高。
控汽车的“睡眠模式”是否正常。
(0N)位置时,不允许断开蓄电池连接线及与蓄电
参考文献
所谓“睡眠模式”,是指点火开关处于OFF
池电压相同的电气装置的导线,这些电气装置包
H1毛峰.汽车电器.
位及所有电器开关关断的情况下,因数字式石英 括:点火系统。怠速控制步进电机,ECU的可编程
f2】李明诫.汽车维护与修理.电控汽车蓄电池的正
钟、电子调谐式收放机及ECU存储器等在工作仍
只读存贮器(PROM)、喷油器、空调及其他电磁离
确使用与维护.
然需要供电,汽车进人一种用电量非常小的状态 合器,还有ECU某些连接线等。否则。会使相关的 作者简介:李小洲(1968一),男,南通航运职业
(低能耗模式),静态下的放电电流不超过0.03 A一 线圈产生自感而烧坏ECU或传感器。
技术学院汽车系。讲师。
0.05 A。
如果蓄电池断开又装复后,出现发动机的整
具体检查做法是:首先关断车上所有的用电 体工作状况不如蓄电池断开以前,有可能是ECIJ
设备,将点火开关转至OFF位,拆下蓄电池的负
的自适应功能记忆的信息,在蓄电池断开后被消
一
一
35—
2024年5月24日发(作者:童孤晴)
科 科 技l论I坛
自动输出样木位置图程序设计
王小萍
王桂凤 王晓东
(1、吉林省林业调查规划院,吉林长春130022 2、吉林省林业勘察设计研究院吉林,吉林长春130022)
摘要:应用VB6系统软件开发编写程序,实现自动绘制样木位置图,使一类清查、二类调查样地成果的输出完全自动化。
关键词:资源调查;样地;样木位置图;VB6
样地是森林资源连续清查和规划设计(--类 是用户定义原始图形时
调查)调查重要内容,是估测总体面积、蓄积及相 所用的坐标系,如直角坐标系。
关因子的重要手段,随着计算机技术的飞速发展, 2.1.4用户坐标与逻辑坐
提供样地调查成果也由手工复制变为计算机打印 标的转换
成果,目前大都采用GIS系统经过矢量化绘制样
原始样木图首先绘制在
木位置图,没有根本解决样木位置图自动打印问
用户坐标系中,通过变换映射
题,为此笔者设计一个小的程序可以实现此功能,
到逻辑坐标系中,然后通过设
从而实现样地成果输出完全自动化。
置映射模式,用缩放函数映射
寨
l样地调查标准和设计思路
到设备坐标中。
1.1调查标准
逻辑坐标与设备坐标之
1.1.1样地面积和形状
间的转换通过API函数实现。
实测样地的面积为0.06hm2;形状为边长24.49m, 用户坐标与逻辑坐标之
其l/2对角线长为17.32m,对角线指向正东(西)
间的转换,外业样木采集的信
和正南(北)的正方形。 息为样木与样地中心点的角度
1.1.2样木号
和距离,如何在计算机上实现
固定样地内的检尺样木均编号,并长期保持 显示,那就要进行用户坐标与
不变。样木号以样地为单元进行编写,不得重号和 逻辑坐标之间的转换。转换过
图1
漏号。固定样木被采伐或枯死后,原有编号原则上
程中由于度量单位不同,用户
不再使用,新增样木(如进界木、漏测木)编号接前
坐标系中的图形转换到逻辑坐标系中去,必然按
将样地用纵横坐标线区分成网格,一块样地
期最大号续编。
照一定的比例进行缩放,这个比例称为缩放因子。
的样木株数最多不超过999株,既需标注的样木
1.1.3方位角、水平距离
这种缩放因子可以理解为用户坐标系中的一个度
号最多3个字符,所以将格网设成长方形。以利于
采用PDA或实测每株样木位置与样地中心 量单位代表逻辑坐标系中的几个度量单位,或逻
标注样木号,每个网格大小为0.4xO.25,用一维数
组记录每个格点的左上角顶点坐标。坐标集合(格
点方位角和水平距离,方位角以度为单位,水平距 辑坐标系中的一个度量单位代表用户坐标系中的
离以m为单位,均保留1位小数。 几个度量单位,如果将样木位置图打印在A4纸
网)内株数、样木号记录:用二维数组记录坐标集
合内的样木株数,用三维数组记录样木号。
1.1.4样木位置图
上,其缩放因子为1732/9。
为了直观反映样木在样地中的位置,应该根
For J:1 To 400
2.2样木输出位置逻辑坐标值的求算
Set labfJ1=Labell
据每株样木的方位角和水平距绘制样木位置图。 样地中心点(逻辑坐标原点)的坐标为x=
1.2设计思路
l ̄b0).Left=sx0)
l0.5,Y=IO,根据三角函数和用户直角坐标中样木
在林分中树木的分布随机散点分布,并无规
角度和距离,计算样木的x、Y逻辑坐标值,其计
lab∞.T0p=sy∞
律可循,为合理显示样木位置并标注样木号,首先
算公式如下:
Ifl ̄b0).Left<>0 Or lab(J).Top<>0 Then
将样地范围虚拟分割成数个0.4xO.25的格子,然
格网坐标的计算
For I:0 To 20
后根据样木角度和距离计算每个网格内样木实际
第一象限
abx=Fix(1ab(J).Left/0.41
株数,以有样木网格为中心,将样木位置点在网中
zby=Fix(1 ̄0).Top,0.251
If 0<.Fields(4)<=90 Then 样木的实际角范围
心位置显示,样木号的标注通过计算周边八个网
坐标集合内株数、样木号
x=10.5+Sin(.Fields(4) 0.017453) .Fields(5)
zs(zbx,zby)=zs(zbx,zby)+l
格是否空白进行标注,为使打印样木号不重叠,将
100/(1732,9)
ymh(zbx,zby,zs(zbx,zby))=J
样木号输出到显示屏上或打印在空白纸上。
Y=10一Cos(.Fields(4) 0.017453) .Fields(5)
End If
2程序设计及原理
100,(1732,9)
Next J
2.1坐标系统
sx(.Fields(1)1:X
输出样木位置图离不开坐标系统,在输出时
2.4网格中心点坐标的计算
sy(.Fields(1)1=Y
2.4.1网格逻辑坐标的计算
要用到多种坐标系统。
End If
For zby=0 To 80
2.1.1设备坐标 第二、三、四象限
For zbx=0 To 80
设备坐标用于显示器和打印机等输出设备。 If 90<.Fields(4】<=360 Then 样木的实际角度
显示器设备坐标,原点位于左上角,x轴正向向
lf zs(zbx.zby)<=l Then CoTo 200
范围
右,Y正向向下,打印机的设备坐标,原点位于左
If zs(zbx.zby)>1 Then
x:10.5+Sin(3.1415926一.Fields(4)
下角,x轴正向向右,Y正向向上。
For I=l To zs(zbx.zby)
0.017453) .Fields(5) 100,(1732/9)
sh ymh(zbx,zby,I)
2.1.2逻辑坐标
Y=10+Cos(3.1415926一.Fields(4) O.017453)
gdx(sh)=sx(sh)
图形和文字等都要通过显示器和打印机等
.
Fields(5) 100/(1732,9)
设备输出,但各种输出设备的精度是不同的,如果
gdy(sh)=sy(sh)
sx(.Fields(I)1=x
Next I
输出同一个图形而根据不同设备的输出精度调整
sy(.Fields(I))=Y
操作,工作量非常大,为解决这一问题,建立一个
End If
For I=1 T0 zs(zbx.zby)一1
逻辑坐标,与设备无关,它是一个虚拟坐标系。
For J=I+1 To zs(zbx,zby)
Next I
sh=ymh(zbx,zby,I)
2.1.3用户坐标
2.3格网坐标的计算及株数、样木号统计
shl=ymh(zbx,zby,J) (下转35页)
一
36—
科J技l论J坛
停留在ON位。这是因为在点火开关接通的情况
极线,把万用表的正表笔接触蓄电池负极线电缆,
下,蓄电池将持续向发电机的磁场绕组和电压调
负表笔接触负极极桩,然后观察电流表的指针读
数。若手头没有电流表,也可以用1只12伏5瓦
节器放电得缘故。
2.5.2消除外电路的短路和漏电故障。可以 的试灯代替做模拟检测。
2.7必要时对电控系统进行匹配
使用试灯检查蓄电池是否漏电,若试灯点亮,说明
蓄电池漏电。如果漏电量超过30mA,可能的原因
在对亏电的蓄电池维修以后,需要对汽车的
一
科
除的缘故。发动机运转一段时问后,电控单元经过
自适应,发动机工作不良的状况会逐渐自动消失。
检修自动变速器、安全气囊系统前,必须将
点火开关转到锁止位置(LOC ̄),并且将蓄电池负
极电缆拆下20 s或更长一些时间(车型不同,这
时间也不同),然后才能开始检修工作。否则由
有:杂物箱未关严;车门开关有故障,使车内顶灯 电子控制系统重新进行设定,这些设定包括:怠速 于SRS具有备用电源,如拆下蓄电池负极电缆不
直点亮:电路开关漏电;发电机二极管短路或漏
设定、节气门的设定、加速踏板的设定、电子防盗
到规定的间隔时间就开始检修,很容易导致安全
电量过大:电压调节器有故障。 器的匹配等。蓄电池亏电以后进行的匹配,其实并
气囊误胀开而造成严重事故。
结束语
2.5-3减少蓄电池的自放电。如每昼夜蓄电池
不是针对实质性故障,而是一种标准操作程序。
自行放电量超过蓄电池额定容量的2%,则属于 2.8尽量避免汽车非正常断电
现代汽车电控系统发展及用电设备负荷的增
不正常。
蓄电池非正常断电会产生与蓄电池亏电类
大,对蓄电池的依赖也越来越大。蓄电池技术状况
2.5.4作业完成后。不要忘记关断汽车上所
似的故障现象。在断开蓄电池电缆之前,应注意记
的好坏很大程度上决定了汽车能否正常运行,合
有用电器的开关。 录相关系统的密码、调取故障代码、断开点火开 理的蓄电池选择与维护使用对汽车发动机及整车
关。
2.6确认电气系统“睡眠模式”是否正常
性能至关重要。而从根本上解决蓄电池亏电的不
凡是发现蓄电池在短期内亏电,应当检查电 必须引起注意的是:当点火开关处于接通
利影响,则有待于汽车设计技术水平的提高。
控汽车的“睡眠模式”是否正常。
(0N)位置时,不允许断开蓄电池连接线及与蓄电
参考文献
所谓“睡眠模式”,是指点火开关处于OFF
池电压相同的电气装置的导线,这些电气装置包
H1毛峰.汽车电器.
位及所有电器开关关断的情况下,因数字式石英 括:点火系统。怠速控制步进电机,ECU的可编程
f2】李明诫.汽车维护与修理.电控汽车蓄电池的正
钟、电子调谐式收放机及ECU存储器等在工作仍
只读存贮器(PROM)、喷油器、空调及其他电磁离
确使用与维护.
然需要供电,汽车进人一种用电量非常小的状态 合器,还有ECU某些连接线等。否则。会使相关的 作者简介:李小洲(1968一),男,南通航运职业
(低能耗模式),静态下的放电电流不超过0.03 A一 线圈产生自感而烧坏ECU或传感器。
技术学院汽车系。讲师。
0.05 A。
如果蓄电池断开又装复后,出现发动机的整
具体检查做法是:首先关断车上所有的用电 体工作状况不如蓄电池断开以前,有可能是ECIJ
设备,将点火开关转至OFF位,拆下蓄电池的负
的自适应功能记忆的信息,在蓄电池断开后被消
一
一
35—