查看原文
其他

ArcGis中数据处理的一些操作方法

黎眸丶 Gis技术分享 2021-09-21

(,,・∀・)ノ゛hello!大家好,小编因为疫情期间写的十几篇素材都丢在家里了,而且因为工作忙,也一直没顾上更新,在这里向大家道歉啦!(Ps:进入正文)

这篇文章主要是把平时我在数据处理中的一些常规操作记录一下,防止做完就忘记(小编忘性很大)。

特别说明一下,小编是菜鸟,很多操作都是参考一些Gis大佬的博客的!

操作都是基于ArcGis10.2进行处理的。


一:查找属性表重复/相同项
1、利用频数工具来进行查找重复/相同项

这个工具的功能主要是读取属性表中一组字段,然后创建一个包含唯一字段值以及各唯一字段值所出现次数的新表。(输出的表只能是存放到数据库中)

工具位置:工具箱→分析工具→统计分析→频数

2、利用EXCEL查找重复数据
假设:你的数据在A列,公式我们写在B列,公式我们在B列第一行写:
=countif(A$1:A1,A1),然后往下拉,一直到最后,看E列数字,如果为1,则不存在重复的,大于1则是由重复的,如果是2的话就有两个这样相同的,3就有三个..........
二:查找属性表中长度大于/小于/等于**的要素

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

三:查找属性表某字段里属性带**的所有要素

例如:查询属性表中名称中所有带有居字的要素,语句我们写成

NAME LIKE'%居%'

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

四:对属性表中图斑进行自动编号

例如:属性表中的“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)

五:对属性表进行递增编号

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

3、根据其他字段排序

根据一个或多个字段对要素类或表中的记录按升序或降序进行重新排列。重新排序的结果将被写入到新数据集中。

工具箱位置:工具箱→数据管理工具→常规→排序

这个工具有两种排序方法:ASCENDING—按照值从低到高的顺序对记录进行排序;DESCENDING—按照值从高到低的顺序对记录进行排序。

六:属性表中根据字段属性值进行分类导出

需求:现有一个矢量图层,其中Shape_Area字段记录了每一个面要素的面积,我们需要分段对该字段求和,如该字段数值在以下范围时0-1w,1w-5w,5w-10w,>10w,其分段面积和分别是多少?

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

七:属性表快速提

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

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

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

八:arcgis条件标注及换行标注

1、加颜色标注

原标注样式

修改后标注样式

采用的的是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解码!

2、换行标注

采用的是VBScript解析程序:表达式未:"<UND>" & [NAME] & "</UND>" & vbNewLine & [Shape_Area]

九:关于线状图斑宽度的计算

思路就是以条状图斑2倍的面积除以它周长

利用公式:Fix (20* [Shape_Area]/ [Shape_Length] )/10

十:关于汇总统计数据工具
小编在做三调,经常需要统计各种数据,比如坡度、质量等别、耕地、建设用地等等的面积,而且还要分乡镇。之前都是EXCEL透视统计,每统计一次就要换一次条件,麻烦的很,想在网上找个现成的工具和代码,结果让我发现了ArcGis自带的汇总统计数据。
下面是使用方法:
工具位置:工具箱→分析工具→统计分析→汇总统计数据
下面是小编统计出来的各个村各个坡度的耕地面积,很方便,只需要导出EXCEL之后筛选一下直接填表就行。

以上就是今天小编为大家带来的一些数据处理中常用的操作方法,希望大伙儿喜欢

还是老规矩,给大家推荐一个比较好用的工具:奥维地图在Gis中在线加载地图的插件(这个需要奥维会员噢!)

百度网盘链接: https://pan.baidu.com/s/18wBWir6KpjGaH4gAljYsNg 提取码: jie6

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存