基于mapbasic的电力线属性修改

所属栏目:电力论文 发布日期:2011-02-09 17:02 热度:

  摘要:本文是由mapbasic结合mapinfo开发的程序实现的。主要是通过点选一段电力线,使与之‘线路名称’属性相同的电力线都呈被选中状态,同时出现一个文本窗口,给修改‘线路名称’属性提供接口。已有的值在第一个文本框中显示出来,第二个文本框是空白的,输入新属性值,点击确定就可修改全部选中电力线的‘线路名称’属性值。与mapinfo本身提供的功能,所进行的修改过程来比,速度提高了十几倍。
  关键词:mapinfo,mapbasic,电力线,属性
  1前言
  这个问题的产生来源于辽中电力项目。该项目是根据辽中县农电局对辽中地区电力事业发展的需求,对该地区面积约1635平方公里范围内的66KV、10KV电力线路及供电所和变电所进行调查、测量,最后数字化1:1万地形图。电力专业数据包括66KV和10KV两种电力线,要对其电压伏数、杆塔号、线路名称、变电所或供电所名称进行实地测量调查,并填写在数据属性字段中。
  在项目编辑过程中,由于作业方案的改变,要求将电力线的‘线路名称’属性值,举例来说,由‘三亿分’改为‘黄腊坨线三亿分’;‘三亿造纸厂支’改为‘黄腊坨线三亿分三亿造纸厂支’,也就是注记线路名称的全称。该项目共涉及到24个变电所,5万个左右的电杆,象蜘蛛网一样的线路,并且数据已经都是按杆位打断的数据,同一‘线路名称’值的线段有很多,看下表1所示的属性信息就会明白。
  1.jpg
  表1
  要一个一个的修改肯定是不现实的事,如何能快速、高效的更改这一属性值,让我们来看看下面两种方法的比较,及最终的结论。
  2依靠mapinfo软件本身的功能修改
  Mapinfo本身自带了一个sql查询功能,借助它我们能一次选择同一‘线路名称’值的所有线出来,在统一修改其值。具体步骤如下:
  ⑴使所要修改的表变成可编辑状态。
  ⑵用‘信息查询’工具或‘新建浏览窗口’工具选择一个‘线路名称’值,如:三亿分。
  ⑶点击菜单‘查询’SQL选择,出现一个‘SQL选择’对话框,填写正确的选择条件,如图1,就可以选择所有线路名称’为东荒地分的电力线出来,同时出现一个名为Query1的浏览窗口。
  2.jpg
  图1
  ⑷选择菜单‘表’更新列,出现‘更新列’对话框,填写正确的选择条件,如图2,就可统一更改‘线路名称’的值为‘黄腊坨线三亿分’了。
  3.jpg
  图2
  3属性修改的程序实现过程
  ⑴定义一个工具按钮
  createbuttonpad"查询工具"as
  toolbuttoncallingtool_subID1
  iconmi_icon_arrow
  cursormi_cursor_arrow
  drawmodedm_custom_point
  helpmsg"在地图窗口中单击n单击一位置"
  ⑵定义一个修改对话框
  dialog'对话框
  title"选择"
  controlstatictext
  title"点选电力线'线路名称'"
  controledittext
  values_vz
  controlstatictext
  title"替换'线路名称'"
  controledittext
  intosearchfor
  controlokbutton
  title"确定"
  ControlCancelButton
  title"取消"
  ⑶选择所有与选中的‘线路名称’同值的电力线
  fetchreci_row_idfroms_table
  s_tn=s_table
  s_table=s_table+".线路名称"
  s_vz=s_table
  select*froms_tnwhere线路名称=s_vzintosel
  next
  ⑷修改‘线路名称’值
  ifcommandinfo(cmd_info_dlg_ok)then
  ifsearchfor<>""then
  updateselset线路名称=searchfor
  dimnobjasobject
  dimjasinteger
  j=selectioninfo(sel_info_nrows)
  dimnasinteger
  forn=1toj
  select*fromselwhererowid=nintosele1
  nobj=sele1.obj
  alterobjectnobjinfoobj_info_pen,makepen(1,2,red)
  updateselsetobj=nobjwhererowid=n
  next
  endif
  else
  gotonpro'点取消键就跳到下一个循环
  endif
  到这程序实现的‘线路名称’属性值修改过程也就完成了。用文字总结一下就是通过点选一段电力线,使与之‘线路名称’属性相同的电力线都呈被选中状态,同时出现一个文本窗口,给修改‘线路名称’属性提供接口。已有的值在第一个文本框中显示出来,第二个文本框是空白的,输入新属性值,点击确定就可修改全部选中电力线的‘线路名称’属性值。完成一条电力线的修改只需几秒钟的时间。
  4、结束语
  上面两种方法虽然主要的完成过程都有四步,但第二种方法的整个过程都是程序实现的,人工只需点击一段线输入新值就可以,比起第一种方法要快上几十倍。在我们这样的生产单位,速度与效益是紧密相关的,在以后的工作中,我会挖掘更多的方法来提高作业效率。
  参考文献:
  [1]地理信息系统二次开发教程—语言篇/刘光编著.北京:清华大学出版社,2003

文章标题:基于mapbasic的电力线属性修改

转载请注明来自:http://www.sofabiao.com/fblw/ligong/dianli/7006.html

相关问题解答

SCI服务

搜论文知识网的海量职称论文范文仅供广大读者免费阅读使用! 冀ICP备15021333号-3