笑谈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) 非我族类的更多相关文章

  1. 笑谈ArcToolbox (3) ArcToolbox的一亩三分地

    笑谈ArcToolbox (3) ArcToolbox的一亩三分地 by 李远祥 每个人都会有一些鲜为人知的小秘密,都有着不允许别人染指的一亩三分地.软件是人编写的,当然也会给它留有自己所拥有的一亩三 ...

  2. 笑谈ArcToolbox (2) 开启ArcToolbox的钥匙

    笑谈ArcToolbox (2) 开启ArcToolbox的钥匙 by 李远祥 GIS人遇到ArcToolbox就像找到了宝藏一样兴奋,但并不是每个找到宝藏的人都具备开启宝藏的钥匙.有时候功能强大并不 ...

  3. 笑谈ArcToolbox (1) ArcToolbox 的发展方向

    笑谈ArcToolbox (1) ArcToolbox 的发展方向 by 李远祥 ArcGIS工具箱ArcToolbox具有非常多的工具,相信用过的人都非常惊叹,其功能完备并且强大,种类繁多,总能找到 ...

  4. ArcGIS Engine环境下创建自定义的ArcToolbox Geoprocessing工具

    在上一篇日志中介绍了自己通过几何的方法合并断开的线要素的ArcGIS插件式的应用程序.但是后来考虑到插件式的程序的配置和使用比较繁琐,也没有比较好的错误处理机制,于是我就把之前的程序封装成一个类似于A ...

  5. 33 ArcToolBox学习系列之数据管理工具箱——投影与变换(Projections and Transformations)未完待续……

    工具箱位置 打开ArcToolBox,找到工具集Projections and Transformations,位置如下:ArcToolbox--Data Management Tools--Proj ...

  6. 32 ArcToolBox学习系列之数据管理工具箱——属性域(Domains)的两种创建及使用方式

    属性域分为两类,一种是范围域,一种是编码的值,下面将两个一起介绍,其中涉及到的编码,名称,只是试验,并非真实情况. 一.首先新建一个文件型地理数据库,将数据导入或者是新建要素类都可以 二.打开ArcT ...

  7. 关于ArcMap中打开ArcToolbox导致闪退的解决办法

    最近好久不用ArcGis的小编要用到ArcMap去发送一个GP服务,发现按照套路打开ArcMap点击ArcToolbox时,发生了ArcMap的闪退现象,几经周折终于解决了问题. 希望也遇到这类问题的 ...

  8. 【306】通过ArcPy编写ArcToolbox

    参考:使用 Python 创建工具 参考:在 Python 工具箱中定义参数数据类型 基本步骤如下: (1)创建一个 Python 脚本,并保存成 .py 文件. (2)创建一个自定义工具箱(.tbx ...

  9. GP调用arctoolbox 以Clip为例

    GP的功能非常强大,也是GIS建模的一个很重要的工具.在Arcengine中,实现Clip功能很多种方法,可以用IBasicGeoprocessor的clip方法,但是GP无疑是最简单的. publi ...

随机推荐

  1. Android SDK开发包国内下载地址(转)

    想了解Android 应用开发,但可恨开发环境安装就困难重重,这里找到一个国内下载地址,特转来记录 Android SDK开发包国内下载地址

  2. github上forck一个分支之后,如何和主分支同步

    github forck一个分之后,如果过一段时间就会和主分支的差异比较大. 这样提交pr的时候 就会冲突,这个时候我们就需要和主分支同步代码 git remote add upstream git@ ...

  3. 处理JSON格式的数据

    JSON格式的数据是最常用的数据格式,处理方法的选择就显得比较重要了.我常用的一种是用对象来接收,然后保存在数组中,需要时直接从数组中取值.下面列出一个小例子. .h文件中: #import < ...

  4. 关于学习方法的借鉴和有关C语言学习的调查

    专长的高超技能获取的成功经验 在游戏方面,我相对于大多数人来说可能更为出色.首先是我投入了大量的时间进行游戏:其次,我几乎每天都会看一会教学视频来模仿:最后应该还是跟个人的天赋有点关系. 如果把这个类 ...

  5. [repost]Xcode因为证书问题经常报的那些错

    [reference]http://www.jianshu.com/p/b10680a32d3 1.   确认下证书是不是开发证书,如果是发布证书就会出现这样的提示. 2.   证书失效了,去开发者中 ...

  6. CART分类与回归树 学习笔记

    CART:Classification and regression tree,分类与回归树.(是二叉树) CART是决策树的一种,主要由特征选择,树的生成和剪枝三部分组成.它主要用来处理分类和回归问 ...

  7. zMPLS的安装与配置

    1.zmpls的安装 1.1安装环境 ubuntu 12.04 kernel 2.6.35 (对原来的内核进行了替换) 1.2 下载链接 文件zMPLS-0.95-alpha.tar.gz的下载地址为 ...

  8. UITextField 之 手势收起键盘

    1. 注册手势 /** * 注册手势 */ -(void)gestureReg{ //放弃第一响应者 UITapGestureRecognizer * tap = [[UITapGestureReco ...

  9. DELPHI中MessageBox的用法

    MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以 ...

  10. EF Code First:实体映射

    二.实体映射 实体与数据库的映射可以通过DataAnnotation与FluentAPI两种方式来进行映射: (一) DataAnnotation DataAnnotation 特性由.NET 3.5 ...