ArcGis中数据处理的一些操作方法
(,,・∀・)ノ゛hello!大家好,小编因为疫情期间写的十几篇素材都丢在家里了,而且因为工作忙,也一直没顾上更新,在这里向大家道歉啦!(Ps:进入正文)
这篇文章主要是把平时我在数据处理中的一些常规操作记录一下,防止做完就忘记(小编忘性很大
特别说明一下,小编是菜鸟,很多操作都是参考一些Gis大佬的博客的!
操作都是基于ArcGis10.2进行处理的。
这个工具的功能主要是读取属性表中一组字段,然后创建一个包含唯一字段值以及各唯一字段值所出现次数的新表。(输出的表只能是存放到数据库中)
工具位置:工具箱→分析工具→统计分析→频数
例如:查询属性表中要素记录长度小于4的要素,语句我们写成CHAR_LENGTH( NAME ) <4
例如:查询属性表中名称中所有带有居字的要素,语句我们写成
也可以加上其他的限制来进行更多的定义查询,例如查询属性表中名称中所有带有**字的要素,而且面积大于或者小于**的,那么语句我们就写成NAME LIKE'%**%'AND "Shape_Area" >**
四:对属性表中图斑进行自动编号
UniqueDict = {}
def isDuplicateIndex(inValue):
UniqueDict.setdefault(inValue,0)
UniqueDict[inValue] += 1
return str(UniqueDict[inValue])
排序:
!NAME! +isDuplicateIndex( !NAME! ).zfill(4)
五:对属性表进行递增编号
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递增排序
3、根据其他字段排序
根据一个或多个字段对要素类或表中的记录按升序或降序进行重新排列。重新排序的结果将被写入到新数据集中。
工具箱位置:工具箱→数据管理工具→常规→排序
这个工具有两种排序方法:ASCENDING—按照值从低到高的顺序对记录进行排序;DESCENDING—按照值从高到低的顺序对记录进行排序。
六:属性表中根据字段属性值进行分类导出
需求:现有一个矢量图层,其中Shape_Area字段记录了每一个面要素的面积,我们需要分段对该字段求和,如该字段数值在以下范围时0-1w,1w-5w,5w-10w,>10w,其分段面积和分别是多少?
七:属性表快速提
提取文本类型中间几位:字段=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解码!
采用的是VBScript解析程序:表达式未:"<UND>" & [NAME] & "</UND>" & vbNewLine & [Shape_Area]
九:关于线状图斑宽度的计算
思路就是以条状图斑2倍的面积除以它周长
利用公式:Fix (20* [Shape_Area]/ [Shape_Length] )/10
以上就是今天小编为大家带来的一些数据处理中常用的操作方法,希望大伙儿喜欢
还是老规矩,给大家推荐一个比较好用的工具:奥维地图在Gis中在线加载地图的插件(这个需要奥维会员噢!)