当前位置: 首页 > news >正文

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数据。

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

http://www.xdnf.cn/news/352693.html

相关文章:

  • 基于Java和GeoTools的根据矢量BBOx自动生成格网文件实践
  • 基于C++的多线程网络爬虫设计与实现(CURL + 线程池)
  • Java游戏服务器开发流水账(3)游戏数据的缓存简介
  • 第04章—技术突击篇:如何根据求职意向进行快速提升与复盘
  • 数据库索引
  • 使用Java处理多客户端服务器:从传统线程到虚拟线程
  • [250509] x-cmd 发布 v0.5.11 beta:x ping 优化、AI 模型新增支持和语言变量调整
  • kotlin 数据类
  • Electron知识框架
  • 基于SSM + JSP 的个人通讯录管理系统
  • 使用 ANSYS AEDT(单向耦合)进行高功率同轴射频滤波器的热分析
  • 前端取经路——性能优化:唐僧的九道心经
  • 橡胶制品行业质检管理的痛点 质检LIMS如何重构橡胶制品质检价值链
  • STM32外设-串口UART
  • 项目高压生存指南:科学重构身体与认知系统的抗压算法
  • 计算机二级WPS Office第三套电子表格
  • 排序算法-插入排序
  • Linux快速入门
  • 排序算法-归并排序
  • 在线caj转换word
  • 安全核查基线-2.nfslock服务
  • 密码学--AES
  • 解密火星文:LeetCode 269 题详解与 Swift 实现
  • Uskin阵列式三轴力触觉传感器:驱动机器人智能的触觉数据专家
  • 达梦、PostgreSQL数据库讲json解析成临时表(json_table函数的使用)
  • HunyuanCustom, 腾讯混元开源的多模态定制视频生成框架
  • PostgreSQL 的 pg_advisory_lock 函数
  • 输入顶点坐标输出立方体长宽高的神经网络
  • Microsoft Azure DevOps针对Angular项目创建build版本的yaml
  • 【MySQL】存储引擎 - ARCHIVE、BLACKHOLE、MERGE详解