笑谈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 ...
随机推荐
- 使用node-livereload自动刷新页面
1. 安装node 2. 安装python 3. 安装connect, serve-static和node-livereload (以下都假设命令行当前目录为e:\WebSite) e:\WebSit ...
- MAC OS X 10.10 应用程序下载失败后lunchpad产生灰色图标的解决办法
方法如下:打开应用程序- 实用工具 - 终端. 以此出入如下字符 defaults write com.apple.dock ResetLaunchPad -bool true killall Doc ...
- MFC中PeekMessage的使用,非阻塞消息循环
在程序设计的时候经常要进行一个数据循环,比如播放音乐需要循环的向缓冲区里面写入数据,在这个时候比较通用的方法是建立一个线程做事情,但是有时候不想创建多线程就可以使用微软提供的PeekMessage方法 ...
- 现在开始使用 ES6
ECMAScript已经在2015年6月正式发布了,这门语言一直保持稳定快速的发展而且新功能也在慢慢被现在主流的 JavaScript 引擎所接受.不过要想在浏览器端或者 Node 端直接运行 ES6 ...
- laravel定时任务
原文链接:https://github.com/liebig/cron 感觉Cron只是帮你将很多需要定时执行的任务都归结在一个方法中,并且各自设定不同的时间,比较统一方便,但是在外部还是需要操作li ...
- (中等) UESTC 360 Another LCIS ,线段树+区间更新。
Description: For a sequence S1,S2,⋯,SN, and a pair of integers (i,j), if 1≤i≤j≤N and Si<Si+1<S ...
- 最小化安装Linux记录
挂载点: /boot 挂载点 100M swap 交换分区 / 根分区 最小化安装: 基本--基本.兼容库.调试工具 开发--开发工具 修改hostname 永久设置:/etc/sysconfig/ ...
- Warning: Attempt to present on whose view is not in模态跳转问题
错误分析: controller A present controller B ,前提是A的view要存在,如果不存在,就会报这个错. 解决方法: 将 ...
- php传输大数据大文件时候php.ini相关设置
post_max_size which is directly related to the POST size---针对采用post上传的,大文件,此项为关键 upload_max_filesize ...
- Python学习【第十二篇】模块(2)
序列化 1.什么是python序列化? 把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 序列化就是将python的数据类型转换成字符串 反序列化就是将字符串转换成 ...