GIS应用技巧之“查找“

对于属性表——"查找",很有用处,很多情况下都要查找一些特定XX。这里给大家总结整理一下常用的"查找"。

  1. 查找属性表重复或者相同项

GIS中专门有一个工具就是频数工具。该工具主要功能就是读取属性表中的某一组字段,并且创建一个包含唯一字段值以及各唯一字段值所出现次数的新表。(特别强调一下输出的表只能放在数据库)

2.查找属性表中长度大于/小于/等于XXX的要素

例如:查询属性表中要素记录长度小于4的要素,语句我们写成CHAR_LENGTH( NAME ) <4。

3.查找属性表某字段里属性带XX的所有要素

例如:查询属性表中名称中所有带有州字的要素,语句我们写成NAME LIKE'%州%'。

也可以加上其他的限制来进行更多的定义查询,例如查询属性表中名称中所有带有**字的要素,而且面积大于或者小于**的,那么语句我们就写成NAME LIKE'%**%'AND "Shape_Area" >**。

4.属性表中图斑自动编号

例如:属性表中的“NAME”行政单位进行自动编号,存在省名称重复的情况,例如:X县有多次重复,那就按X0001、X0002自动编号,每个省名称都从0001开始编号,解析程序为:Python

预逻辑脚本代码:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
UniqueDict = {}
def isDuplicateIndex(inValue):
   UniqueDict.setdefault(inValue,0)
   UniqueDict[inValue] += 1
   return str(UniqueDict[inValue])

排序:

!NAME! +isDuplicateIndex( !NAME! ).zfill(4)

5.属性表进行递增编号

(1)基于FID进行无间断递增排序

新建序号字段(文本型)→右击→字段计算器→Python

预逻辑脚本代码:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
rec=-1
def autoIncrement():
 global rec
 pStart = 1 #起始值为1,可修改
 pInterval = 1 #间隔值为1,可修改
 if (rec ==-1):
  rec = pStart
 else:
  rec = rec + pInterval
 return rec

排序:

autoIncrement()

(2)基于FID递增排序

新建序号字段(文本型)→右击→字段计算器→VB脚本→[FID]+1。

6.根据属性表中字段属性值进行分类导出

例如:现有一图层,需要对其面积进行分段求和,0-0.5w、0.5w-1w、1w-5w,其分段面积和分别是多少。

对于数据量较小的数据来说可以通过属性查询,通过表达式:Shape_Area >0 AND ACRES <=1w将该分段范围的要素类全部选择,将选中的要素导出,导出之后右击Shape_Area字段,使用统计功能得出该分段之内的面积总和。

7.属性表快速提取

(1)提取文本类型前几位:字段=Left(某字段,n)

(2)提取文本类型后几位:字段=right(某字段,n)

 

(3)提取文本类型中间几位:字段=Mid( 某字段,n,n )

8.条件标注

采用的的是arcgis文本格式化标签:"<CLR red = '255' blue=0 green=0 >" + "Text"+ "</CLR>",解析方式为Python

在表达式高级中贴上解析码:def FindLabel ( [NAME] , [Shape_Area]   ):

  return "<CLR red = '255'>" + [NAME] + "</CLR>"+u"面积:"+"<CLR blue = '255'>" + [Shape_Area]  +"</CLR>"+u"㎡"

备注:[NAME], [Shape_Area] 分别为输入字段,u"面积:"和u"㎡"为输入文本,文本必须在前面加u解码。

9.统计工具

很多时候都需要统计大量类型数据,例如面积、坡度等等,还需要分行政区域,GIS有一个工具挺好用,汇总统计数据工具。

 

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

端木宛白的GIS课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值