最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

自动输出样木位置图程序设计

IT圈 admin 30浏览 0评论

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— 

发布评论

评论列表 (0)

  1. 暂无评论