FoxPro与ArcGIS相结合自动编制图斑号方法的探讨

2018-04-28 05:34陈建义卢卫峰
自然保护地 2018年1期
关键词:纵坐标横坐标赋值

陈建义 卢卫峰

(国家林业局华东林业调查规划设计院浙江杭州310019)

1 引言

按照方便实用的原则,国家林业局对森林资源规划设计调查(以下简称“二类”调查)中小班的编号顺序作了规定,以行政村(林区、林班)为编号单位,在相连小班群内按照从上到下,从左到右的顺序依次进行编号。这样的编号规则符合人的观察习惯,编制的号码有规律,便于查找。但是,这种在实际操作过程中却给调查人员带来了诸多的不便,如在小班编号完成后发现有漏号、重号以及新增加小班等问题时,就需要重新调整小班编号。这相当于又进行一次小班编号,势必耗费大量的时间和人力,工作效率低,人工编号方式已经无法满足制图自动化的要求。AcrGIS平台上,利用Visual FoxPro 9.0编写程序,按照小班编号原则对小班进行编号,实现了小班编号的自动化,可提高工作效率,克服传统方法编写小班号的弊端。

2 整体思路

首先在ArcGIS中对小班多边形(polygon)进行唯一编码编写,用于小班对应挂接。将小班多边形转化为小班点图层(point),获取小班点图层的横坐标值和纵坐标值,在小班号编制区域内,按照纵坐标由大到小、横坐标从小到大依次进行排序,并赋值,增量为1;编制区域变动时,重新从1开始赋值。如此反复,即可给每个小班赋值编号。

3 编写程序具体方法

3.1 获取地理坐标值

在 ArcGIS中,加载小班面图层(xb),在属性表(attribute)中增加 1个长整型(Long)的字段,字段名设置“序号”,并进行小班唯一编码,用于小班对应挂接。打开 ArcToolbox下面的Data Management Tools->Features->Feature to point工具,同时选中“inside(optional)”复选框,将小班面图层转化为小班点图层(xb_bh),并加载刚生成的小班点图层,在属性表中增加2个长整型的字段,字段名设置为“x”和“y”,在属性表中通过图形计算(Calculate Geometry)获取小班点(xb_bh)的横坐标值(X)和纵坐标值(Y)。将小班面图层(xb)和小班点图层(xb_bh)放置在同一个文件夹下。小班点图层属性表如图1所示。

图1 小班点图层属性表

3.2 代码编写

借助Visual FoxPro 9.0开发语言设计程序,新建一个表单(Form),并将“xb.dbf”和“xb_bh.dbf”加入至表单的数据环境中,放入CommandButton控件,借助数据库SELECT-SQL语句对属性库进行查询更新。Command1 click事件代码如下:

UPDATE xb SET xb.xiao_ban=temp1.xiao_ban from temp1 WHERE temp1.序号=xb.序号&&对小班面数据库属性表进行小班号赋值

MESSAGEBOX("完成小班编号")

4 应用案例

浙江省衢州市衢江区二类调查共有6.5万个小班,利用上述程序对小班进行编号,耗时不到 1分钟,操作简单、方便、快捷、准确,不会出现重号或漏号的现象。编号完成后,在ArcGIS中,加载小班面图层(xb),并对其进行编号标注,可以看到小班编号符合二类调查成果图编制规定,如图2所示。

图2 小班编号结果

5 结论

衢州市衢江区二类调查共计有6.5万个小班,如采用传统方法,每人每天最多能完成1000个小班编号,依此计算,完成全部编号则需要1个人连续工作60余天,而采用本方法则不到1分钟就能完成。借助ArcGIS软件的特点结合Visual FoxPro 9.0开发语言设计程序,对图斑进行自动编号的方法,可以节省大量时间、人力,极大地提高了工作效率,也可以为其他类似的工作提供借鉴。

[1]亢新刚.森林资源经营管理[M].北京:中国林业出版社,2001.

[2]张洪举.Visual FoxPro权威指南[M].北京:电子工业出版社,2007.

[3]郑旭东,黄新峰,孙红召,等.ArcGIS中森林小班自动编号方法探讨[J].林业调查规划,2008,33⑶:9-10.

[4]崔彦军,丁守杰,范丽红.VB与ArcGIS相结合森林小班自动编号方法探讨[J].山东林业科技,2013,⑵:95-97.

猜你喜欢
纵坐标横坐标赋值
·更正·
更正
勘 误
不可轻用的位似形坐标规律
以一次函数图象为载体的规律探究题
例谈二次函数的顶点横坐标x=-b/2a的简单应用
“平面直角坐标系”解题秘籍
强赋值幺半群上的加权Mealy机与加权Moore机的关系*
算法框图问题中的易错点
利用赋值法解决抽象函数相关问题オ