首页 » 技术分享 » 笑谈ArcToolbox (5) 非我族类

笑谈ArcToolbox (5) 非我族类

 

笑谈ArcToolbox (5) 非我族类

by 李远祥

        ArcToolbox的工具既能直接对数据源进行处理,也能对图层以及被选择要素进行处理。但有些数据看起来是空间数据,但实际上在处理的时候还是会出现问题,例如一些非常规的数据,如txt、csv这类型的数据,在参与空间分析的时候就会出现一些问题。那么,接下来看看ArcToolbox对这些非我空间族类的数据到底需要怎么样的处理。

        txt、csv这类型带坐标的数据,一般在arcmap里面使用都是通过【添加XY数据】添加进去的,添加过程也是非常简单,指向一下数据源,并且设置XY轴对应的字段,设置空间参考就可以完成加载了。

image

        加载的效果跟一般的图层也是非常类似,其操作在ArcMap中与shapefile等空间数据无异。可以看到下图,添加的文本数据以空间数据的形式显示出来。实际上这个图层不是一般的图层,而是一种特定的图层,名叫【事件图层】

image

        在ArcToolbox的工具中使用事件图层作为参数,会出现什么样的情况呢?不妨用【相交】工具试一下,试过之后就知道这种【事件图层】的坑爹节奏了。下图是使用一个行政区界对这个事件图层进行相交。

image

而最终【相交】操作提示的结果是【没有OID】导致的,也就是说相交操作是需要数据具备OID,那就是必须采用其空间数据的格式了。

image

但是如果我们使用【裁剪】工具再试试看,下面是裁剪的界面,使用选定的一个位置进行裁剪

image

结果却是让人啼笑皆非,看看最终结果如何?居然是裁剪成功,并且结果也是对的!这让人情何以堪啊。

image

        在10.4版本中,ArcToolbox的工具共有909个(上次我们已经八卦过了O(∩_∩)O哈哈~),但没有说明这些工具中哪个是可以直接使用事件图层,哪个是不能使用事件图层的,如果一个个去尝试,确实不是好的手段。一般只有亲自尝试过之后才会知道哪些是需要的,例如笔者最常用的是插值分析工具,所有的插值工具都不能直接使用事件图层进行操作,都必须将事件图层转换为空间数据才可以。

        作为一名老司机,做事一向都求稳,所以,当不清楚还会使用什么工具出现这种问题时,可以将事件图层转为空间数据。转换的方法很简单,就是在事件图层点击右键,然后导出数据,跟一般的导出数据类似,如下图

image

        但也许有人说,如果是这样,岂不是一定要在ArcMap界面中做多次的交互操作,要是希望使用文本数据作为空间数据参与到分析流程中去,使用modelbuilder创建工具,岂不是受到限制?其实他们也想多了,前面笔者也说过,ArcGIS关上一扇窗的时候,总会打开一道门的。只要耐心点,总会找到门路的。

        如果是一定要使用modelbuilder,那么XY图层的添加,可以使用【数据管理】-【图层和表视图】中的【创建XY事件图层】,这个工具的作用就是之前的【添加XY数据】。看吧,名字都不一样,这有点坑!使用这个工具就不需要和ArcMap的菜单界面打交道了,可以直接在modelbuilder中调用。

image

        接下来就是要将这个事件图层的数据导出为空间数据了。界面菜单的调用当然是比较简单了,但如果要在modelbuilder中使用,那还是需要依靠工具。笔者通过关键字的方式翻了个遍,也没有办法找到将XY图层转为导出为数据的。直到前些天,使用一个工具的时候才发现这个工具的强大性,它的名字叫做【复制要素】。看吧,但看名字还真不知道它强大到哪里,就像名字叫“宝强”的人满大街都是,也不见得真正的强。^_^

        它的具体位置在【数据管理】--【要素】--【复制要素】

image

        它的强悍之处在于,只要是矢量图层,不管是文本的还是空间数据,不管是选择的要素还是没选中的要素,都可以将这些数据单独输出一份,其作用就是点击图层右键导出数据的功能无异。这样的话,一些与地图交互性的操作都可以通过工具进行识别了,modelbuilder制作模型几乎变无敌了。

image

        从这两个工具可以看到,ArcToolbox对于非我族类的数据还是提供了非常完善的支持,尽管有时候名字上差强人意,但基本上就是有求必应,全方位的在数据方面上进行支持。妈妈再也不用为找不到OID烦恼了。O(∩_∩)O哈哈~

转载自原文链接, 如需删除请联系管理员。

原文链接:笑谈ArcToolbox (5) 非我族类,转载请注明来源!

0