ArcGIS筛选工具:19段SQL示例代码,所有需求一网打尽

一、使用方法

筛选工具(Select_analysis)主要用于从输入要素类或输入要素图层中提取要素(通常使用选择或结构化查询语言 (SQL) 表达式),并将其存储于输出要素类中。

以三调图斑为例,图斑中有一个【DLMC】字段,该字段值包括(河流水面、农村道路、公路用地、城镇村道路……),如果我们想提取出农村道路并生成单独的要素类,就可以使用【筛选】工具。

筛选工具的路径:【分析工具】—【提取分析】—【筛选】

以ArcMap为例,打开工具,界面如下:

如果是ArcGIS Pro,工具名称变成了【选择】,界面如下:

Pro里的SQL变成了可操作式的用法,对于新手来说更友好了。当然也可以切换成SQL语句写法:

 

个人觉得,在Pro里,尽可能采用可操作式的用法,方便,容易上手。

但是如果想深入理解SQL筛选的原理,或者你用的是ArcMap,那么SQL语句就必须好好学学。

因为SQL并不只是用在【筛选】工具中,其它的包括图层的定义查询、地图或属性表中的按属性选择、以及一些系统工具的参数设置里,都会用到SQL筛选。

下面就举些SQL筛选语句的具体例子。


二、用法示例

1、等于

例如筛选【DLMC】值为【农村道路】的图斑:

DLMC = '农村道路'

2、不等于

例如筛选【DLMC】值不等于【农村道路】的图斑:

DLMC <> '农村道路'

3、获取开头是特定文字的图斑 LIKE

例如筛选【DLMC】值中开头文字是【其他】的图斑:

DLMC LIKE '其他%'

这里的【%】指代了任意字符或无字符。

语句的意思是前面的字符是【其他】,接下来的可以是任意字符。 

4、获取开头不是特定文字的图斑 LIKE

例如筛选【DLMC】值中开头文字不是【其他】的图斑:

DLMC NOT LIKE '其他%'

这是例3的反义,就是在LIKE前面加个NOT,这种用法很常见,后面很多用法都可以加这个反义用法,可以自已试一试。 

5、获取结尾是特定文字的图斑 LIKE

例如筛选【DLMC】值中结尾文字是【林地】的图斑:

DLMC LIKE '%林地'

这里的【%】同样指代任意字符或无字符。

语句的意思是前面可以是任意字符,但最后两个字符必须是【林地】。 

如果想获取结尾文字不是【林地】的图斑:

DLMC NOT LIKE '%林地'

6、包括多个值 IN

例如筛选【DLMC】值是【沟渠】或【公路用地】的图斑:

DLMC IN ('公路用地', '沟渠')

这里的IN就是集合的意思,后面括号里可以无限添加值 。

它有一个等效的写法,就是【DLMC】等于【公路用地】或【DLMC】等于【沟渠】:

DLMC = '公路用地' Or DLMC = '沟渠'

当然第1种写法更简洁也更优雅,建议都用第1种。 

7、包含文本 LIKE

例如筛选【DLMC】值中包含字符【水】的图斑:

DLMC LIKE '%水%'

这里的【%】同样指代任意字符或无字符。

语句的意思是前面可以是任意字符,中间有一个【%】,后面可以是任意字符。

如果想获取不包含字符【水】的图斑:

DLMC NOT LIKE '%水%'

8、包含文本且格式固定 LIKE

例如筛选【DLMC】值中最后两个字符是【用地】且前面是2个字符的图斑:

DLMC LIKE '__用地'

注意上面那根横线是两个【_】符号。

这个【_】符号指代的是任意一个字符。

如果要筛选前面只有1个字符的图斑:

DLMC LIKE '_用地'

更复杂一点的,如果要筛选中间是【用地】,前面一个字符,后面也是一个字符:

DLMC LIKE '_用地_'

总之,只要明白了【_】符号指代的意思,你也可以根据实际情况随意组合。

9、字符串函数 SUBSTRING等

例如筛选【DLMC】中从第二2位起取2个字符的结果为【村道】的图斑:

SUBSTRING(DLMC FROM 2 FOR 2) = '村道'

这个方法等效于:

DLMC LIKE '_村道%'

字符串函数不止SUBSTRING,其它的以后慢慢再研究。

10、字符串联合 ||

||】符号所达到的目的是将两个字符串字段的值进行联合,比如说在某一行,【DLBM】的值为【0101】,【DLMC】的值为【水田】,则【DLBM || DLMC】的值则为【0101水田】。

例如筛选【DLBM】和【DLMC】组合值中包含【2竹】的图斑:

(DLBM || DLMC) LIKE '%2竹%'

不过要用在什么地方,说实话我也没想到,反正先记着。

11、获取为空的图斑 NULL

例如筛选【DLMC】值为空的图斑:

DLMC IS NULL

不为空的情况:

DLMC IS NOT NULL

12、数字筛选,大于、小于、大等于、小等于、不等于

例如筛选【Shape_Area】值大于1000的图斑:

Shape_Area > 1000

类似的,【Shape_Area】值小于、大等于、小等于、不等1000: 

Shape_Area < 1000
Shape_Area >= 1000
Shape_Area <= 1000
Shape_Area <> 1000

13、数字筛选,区间BETWEEN

例如筛选【Shape_Area】值400至430的图斑:

Shape_Area BETWEEN 400 AND 430

这个方法等效于:

Shape_Area >= 400 AND Shape_Area <= 430

14、AND组合

例如筛选【DLMC】值中包含字符【水】,并且【Shape_Area】值大于1000的图斑:

DLMC LIKE '%水%' And Shape_Area > 1000

针对这种存在多个逻辑语句时,建议把单个逻辑用括号包起来,方便阅读和理解:

(DLMC LIKE '%水%') And (Shape_Area > 1000)

15、OR组合

例如筛选【DLMC】值中包含字符【水】,或者【Shape_Area】值大于1000的图斑:

(DLMC LIKE '%水%') OR (Shape_Area > 1000)

OR的前后两个逻辑语句,只要满足其中一个,就会被筛选出来。

16、更复杂的混合逻辑

例如筛选【DLMC】为【水田】,或【DLMC】为【旱地】且【GDDB】大等于11的图斑:

DLMC = '水田' Or (DLMC = '旱地' And GDDB > 11)

17、多个字段间的比对筛选

例如筛选【JQDLMC】和【GHDLMC】值不同的图斑:

JQDLMC <> GHDLMC

18、多个字段间的数学计算

例如筛选出【建筑面积】除以【用地面积】的值(即容积率)大于2的图斑:

建筑面积 / 用地面积 > 2

19、获取数字大于平均值的图斑

需要注意这种【SELECT * FROM * 】的用法只有gdb数据才有效,shp要素不行。

例如筛选【Shape_Area】大于平均数的图斑:

查询【Shape_Area】的平均数为14317.8

筛选语句如下:

Shape_Area > (SELECT AVG(Shape_Area) FROM 现状用地)

筛选结果,都大于14317.8,没有问题:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/271585.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Facebook的社交未来:元宇宙时代的数字共融

引言&#xff1a; 随着科技的不断进步和社会的快速发展&#xff0c;人们对于社交网络的需求和期待也在不断演变。在这个数字化时代&#xff0c;元宇宙的概念逐渐引发了人们对社交体验的重新思考。作为全球最大的社交网络之一&#xff0c;Facebook正在积极探索元宇宙时代的社交…

知识管理系统:初创企业的智慧助手

一、什么是知识管理系统 用通俗易懂的语言来解释&#xff0c;知识管理系统就像一个超级大脑&#xff0c;帮助企业和团队更好地记住、分享和使用他们学到的东西。无论是工作中的经验、方案还是项目成果&#xff0c;这个系统都能帮大家保存下来&#xff0c;并方便以后查找和使用。…

Redis与 Memcache区别

Redis与 Memcache区别 1 , Redis 和 Memcache 都是将数据存放在内存中&#xff0c;都是内存数据库。不过 Memcache 还可用于缓存 其他东西&#xff0c;例如图片、视频等等。 2 , Memcache 仅支持key-value结构的数据类型&#xff0c;Redis不仅仅支持简单的key-value类型的数据&…

2.DOM-事件基础(注册事件、tab栏切换)(案例:注册、轮播图)

案例 注册事件 <!-- //disabled默认情况用户不能点击 --><input type"button" value"我已阅读用户协议(5)" disabled><script>// 分析&#xff1a;// 1.修改标签中的文字内容// 2.定时器// 3.修改标签的disabled属性// 4.清除定时器// …

Sora的双重边缘:视频生成的革新与就业的再思考

随着科技的日新月异&#xff0c;人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;技术如潮水般涌入我们的日常生活&#xff0c;为各个领域带来了翻天覆地的变化。在这一浪潮中&#xff0c;Sora作为一款前沿的AI视频生成工具&#xff0c;凭借其高度逼真…

Image Demoireing with Learnable Bandpass Filters

一、简介 标题:Image Demoireing with Learnable Bandpass Filters(https://openaccess.thecvf.com/content_CVPR_2020/papers/Zheng_Image_Demoireing_with_Learnable_Bandpass_Filters_CVPR_2020_paper.pdf) 期刊:CVPR 时间:2020 作者:Bolun Zheng, Shanxin Yuan, …

小白跟做江科大51单片机之AD/DA

1.看原理图找接口 2.看时序图编写读取数据代码 XPT2046.c代码 #include <REGX52.H> //引脚定义 sbit XPY2046_DINP3^4; sbit XPY2046_CSP3^5; sbit XPY2046_DCLKP3^6; sbit XPY2046_DOUTP3^7; unsigned int XPT2046_ReadAD(unsigned char Command) { unsigned char …

API可视化编排,提高API可复用率

在数字化时代&#xff0c;API&#xff08;应用程序编程接口&#xff09;已成为不同软件应用之间沟通的桥梁。然而&#xff0c;如何高效管理、编排和复用这些API&#xff0c;成为了企业和开发者面临的重要挑战。随着技术的不断进步&#xff0c;RestCloud API可视化编排应运而生&…

【论文速读】 | DeGPT:通过大语言模型优化反编译器输出

本次分享论文为&#xff1a;DeGPT: Optimizing Decompiler Output with LLM 基本信息 原文作者&#xff1a;Peiwei Hu, Ruigang Liang, Kai Chen 作者单位&#xff1a;中国科学院信息工程研究所&#xff1b;中国科学院大学网络空间安全学院 关键词&#xff1a;反向工程&…

yocto本地离线构建时报错

解决方案&#xff1a;在local.conf中添加 BB_NO_NETWORK "1"禁用网络&#xff0c;从本地downloads中fetch源码

2024年新版CMS内容管理使用,不用回退老版本 使用最新小程序云开发cms内容模型

一&#xff0c;问题描述 最近越来越多的同学找石头哥&#xff0c;说cms用不了&#xff0c;其实是小程序官方最近又搞大动作了&#xff0c;偷偷的升级的云开发cms&#xff08;内容管理&#xff09;以下都称cms&#xff0c;不升级不要紧&#xff0c;这一升级&#xff0c;就导致我…

EXSI create datastore

文章目录 1. 简介2. 清空磁盘3. 删除表4. 创建database 1. 简介 在 ESXi 环境中创建数据存储(Datastore)的步骤如下: 登录 vSphere Web Client 打开 Web 浏览器,输入 ESXi 主机或 vCenter Server 的 IP 地址,使用有权限的账户登录。 在 ESXi 环境中创建数据存储(Datastore)…

考研数学|到底要不要做张宇《1000题》

根据你自身能力来选择真正适合你的题集&#xff0c;最后的做题效果会加倍。&#x1f60e; 我先分析一下张宇1000题集的特点&#xff0c;张宇1000更适合基础不错&#xff0c;想冲刺高分的同学。 1000分为强化和提高&#xff0c;是没有基础部分的&#xff0c;着重考察数学概念和技…

【python进阶篇】面向对象编程(1)

面向对象编程——Object Oriented Programming&#xff0c;简称OOP&#xff0c;是一种程序设计思想。OOP把对象作为程序的基本单元&#xff0c;一个对象包含了数据和操作数据的函数。 在Python中&#xff0c;所有数据类型都可以视为对象&#xff0c;当然也可以自定义对象。自定…

学习c语言:编译和链接

一、 翻译环境和运⾏环境 在ANSIC的任何⼀种实现中&#xff0c;存在两个不同的环境。 第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执⾏的机器指令。 第2种是执⾏环境&#xff0c;它⽤于实际执⾏代码。 二、 翻译环境 那翻译环境是怎么将源代码转换为可执⾏的机…

谷歌可读屏AI模型ScreenAI:可理解用户界面和信息图表

谷歌研究最新发布的ScreenAI标志着语言和语音控制计算机界面的又一重要进展。这一AI模型不仅能理解用户界面和信息图表&#xff0c;而且在回答基于信息图表的问题、总结内容以及导航用户界面等多项任务上&#xff0c;创下了新的性能标杆。 ScreenAI的核心创新在于对截图的文本…

【深度学习笔记】6_2 循环神经网络RNN(recurrent neural network)

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 6.2 循环神经网络 上一节介绍的 n n n元语法中&#xff0c;时间步 t t t的词 w t w_t wt​基于前面所有词的条件概率只考虑了最近时间…

el-form-item内的el-select如何自适应宽度

最近在使用element-ui做后台管理的时候&#xff0c;有个需求是在弹窗组件里面&#xff0c;添加一个el-select下拉框选项&#xff0c;但是给el-select设置的宽度无法自适应&#xff0c;原因很简单&#xff0c;我们不需要设置固定宽度&#xff0c;设置百分比就行了&#xff0c;让…

MAC测试环境搭建

1 下载pycharm 下载地址&#xff1a;PyCharm&#xff1a;JetBrains 出品的用于数据科学和 Web 开发的 Python IDE 2 安装python3.6.8 下载地址&#xff1a;Index of /ftp/python/3.6.8/ 安装后提示错误 换一种方式&#xff1a;用conda 下载地址&#xff1a;Free Download | …

python异常机制

当代码出现异常后底下代码都不会被执行了&#xff0c;也就是程序崩溃了。当然能避免异常的话尽量避免但是有的时候这个是没有办法避免的。 异常处理 &#xff08;注&#xff1a;异常处理是从上往下处理&#xff0c;所以编写代码时要注意&#xff09; 语法 try:可能出现异常…