笑谈ArcToolbox (4) 非我族类
笑谈ArcToolbox (4) 非我族类
by 李远祥
ArcToolbox的工具既能直接对数据源进行处理,也能对图层以及被选择要素进行处理。但有些数据看起来是空间数据,但实际上在处理的时候还是会出现问题,例如一些非常规的数据,如txt、csv这类型的数据,在参与空间分析的时候就会出现一些问题。那么,接下来看看ArcToolbox对这些非我空间族类的数据到底需要怎么样的处理。
txt、csv这类型带坐标的数据,一般在arcmap里面使用都是通过【添加XY数据】添加进去的,添加过程也是非常简单,指向一下数据源,并且设置XY轴对应的字段,设置空间参考就可以完成加载了。

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

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

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

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

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

在10.4版本中,ArcToolbox的工具共有909个(上次我们已经八卦过了O(∩_∩)O哈哈~),但没有说明这些工具中哪个是可以直接使用事件图层,哪个是不能使用事件图层的,如果一个个去尝试,确实不是好的手段。一般只有亲自尝试过之后才会知道哪些是需要的,例如笔者最常用的是插值分析工具,所有的插值工具都不能直接使用事件图层进行操作,都必须将事件图层转换为空间数据才可以。
作为一名老司机,做事一向都求稳,所以,当不清楚还会使用什么工具出现这种问题时,可以将事件图层转为空间数据。转换的方法很简单,就是在事件图层点击右键,然后导出数据,跟一般的导出数据类似,如下图

但也许有人说,如果是这样,岂不是一定要在ArcMap界面中做多次的交互操作,要是希望使用文本数据作为空间数据参与到分析流程中去,使用modelbuilder创建工具,岂不是受到限制?其实他们也想多了,前面笔者也说过,ArcGIS关上一扇窗的时候,总会打开一道门的。只要耐心点,总会找到门路的。
如果是一定要使用modelbuilder,那么XY图层的添加,可以使用【数据管理】-【图层和表视图】中的【创建XY事件图层】,这个工具的作用就是之前的【添加XY数据】。看吧,名字都不一样,这有点坑!使用这个工具就不需要和ArcMap的菜单界面打交道了,可以直接在modelbuilder中调用。

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

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

从这两个工具可以看到,ArcToolbox对于非我族类的数据还是提供了非常完善的支持,尽管有时候名字上差强人意,但基本上就是有求必应,全方位的在数据方面上进行支持。妈妈再也不用为找不到OID烦恼了。O(∩_∩)O哈哈~
笑谈ArcToolbox (4) 非我族类的更多相关文章
- 笑谈ArcToolbox (3) ArcToolbox的一亩三分地
笑谈ArcToolbox (3) ArcToolbox的一亩三分地 by 李远祥 每个人都会有一些鲜为人知的小秘密,都有着不允许别人染指的一亩三分地.软件是人编写的,当然也会给它留有自己所拥有的一亩三 ...
- 笑谈ArcToolbox (2) 开启ArcToolbox的钥匙
笑谈ArcToolbox (2) 开启ArcToolbox的钥匙 by 李远祥 GIS人遇到ArcToolbox就像找到了宝藏一样兴奋,但并不是每个找到宝藏的人都具备开启宝藏的钥匙.有时候功能强大并不 ...
- 笑谈ArcToolbox (1) ArcToolbox 的发展方向
笑谈ArcToolbox (1) ArcToolbox 的发展方向 by 李远祥 ArcGIS工具箱ArcToolbox具有非常多的工具,相信用过的人都非常惊叹,其功能完备并且强大,种类繁多,总能找到 ...
- ArcGIS Engine环境下创建自定义的ArcToolbox Geoprocessing工具
在上一篇日志中介绍了自己通过几何的方法合并断开的线要素的ArcGIS插件式的应用程序.但是后来考虑到插件式的程序的配置和使用比较繁琐,也没有比较好的错误处理机制,于是我就把之前的程序封装成一个类似于A ...
- 33 ArcToolBox学习系列之数据管理工具箱——投影与变换(Projections and Transformations)未完待续……
工具箱位置 打开ArcToolBox,找到工具集Projections and Transformations,位置如下:ArcToolbox--Data Management Tools--Proj ...
- 32 ArcToolBox学习系列之数据管理工具箱——属性域(Domains)的两种创建及使用方式
属性域分为两类,一种是范围域,一种是编码的值,下面将两个一起介绍,其中涉及到的编码,名称,只是试验,并非真实情况. 一.首先新建一个文件型地理数据库,将数据导入或者是新建要素类都可以 二.打开ArcT ...
- 关于ArcMap中打开ArcToolbox导致闪退的解决办法
最近好久不用ArcGis的小编要用到ArcMap去发送一个GP服务,发现按照套路打开ArcMap点击ArcToolbox时,发生了ArcMap的闪退现象,几经周折终于解决了问题. 希望也遇到这类问题的 ...
- 【306】通过ArcPy编写ArcToolbox
参考:使用 Python 创建工具 参考:在 Python 工具箱中定义参数数据类型 基本步骤如下: (1)创建一个 Python 脚本,并保存成 .py 文件. (2)创建一个自定义工具箱(.tbx ...
- GP调用arctoolbox 以Clip为例
GP的功能非常强大,也是GIS建模的一个很重要的工具.在Arcengine中,实现Clip功能很多种方法,可以用IBasicGeoprocessor的clip方法,但是GP无疑是最简单的. publi ...
随机推荐
- SecureCRT上传bash: rz: command not found
SecureCRT上传bash: rz: command not found -bash: rz: command not found rz命令没找到? 执行sz,同样也没找到. 安装lrzs ...
- LPC1788的spi使用
#ifndef __SPI_H_ #define __SPI_H_ #include "common.h" #include "delay.h" // cs p ...
- STL中map用法
Map是 STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于 这个特性,它完成有可能在我们处理一对一数据的 ...
- CSS判断不同分辨率显示不同宽度布局CSS3技术支持IE6到IE8
CSS判断不同分辨率浏览器(显示屏幕)显示不同宽度布局CSS3技术支持IE6到IE8.将用到css3 @media样式进行判断,但IE9以下版本不支持CSS3技术,这里DIVCSS5给大家介绍通过JS ...
- 【转】mysql中文乱码的一点理解
我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B. 如果你也遇到了这个问题,咱 ...
- Linux文件编辑之sed命令
文件编辑之sed命令 sed是一种流编辑器,它是文本处理中非常重要的工具,能够完美配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为模式空间 (pattern space ...
- UVa 459 - Graph Connectivity
题目大意:给你一个无向图的顶点和边集,让你求图中连通分量的个数.使用并查集解决. #include <cstdio> #include <cstring> #define MA ...
- java系列--I/O流
java.io类 一.I/O流 1.流的概念 二. InputStream --此抽象类是表示字节输入流的所有类的超类. 1.public int read(byte[] b) throws IOEx ...
- 最通用的ibatis.Net使用sql server存储过程返回分页数据的详细例子
ibatis.Net是一个比较简单和灵活的ORM框架,今天我分享一个我的项目中使用sql server通用存储过程来分页的一个例子,用ibatis.Net框架统一返回分页数据为IList<Has ...
- iOS 开发新版 动态库framework
0. 参考 http://www.cocoachina.com/industry/20140613/8810.html framework+xib参考 : http://blog.csdn.net/x ...