笑谈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. Mariadb galera 群集

    环境:  CentOS 7 x64  *  3 IP : 192.168.0.100 IP : 192.168.0.101 IP : 192.168.0.102 配置mariadb YUM 源 htt ...

  2. [iOS Animation]-CALayer 变换

    变换 很不幸,没人能告诉你母体是什么,你只能自己体会 -- 骇客帝国 在第四章“可视效果”中,我们研究了一些增强图层和它的内容显示效果的一些技术,在这一章中,我们将要研究可以用来对图层旋转,摆放或者扭 ...

  3. 分治算法(Divide-and-Conquer)和Google的云计算

    1.云计算:涉及到存储.计算.资源的调度和权限的管理等   2.分治算法的原理:           讲一个复杂的问题,分成若干个简单的子问题进行解决,然后对子问题的记过进行合并,得到原有问题的解   ...

  4. MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法 -摘自网络

    错误:Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 原因: 同一个i ...

  5. Docker 命令(二)

    Docker 入门 启动docker systemctl start docker 帮助命令 docker --help docker [Commands] --help   例:docker run ...

  6. 8、手把手教你Extjs5(八)自定义菜单2

    这一节来定义另外三种类型的菜单类.首先定义菜单按钮类.文件放于app/view/main/region目录下面,文件名为ButtonMainMenu.js. /** * 显示在顶部的按钮菜单,可以切换 ...

  7. sharedPreferences存储数据

    sharedPreferences使用的是键值对的方式存储数据. 1.Android中三种获取sharedPreferences的方式 1)Context 类中的getSharedPreference ...

  8. Java 之 HTML

    1.HTML a.定义:HTML指的是超文本标记语言 b.特点:HTML不是一种编程语言,而是一种标记语言 标记语言是一套标记标签 HTML使用标记标签来描述网页 c.HTML标签:①通常标签是成对出 ...

  9. leetcode-位运算

    位运算可以大大减小算法空间复杂度,提高效率,很巧妙! 先说一下位运算的简单用法 1. 按位与 & 用途:清零,取一个数中的某些指定位,保留一个数中的某些指定位 2. 按位或 | 用途:将一个数 ...

  10. CCF 201612-1 中间数

    试题编号:201612-1 试题名称:中间数 时间限制:1.0s 内存限制:256.0MB 问题描述 在一个整数序列a1, a2, -, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量, ...