31【干货】Arcgis属性表常用查询表达式实战大全

GIS数据属性表的查询在工作中常常用到,本文对常见的基本运算符进行详细介绍,并以实例的形式,针对SQL查询常用的语句进行实例分类解析,大家可以结合项目需求,自行更改对应的语句,提高工作效率。特别注意文末【字段名与值的规范】节所说的字段名和属性值的格式要求,否则容易报错。‌

一、 常见运算符有哪些?

1、 基础比较运算符

有=(等于)、<>(不等于)、>、<、>=、<=,一般用于对图斑面积、长度、编号的筛选规则设定,从而选择出对应的图斑。如[AREA]>=500 AND [AREA]<800。

2、 模糊匹配(LIKE)

LIKE+通配符(%或_),%指匹配任意长度任意字符,_ 指匹配单个任意字符,均需与LIKE结合使用。如[地类名称] LIKE '_业%',就可以把带第二个字符是"业"的全部地类都筛选出来了,工业用地、商业用地都在选择范围内。注意:对于GIS数据存放在不同的位置,通配符使用的符号均有差异,可参照下图。

3、 逻辑运算符

有AND(与)、OR(或)、NOT(非)三种情况,一般用于和基数运算符或者模糊匹配搭配使用,如[地类名称]='工业用到' OR [地类名称]='水田' ,取两者的并集图斑,如果换成AND,则取两者的交集图斑。

4、 其他运算符

如()或者(IN / NOT IN),相对用的比较少,()一般在组合查询中使用,如([Year]= 2023 OR [Year] = 2024) AND "地类名称" = '工业用到',括号里面的作为一个整体去筛选。IN / NOT IN一般在集合里面使用,类似OR的使用,相对OR更加简洁一些。如[地类名称] IN ('水田','水浇地','旱地')和[地类名称]='水田' OR [地类名称]='水浇地' OR [地类名称]='旱地'意思是一样的。

二、 常用查询示例

0、打开属性选择界面

鼠标点击属性表的左上角,选择【按属性选择】,通过输入SQL数据库语言,可以实现对属性表的各个字段信息进行快速选择,从而提示数据管理效率。

1、 精确匹配

直接用"字段名称" = '字段内容',一般用于单个地类的筛选。如下图,指筛选字段【YDYHFLMC】地类是工业用地的图斑。

2、 数值范围

通过利用逻辑运算符(大于、小于等),结合AND或OR对面积、长度等数值型要素进行筛选,如下图,指筛选FID编号大于等于1小于8对应的图斑。

3、 模糊查询

通配符(%,_)同LIKE结合使用,筛选字段【YDYHFLMC】地类名称以"用地"结尾的所有地类。

筛选字段【YDYHFLMC】地类名称以"公园"开头的所有地类。

筛选字段【YDYHFLMC】地类名称第二个字是"业"的所有地类。

4、 空值查询

筛选字段【YDYHFLMC】是空值的所有地类,注意这个空指的是<null>或<空>。GIS经常遇到字段信息也是空的,但是鼠标实际上点进去,会有"",中间会有一个空格,这种不是真正的空值,是有字符存在的。

同理,非空的使用。

5、 多条件组合查询

一般是基础运算符和逻辑符号结合使用。如下图,指的是选择地类是工业用地且编号大于等于3的图斑。

6、 列表匹配

这里其实就是上文提到的IN / NOT IN,一般在集合里面使用,类似OR的使用。下图中是选择地类是工业用地、公园绿地和农村宅基地。

‌三、字段名与值的规范‌

1、‌字段名引用规则‌

文件地理数据库:通常无需引号,如AREA,也可用双引号"AREA",英文状态

个人地理数据库:需方括号[AREA],英文状态

基于文件的数据:双引号"AREA",英文状态

2、 ‌字符串值的写法‌字符串必须用单引号包裹,且是英文状态下的单引号。

3、 NULL赋值

可以通过字段计算器对数据库数据属性表字段属性赋值NULL,但是对shp数据无法赋值NULL。因此,上文空值查询不适用于shp数据。

赠人玫瑰,手有余香,如果觉得对您有帮助,请点个赞吧!

相关推荐
鸿业远图科技6 小时前
分式注记种表达方式arcgis
python·arcgis
新中地GIS开发老师11 小时前
【Cesium入门教程】第七课:Primitive图元
arcgis·信息可视化·gis开发·webgis·地理信息系统·地理信息科学
GIS数据转换器15 小时前
当三维地理信息遇上气象预警:电网安全如何实现“先知先觉”?
人工智能·科技·安全·gis·智慧城市·交互
GIS工具-gistools202120 小时前
Open Source Geospatial Content Management System -GeoNode
开源·gis·server
王孝点2 天前
geoserver发布arcgis瓦片地图服务(最新版本)
arcgis
爱看书的小沐3 天前
【小沐学GIS】基于C++绘制二维瓦片地图2D Map(QT、OpenGL、GIS)
c++·qt·gis·opengl·glfw·glut·二维地图
没有梦想的咸鱼185-1037-16634 天前
【大语言模型ChatGPT4/4o 】“AI大模型+”多技术融合:赋能自然科学暨ChatGPT在地学、GIS、气象、农业、生态与环境领域中的应用
人工智能·python·机器学习·arcgis·语言模型·chatgpt·数据分析
新中地GIS开发老师4 天前
【Cesium入门教程】第五课:数据源
arcgis·遥感·gis开发·webgis·地理信息科学
没有梦想的咸鱼185-1037-16635 天前
【大模型ChatGPT+ArcGIS】数据处理、空间分析、可视化及多案例综合应用
人工智能·arcgis·chatgpt·数据分析