排行榜 创业指南

扫一扫关注有惊喜

TOP

几种GIS软件线与面要素转换的探讨
内容摘要:几种GIS软件线与面要素转换的探讨

  摘要:本文阐述了在MapInfo 7.0、MapGIS 6.5、ArcGIS 9.2以及ArcView 3.x四个软件中线与面要素类型转换的实现方法。

  关键词:GIS;线要素;面要素;要素转换

  Abstract: this paper introduces the MapInfo 7.0, MapGIS 6.5, ArcGIS 9.2 and ArcView 3. X four software midline and face elements type conversion method.

  Keywords: GIS; Line elements; Surface elements; Elements conversion

  中图分类号: TP311.5 文献标识码:A 文章编号:

  0 引言

  自从加拿大学者Roger F. Tomlinson首次提出了地理信息系统以来,地理信息系统如雨后春笋般迅速发展并壮大起来,与之相对应的是各种GIS软件应运而生,国外以ESRI公司的ARC/INFO和ArcView、MapInfo公司的MapInfo等软件为代表,而国内此类软件有武汉中地公司的MapGIS等。尽管各软件的功能很强大,但在实际运用中,结合各应用领域的具体情况,每种软件都有其各自的优势。下面针对不同的软件,进一步探讨线与面要素间的转换功能。

  1 线与面要素互转的意义

  在GIS软件中,线要素和面要素数据都是分开存储的。线要素类中不允许存放面要素数据,面要素类中也不可能存放线要素数据。同时,在许多实际情况下,我们获得的数据信息可能只是线要素,也可能仅仅为面要素;而在GIS软件中的一些分析和操作功能,以及显示输出时却需要它们互转后的数据信息。

  以境界数据为例,很多情况下,使用单位所获取的此类信息都是以线要素的形式存储的,这种形式的数据远远不能满足实际的需要。比如,用此线要素数据制作行政区划图时,就需要先将线要素转换成面要素数据,再进行一些诸如颜色、比例尺等因素的调整。有时,某一大区域所拥有的数据量很大,给显示和分析带来了极大的不便,此时就需要根据一定的规则和实际情况将这个区域进行分割,得到一系列符合要求的小区域。很多软件都提供了相应的功能,即用面数据去对大区域进行切割处理,此时也需要面要素数据的支持。

  下面分别以MapInfo 7.0、MapGIS 6.5、ArcGIS 9.2以及ArcView 3.x等软件为例,阐述线与面要素数据的转换是如何在各软件中实现的。

  2 几种常用GIS软件中线与面转换功能的具体实现方法

  在上述的几种软件中,线与面要素转换的具体实现方法各有优劣。现以抚顺市新宾县的一个镇的境界线数据为例,分述如下:

  2.1 MapInfo中线与面要素的转换

  MapInfo软件虽然空间分析功能远远赶不上ESRI公司的系列产品,但其图形编辑功能却有其独特的优势。通常,人们对扫描的图形进行矢量化操作都在该软件中进行。在MapInfo中的编辑功能中,提供了两种功能:“convert to Regions”和“convert to Polylines”,这两个功能可以将线要素转成面要素,也可以将面要素转成线要素。见图1所示。

  2.2 MapGIS中的线与面要素的转换

  MapGIS软件中数据的组织是以点、线、弧以及区域等形式完成的。为了将线要素转换成面要素,首先应将线要素提取为弧要素,再将闭合的弧段数据提取为区域。而将面要素转换成线要素,从逻辑上来说,则是上述步骤的逆过程。见图2所示。

  2.3 ArcGIS中线与面要素的转换

  在ArcMap中,尽管没有具体的功能实现线转面、面转线的操作,但却可以使用其它方法将面要素转换成线要素。方法一:可将某个polygon要素中的数据先复制,然后再粘贴到polyline要素中。这种方法虽然可以实现面要素转成线要素,但属性表中的信息不会保存下来,也就是说,这种方法将丢失属性信息。方法二:在高级编辑中,Topology菜单中的Construct Features功能也可以将面要素转换成线要素。

  而为了将线要素转成面要素,则需要到ArcCatalog中实现这个功能。首先应将其他格式的数据转换到Geodatabase中一个的要素数据集下;其次,鼠标指向该数据集并右击,选择New中的Polygon Feature Class From Lines…,出现Polygon Feature Class From Lines对话框;最后在该对话框中进行各种相应的设置,选择OK后,就会在该要素数据集中产生一个对应的面要素类。见图3所示。

  对于线要素和面要素的转换,ArcGIS的ArcToolbox中将会提供专门的命令实现这个功能,大大地提高了数据操作的速度和精度。

  2.4 ArcView中线与面要素的转换

  尽管在ArcView中没有直接的功能对线、面要素进行互转,但却可以在scripts中使用Avenue语言实现这些功能,不仅可以实现对线、面要素的互转,而且也可以实现点、线、面三类要素数据的互转。

  如果仅仅是一些简单对象类型之间的互转,则可以使用表达式实现三种不同数据类型的转换,如aObject.AsMultiPoint、aObject.AsPolygon、aObject.AsPolyLine等。若转换的数据量大且等级高,则需要在scripts文档中使用完整的Avenue语言去实现它。下面是将当前面要素层转换成线要素的一部分脚本:

  theView = av.GetActiveDoc

  theThemeIn = theView.GetActiveThemes.Get(0)

  fnDefault = FileName.Make("$HOME").MakeTmp("shape","shp")

  fnOutput = FileDialog.Put( fnDefault,"*.shp","Output Shape File" )

  if (fnOutput = nil) then exit end

  fnOutput.SetExtension("shp")

  ftbOutput = FTab.MakeNew( fnOutput, POLYLINE )

  ftbOutput.AddFields({Field.Make("ID", #FIELD_LONG, 8, 0)})

  3 结论

  结合以上几种软件,通过对线与面要素转换功能的研究,可以看出:尽管MapInfo在线与面要素数据的转换方法上相对简单,但点、线和面三种类型数据可存放在同一数据层中,不利于数据的分析和管理,且线与面要素数据转换的方法仅针对数据层中的具体要素而言,无法实现数据层级别上的线与面要素数据的转换。因此,对于大量的要素层数据,如果要进行线与面要素的转换,则最好使用ESRI公司的ArcGIS 和ArcView等系列软件。

  参考文献:

  [1] 陈述彭, 鲁学军, 周成虎. 地理信息系统导论. 北京:科学出版社, 2002.

  [2] 罗云启, 罗毅. 数字化地理信息系统MapInfo应用大全. 北京:北京希望电子出版社, 2001.

  [3]秦其明, 曹五丰, 陈杉. ArcView地理信息系统实用教程. 北京:北京大学出版社, 2000.

责任编辑:中宾科技

标签云: 名人百科网,品牌百科网 辅导班开课通知家长群 美术培训班搬迁通知 少儿美术开课通知 艺术培训班开课通知范文 美术班复课通知 培训班开课通知话术 画室开课通知 美术培训班开课通知模板 培训机构上课温馨提示 奶茶店成功营销方案 美容院顾客裂变方法 老客户转介绍激励方案 转介绍的方案和思路 美容院如何快速裂变 美容院如何玩裂变 裂变客户的十种方法 小型餐饮业营销计划方案 餐饮全年营销方案计划表 餐饮行业营销策划的特点 我开早餐店的真实经历做早餐生意的窍门开早餐店的惨痛经历未来早 线下宣传推广策划方案 产品线下推广活动方案 完整的婚礼策划方案 地推的60种方法 电商平台促销活动方案 线上推广的渠道有哪些 推广品牌的策划方案 地推活动策划方案创意 旅游景区营销推广方案
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇Geomagic软件三维建模研究 下一篇巧用excel编写脚本实现对AutoCAD..

相关阅读:

相关栏目

安全提示

最新文章

热门信息

siteMap.txt