ArcGIS中属性表的常用操作汇总

本篇文章将平时对arcgis属性表的相关操作记录下来,防止忘记。此外,在技术摸索中参考了一些gis大牛的博客和技术分享,我在博客结尾也粘贴了他们的博客地址在此表示感谢。

案例一:arcgis属性表某个字段自动编号

例如:从1开始往后自动编号。

将下图中数据类型为文本型的typeid字段进行自动编号,数据记录从1开始往后递增。

在该字段上右键,进入字段计算器,勾选“Python”;

在“预逻辑代码块”区域粘贴以下代码;

rec=-1

def autoIncrement():

global rec

pStart = 1 #起始值为1,可修改

pInterval = 1 #间隔值为1,可修改

if (rec ==-1):

rec = pStart

else:

rec = rec + pInterval

return rec

(上述代码含义:首先初始化rec为-1;接着定义一个autoIncrement方法,在这个方法里定义了一个局部变量rec,初始化pStart为1,它也是起始值,如果想typeid起始值为其它值可以修改pStart的值即可,pInterrval是间隔值,即依次递增的数字之间的间隔是1,如果想依次递增的数字之间的间隔是2或者3...等,可以修改pInterrval的值;再接着就是一个if()else语句,最后将rec进行返回。)

然后将autoIncrement()方法给typeid,最后点击“确定”运行。

(注意将autoIncrement()方法给typeid时,autoIncrement()方法前不能有空格,否则会报错!!!)

补充:

上述的案例是基于FID进行自动编号,如何根据其它字段进行自动编号呢?

思路:使用sort工具,基于某个字段进行编号,生成新的输出数据,然后基于新的输出数据使用案例1中的python代码进行自动编号。

参考资料:http://www.cnblogs.com/liweis/p/4153333.html

//使用Python给要素添加序号

案例二:对属性表中某一字段自动编号

例如:属性表中的“县级”行政单位进行自动编号,存在县名称重复的情况,例如:A县有多次重复,那就按A0001、A0002、A0003自动编号,每个县都从0001开始编号。

python代码如下:

UniqueDict = {}

def isDuplicateIndex(inValue):

UniqueDict.setdefault(inValue,0)

UniqueDict[inValue] += 1

return str(UniqueDict[inValue])

字段中写:

isDuplicateIndex( !NAME! ).zfill(4)

案例三:对属性表中某一字段进行分段

情景一:如何把一个shp文件批量均分为n个?比如:一个shp文件属性表共有10000个行,我想分为50组,200为1组,请问除了按属性选择,是否有批量直接分的方法?

(1)字段计算器  int([字段]/200+1)

(2)split-by-attributes,具体见链接:http://pro.arcgis.com/zh-cn/pro-app/tool-reference/analysis/split-by-attributes.htm

参考资料:http://zhihu.esrichina.com.cn/question/34781

情景二:对某一字段进行分段求和,现有一个矢量图层,其中ACRES字段记录了每一个面要素的面积,如何分段对该字段求和,如该字段数值在以下范围时0-50,50-300,300-1000,>4000,其面积分别是多少?

参考资料:http://zhihu.esrichina.com.cn/article/2785

案例四:查出省级行政区划名称(Chinese_Ch)为山开头,面积(Shape_Area)大于8000000的记录。

查询文本框输入:

"Chinese_Ch" LIKE '山%' AND "Shape_Area" >8000000

一般查询过程是在字段名称选择区中双击字段名、再选运算符,建立查询条件,并用Like、

And、Or、Not将几个条件组合起来。在设置字段的查询条件时,可在取值区中用鼠标选取,也可直接键入属性值。

字符型字段还可使用通配符,如用“%”替代多个字符,用“_”替代一个字符。例如:

"NAME"LIKE'张%'表示查询NAME字段,第一个字符为"张",不管后续有几个字符。

"LANDUSE"LIKE'F_'表示查询LANDUSE字段,第一个字符"F",第二个字符任意,但后续只能有一个。

按属性选择记录会出现语法错误,软件提示不能完成操作,引号、括号不匹配是常见差错,以下是注意事项:

1.字符型操作不能用等号代替LIKE;

2.字段名自身带双引号,如"LANDUSE",字符型取值用单引号,如'C',数字型取值不带引号;

3.单引号、双引号必须都用英文字符,不能用中英字符。

4.多用鼠标,少用键盘,可避免语法差错;

案例五:查询属性表相同项

首先数据要求是存放在个人地理数据库(mdb)中,如果不是,需要先导入进去。这是因为个人地理数据库对子查询支持更好。

如果这个字段名叫name,表名叫area,SQL可类似如下写:

[name] in (select [name] from area group by [name] having count([name]) > 1)

参考资料:

http://zhihu.esrichina.com.cn/question/6606

文件地理数据库对子查询提供了有限的支持,而个人地理数据库和 ArcSDE 地理数据库则提供完全支持,详情见链接介绍:http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#/na/00s500000033000000/

案例六:查询属性表中要素记录的长度

例如:查询属性表中要素记录长度大于6的要素

CHAR_LENGTH(string_exp)

例如:查询字段名为‘名称’的长度大于6的要素

CHAR_LENGTH( 名称 ) >=6

链接:http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#/na/00s500000033000000

文章转载于CSDN,作者gislaozhang版权归原作者所有,如有侵权请告知删除

arcgis select by attributes一次选多个_ArcGIS中属性表的常用操作汇总相关推荐

  1. arcgis 字段计算器 条件赋值_ArcGIS中属性表的常用操作汇总

    本篇文章将平时对arcgis属性表的相关操作记录下来,防止忘记.此外,在技术摸索中参考了一些gis大牛的博客和技术分享,我在博客结尾也粘贴了他们的博客地址在此表示感谢. 案例一:arcgis属性表某个 ...

  2. arcgis select by attributes一次选多个_ArcGIS 导出 CAD 的常见需求以及实现

    封面图片来源:https://www.giscourse.com/ 最近在做导出要素类到 CAD 文件遇到了 3 个问题: (1) 如何让要素导过去之后都放在相关的图层: (2)如何让要素导过去之后有 ...

  3. arcgis表转excel一直失败_arcGIS中属性表怎么导出到EXCEL里|excel表格转shp数据丢失...

    如何将excel中的数据导入arcgis属性表 如果是shp格式,直接excel打开dbf文件. 否则,加载,layer右键打开属,找到一个export按钮出为dbf,excel可以直接打开. exp ...

  4. arcgis select by attributes一次选多个_地理工具学习--arcgis篇:单工具学习(2)

    今天讲联合工具和交集取反工具.目前这两个工具对矢量数据使用较多.这两个工具,平时我多用来划定减少或者扩充范围. 1.Union工具(联合工具) 运行的逻辑为:将两个矢量范围类似合并到一起,在我使用过程 ...

  5. arcgis select by attributes一次选多个_优化体系--记一次生产数据库sql优化过程--组合索引...

    概述 最近比较有空,所以看了一些问题sql,顺便优化一下,做个简单记录. 问题sql SQL(c212jfrj1m0fg) 在采样期平均单次执行逻辑读为 106205.83, 其最新执行计划涉及 2 ...

  6. c#(.net)对dbf(arcgis shp属性表)的操作 (验证版)

    以前找过一些资料,然后写了一篇 c#(.net)对dbf(arcgis shp属性表)的操作 url: http://www.cnblogs.com/xiexiaokui/archive/2007/1 ...

  7. arcgis属性表选择两个条件_ARCGIS关联属性表(转)

    属性描述了要素的相关特性,并存储于表中.在创建新的属性表或是向已有的属性表中增加字段的时候,必须指明数据类型和字段属性,比如精度(Precision)或长度(Length).数据类型的选择和相关设置会 ...

  8. arcgis中属性表某字段显示出现遗漏问题的解决办法(地图不显示澳门特别行政区)

    在arcgis中,中国省份的shapefiie文件的属性表含有各个省份及特别行政区,如下表. 但让 name 字段显示之后,遗漏了澳门特别行政区,如下图所示. 在网上查找方法,说是应该将shpaefi ...

  9. arcgis 属性表 汇总_ArcGIS实践教程(19)ArcGIS/ArcMap中属性表的合并方法

    merge: 功能一:可以联合 一般的属性表,合并属性或者说挂接属性! 例如:县polygon,只有name属性,现在需要添加他的邮编.区号.人口.面积.代码等等信息,现在搜集到了这些信息,并且放到一 ...

最新文章

  1. 必学必会的nginx配置location匹配顺序总结
  2. python爬网页数据用什么_初学者如何用“python爬虫”技术抓取网页数据?
  3. 重新整理Cellset转Datatable
  4. Win7 解决宽带错误691的办法
  5. spark代码连接hive_Spark SQL入门到实战之(7)spark连接hive(spark-shell和eclipse两种方式)...
  6. java window linux_java环境变量配置(Windows Linux)
  7. boost::python::long_相关的测试程序
  8. JVM超神之路:年后跳槽需要的JVM知识点,周末给你整理了一份!!!
  9. Cannot set property 'onclick' of null报错
  10. initramfs 根文件系统
  11. 熠新科技亮相2019中国光纤传感学术会议暨产业化论坛
  12. 热力地图高德_HeatMap丨丨基于高德地图API制作热力图。
  13. python计算log函数
  14. 【运筹学】线性规划 单纯形法原理 ( 构造初始可行基 | 基变换 | 最优性检验 | 解的判别 | 检验数 | ( 唯一 / 无穷多 ) 最优解判别定理 | 无界解判别定理 )
  15. 关于Redis5.0商业化收费破解
  16. 波浪谱 matlab画,matlab窄带随机过程
  17. Win10锁屏壁纸不能自动更新最全处理方法
  18. 一分钟让你明白货币贬值现象
  19. Axure RP 9母版使用说明【教程二】
  20. 如何查询设备序列号?其实一条命令搞定!

热门文章

  1. Android 开源漫画项目ComicMTC
  2. getServletContext().getRealPath(“/“);报错
  3. c++ :override的用法
  4. CAD开发——AcadSelectionSet 选择集
  5. PDF压缩,python代码,压缩到最小
  6. javascript零基础入门(小白)
  7. 中国知网如何下载pdf格式的文献
  8. easyexcel 阿里巴巴官方文档地址
  9. 在mathtype中添加任意维数矩阵的方法以及矩阵中省略号的问题
  10. 80后、90后、95后,哪个才是垮掉的一代?