土地更新调查数据库建设及前端数据处理

丘小春
(广西第一测绘院 广西南宁 530023)

【摘 要】 本论文从生产实践的角度出发,阐述了以MAPINFO为前端数据处理平台,利用其二次开发工具,实现土地更新调查数据库建设的自动、半自动化的目的,达到了提高生产效率、控制质量的流程和方法,介绍了前端数据处理的程控及功能。
【关键字】 土地更新调数据库 MAPINFO MAPBASIC 辅助程序

  1 引言
  土地调查是指为查清土地的数量、质量、分布、利用和权属状况而进行的调查。土地利用现状更新调查数据库建设,为全面实施耕地保护和土地用途管制制度、开展集体土地登记发证、制定国民经济发展计划等提供重要依据。目前,土地更新调查及数据库建设正在全国范围内展开,所采用的土地利用现状地类划分类型就是上述三大地类或过渡期分类体系。
  2 土地更新调查数据库依托的信息系统平台
  目前国内外的土地信息系统市场新产品层出不穷,相比较而言,国外的土地信息系统性能较全面,管理分析功能也很强,但软件价格都比较昂贵。我国的土地信息系统提供给政府部门进行有关方面的规划、决策,是国家较为机密的信息资源,是不可完全无条件共享的;另一方面,从目前我国的基本国情来看,没有条件大量使用国外的土地信息系统软件,我国的信息软件业方兴未艾,是一个朝气蓬勃的产业,完全有能力支撑我国的国土信息系统。所以,在土地信息系统软件平台的选择上,中国土地勘察研究院大部份推荐使用中国地质大学(武汉)信息工程学院研发的MAPGIS和武汉大学地理信息系统研究中心研发的GEOSTAR软件。
  3 土地更新调查数据库建设
  
3.1 生产流程
  在整个数据库建设工作流程中,数据采集与编辑处理(包括图形与属性数据)占了绝大多数的工作量,可以说数据采集与录入直接影响整个数据库建设项目的进度。如何提高数据采集与属性录入的工作效率,是每一个土地利用现状数据库建设项目负责人所必须解决的问题。近几年来,我单位一直从事土地更新调查数据库建设的工作,在工作中发现并探索出一些工作方法,总结出了工作流程(如图3.1)。

图3.1 土地更新调查数据库建设工作流程图

  3.2 数据处理平台
  选择MAPINFO作为数据处理的基础平台。原因主要有:
  1、目前,大部份的作业员比较熟练使用的数据采集软件是AUTOCAD软件,属性录入软件是MAPINFO软件。
  2、土地更新调查数据库建库,最终的使用单位是土地管理部门,从资源使用方面考虑,为承建单位没必要购买大量的土地管理方面的软件,否则会造成不必要的浪费。
  3、MAPINFO软件不仅具有一般GIS软件应有的功能,同时它还提供了与其它GIS软件的数据交换接口。如提供了与MAPGIS的数据接口MIF数据格式,与GEOSTAR的数据接口E00数据,这样,通过以MAPINFO作为前端数据采集处理平台,既可以充分利用我单位现有的软件资源,又可以减轻作业员的培训量,同时还可以使作业流程固化,不必根据土地信息系统平台的不同而不断的修改工作流程,减轻作业员的工作强度。所以在制定作业技术路线时,我单位选用Mapinfo作为土地利用数据库前端数据处理平台。
  3.3 生产程序设计
  (一)设计程序原因
  1、在属性录入工作中,图斑、线状、零星的坐落代码、权属代码录入工作量最大,要提高工作效率,就要解决这个问题。
  2、在质量控制方面,如何自动查出非法地类、图斑重号是实现质量控制的基础。
  3、在面积计算方面,如何实现面积的自动统计和自动平差。
  4、在数据交换方面,如何实现与外业数据的交换。
  (二)程序功能设计
  1、自动建立各土地利用要素属性结构表
  2、由权属区自动获取图斑面、线状地物、零星地物的坐标代码,不是飞地、国有单位的权属代码。
  3、自动完成地类非法、图斑重号、权属性质非法、坡地级别非法、等等逻辑错误检查。
  4、自动完成图斑、线状地物、图斑净面积的计算,自动完成图幅各地类面积统计。
  5、自动完成外业控制点坐标数据转换。
  6、符合建库软件要求的其它功能。
  (三)各程序功能的实现、设计思想、源代码
  1、自动建立土地利用现状数据库各要素属性库结构,目的是使各个作业员所完成图幅的属性表结构完全一致,避免由于错别字、漏输、多输使属性表结构不一致,保证整个测区的数据顺利拼接提交入库。
  下面是图斑表属性库结构的源代码:
  Sub TB
  Dim s_file_name As string
  Dim s_path As string
  Dim s_tablename As string
  Dim num_open_wins As SmallInt
  s_file_name=FileOpenDlg("","","tab","打开Tab文件")
  s_path=PathToDirectory$(s_file_name)
  s_tablename=PathToTableName$(s_file_name)
  Open table s_file_name interactive
  Map From s_tablename
  alter table s_tablename (add各类属性字段) interactive
  Close Table s_tablename interactive
  Open table s_file_name interactive
  num_open_wins=NumWindows()
  If num_open_wins=0 then
   Map Froms_tablename
  Else
   Add Map Layer s_tablename
  End if
  End sub
  2、根据权属区的权属区代码,自动给图斑、线状、零星附坐落代码和权属代码。由于权属代码和坐落代码字符长,如果手工输入,很容易出错,使数据统计错误。所以利用权属区和图斑面、线状地物、零星地物的空间位置关系,可以实现不是飞地、国有单位的图斑面、线状地物、零星地物坐落代码、权属代码的自动识别。
  下面是由权属区面的权属区代码自动识图斑面的坐落代码和权属代码的源程序的说明注记
  sub xjtb
  dim s,b,a, e,f,g,h,o as string
  dim k,i,j,n as integer
  dim c,d as object
  dialog
  title "input filename"
  control statictext
  title "请输入图幅号:"
  control edittext
  into s
  control okbutton
  control cancelbutton
  if commandinfo(cmd_info_dlg_ok) then
  a=s+"xj"
  b=s+"tb"
  select * from b into seltmp1
  k=tableinfo(seltmp1,tab_info_nrows)
  for i=1 to k
  Fetch rec(i) from seltmp1
  c=seltmp1.obj
  e=seltmp1.图斑编号
  f=seltmp1.坐落代码
  select * from a where obj within c into seltmp2
  update seltmp6 set 坐落代码=f
  end if
  end if
  Next
  End sub
  以上程序可以自动完成图斑面坐落代码、权属代码由权属区的权属区代码自动识别的操作,从而减轻工作量。
  3、数据的逻辑检查:在土地利用数据库中,图斑面的图幅号、图斑号、权属代码唯一的标识了此图斑的属性,没有了实体的空间位置,在纯数据库属性中,它可以独立表示这个实体的各项属性信息。所以在同一图幅相同的权属区范围内图斑号是不能重号的。另外,在属性信息的录入过程中,地类代码应遵循三级地类或过渡期分别规则,但由于外业、内业的人为因素,导致录入的地类代码出现如112K、145、329等地类非法情况;同时,相对于线状地物,如出现111(耕地)的线状地物地类,也属于非法地类。为保证数据库的建库质量,设计了以下源代码的程序:
    查图斑号重号
  Sub tbh
  Dim h,a,b,e,f,g,o,p,q as string
  Dim i,j,k ,slenas integer
  Dialog
   title "input mapname"
  control statictext
   title "请输入图幅号:"
  control edittext
   into e
  control okbutton
  control cancelbutton
  if commandinfo (cmd_info_dlg_ok) then
  f=e+"tb"
  g=e+"zdm"
  print g
  select * from g into select4
  j=tableinfo(select4,tab_info_nrows)
  Create Table "tmp3" (坐落代码 char(15),图斑编号 Char(10),count Char(10)) file 路径 TYPE NATIVE Charset "WindowsSimpChinese"
  Create Map For tmp3 CoordSys NonEarth Units "m" Bounds (minx,miny) (maxx,mayy)
  For i=1 to j
  Fetch rec(i) from select4
   o=select4.宗地号
  select * from f where 坐落代码=o order by 图斑编号 into select6
  select 坐落代码,图斑编号,count(*) from select6
  group by 图斑编号 into select7
   select * from select7 where count>=2 into
  select8
   if selectioninfo(sel_info_nrows) then
    insert into tmp3 (col1,col2,col3) select col1,col2,col3 from select8
   end if
  next
  select * from tmp3 into select9
  browse * from select9
  end if
  end sub
  通过以上由MAPBASIC语言二次开发的程序模块,可以方便的完成土地利用数据库前端数据的获取。
  4 结束语
  通过前端数据采集,形成一幅1:1万或1:5000的土地利用图,再通过二次开发利用MAPINFO的数据转换接口(MIF、E00)将采集好的MAPINFO数据转到MAPGIS、GEOSTAR软件中完成土地利用数据库的建设和使用,达到了提高生产效率、控制质量的要求。

【参考文献】
[1] http://www.MapInfo.com.MapInfo Professional Reference Guide
[2] 王晓武,陈宗敏,杜兴国.MapBasic 程序设计.电子工业出版社,2000.7

作 者 简 介
丘小春(1966-),男,工程师,广西陆川人,主要从事GIS及测量等方面的工作。

地址:广西南宁市建政路5号  邮编:530023  Tel:0771-5606397  Email:webmaster@digitalgx.com
广西基础地理信息中心版权所有 2005-2010 广西基础地理信息中心制作