关于将shape转成coverage时保留自定义属性问题
(2010-04-22 15:38:49)
转载
shape和苏代为燕说齐coverage是Arcgis中最常用的两种数据格式,shape的优点是结构简单、占据空间小、易存储、易编辑,所以GIS初学者首先接触和使用的通常是shape玉壶丸格式,但shape的致命缺陷是不具备空间拓扑关系,在计算面积和长度等信息时经常出差,不能参与路径分析,所以在许多需要精确的GIS分析中都无法使用;所以在做数据化的时候经常采取的方式是:先用shape格式编辑几何及添加相应的属性,然后再利用工具将shape转换成具有拓扑的coverage格式,然而这个转换过程常常会遇到一些不尽人意的问题,自定义属性的丢失是其中最常见的一种,下面将详细介绍一种解决这个问题的方法。
Arcgis软件中有好几种方法可以将shape转coverage,最简单的方法就是用Arcmap>>ArcToolbox>>Conversion>>To coverage>>Feature Class To Coverage,将要转成coverage的shape图层导入对话框,完成输出即可。然后很不幸,简单快捷的东西通常都会带有某些瑕疵,用这种方法得到coverage只能保留shape中系统默认的属性。
第二种方法是在Arcinfo时间鉴定中转换。Arcinfo虽然功能强大,但繁琐的命令操作常常让初学者望而生畏,学习arcinfo需要的是耐心、细心和恒心,arcinfo强悍的除了功能外还有强悍的帮助文档,大部分arcinfo的使用者都是靠帮助文档自学成才的。在arcinfo中将shape转成coverage主要用到如下几个命令:shapearc、clean或build、regionpoly,其中,shapearc是将shape转成coverage,clean或build是为coverage建立拓扑,regionpoly就是传输属性,下面结合实例来解析这三个命令的具体用法。
以下红色斜体字为注释,黑色英文为arcinfo中的输入的代码,……表示中间有很多系统自动产生的代码。本操作的功能是:将一个存放在F:\shape下的shape格式图层region人活着到底是为了什么转换成coverage图层new_region,并保留region中的全部属性。
将arcinfo的工作空间转到f:\shape
……
Arc: cw F:\shape
Arc: w F:\shape
Arc: w
Current location: f:\shape
Region为要进行转换的shape的图层名字,c_region 是将要转出的coverage图层名字。type 对应{out_subclass},是子集,用于传递属性,这是一个可选参数,如果省略将无法保留shape种自定义的属性。
Arc: shapearc
Usage: SHAPEARC <in_shape_file> <out_cover> {out_subclass} {DEFAULT | DEFINE}
Arc: shapearc region c_region type
…
妈妈和狗…
……
建立拓扑
Arc: clean
Usage: CLEAN <in_cover> {out_cover} {dangle_length} {fuzzy_tolerance}
红焖鸡 {POLY | LINE}
Arc: clean c_region tp_region 0.1 0.001
……
……
卡布达头像传递属性。以上一步完成拓扑的图层tp_region为输入图层,new_region 输出图层的图层名,type 是传递纽带,跟shapearc中的type对应,region是输出的属性表 |
|
Arc: regionpoly
Usage: regionpoly <in_cover> <out_cover> <in_subclass> {out_table}
Arc: regionpoly tp_region new_region type region
……
……