Arcgis中给属性表字段按条件批量赋值
ArcGIS10.2字段计算器FieldCalculator批量条件赋值用法总结
ArcGIS10.2字段计算器FieldCalculator批量条件赋值⽤法总结
花了⼏个⼩时专研这个批量处理,由于本⼈愚钝,所以费的时间较长,在⽹上搜的话,可以看到⼀⼤堆字段计算器按条件赋值的结果,但是就是没有⼈测试条件是汉字的哪⼀类。
我利⽤⽹上的答案,就是直接⽤的⼀个if语句然后就可以直接出来英⽂或是数字的结果,但是对于汉字则没有办法。
然后⼜参照⼀些其他的⽂档。
知道了,在ArcMap中使⽤python时需要将其转为utf-8,这样便可以按条件查询了。
还有就是python空格问题,不是空2就是空4 ,看得arcmap帮助⽂档得知。
然后下⾯是代码。
import os
import sys
import re
str1='超市'.decode('utf8')
str2='超市2'.decode('utf8') //需要decode是因为字段可能是ascii编码
def Reclass(kind):
if str1 in kind or str2 in kind :
return '超市'
else:
return '其他'
⽤法就是点击你要赋值的那⼀列,我这⾥是Kind,字段计算器,然后如上图写,下部的代码则是POIName则是你需要判断条件的字段
然后就出来了,各位看官要是觉得不错,点个推荐吧。
arcgis批量邻近赋值
arcgis批量邻近赋值摘要:1.引言2.ArcGIS简介3.批量邻近赋值的概念4.批量邻近赋值的方法a.按要素类进行赋值b.按图层进行赋值c.使用ArcPy进行赋值5.批量邻近赋值的注意事项6.总结正文:ArcGIS是一款功能强大的地理信息系统软件,广泛应用于地图制作、数据分析、空间建模等领域。
在实际工作中,我们常常需要对图层中的要素进行批量邻近赋值。
本文将详细介绍ArcGIS中批量邻近赋值的相关知识和操作方法。
首先,我们需要了解ArcGIS的基本情况。
ArcGIS是由美国环境系统研究所(Esri)公司开发的一款地理信息系统软件,包括桌面、服务器和移动端等多个平台,提供了丰富的地理信息处理和分析功能。
批量邻近赋值是指在ArcGIS中,根据某个图层中某个字段的值,将该值赋给与之相邻的要素。
这种操作可以用于实现诸如区域划分、属性统计等多种功能。
在ArcGIS中,有多种方法可以实现批量邻近赋值。
以下是具体的操作步骤:1.按要素类进行赋值在“ArcToolbox”中,打开“地理处理”工具栏,选择“批量处理”工具,然后点击“要素类到要素类”。
在弹出的对话框中,输入源要素类和目标要素类,选择邻近赋值方法,并设置相关参数。
最后,点击“确定”按钮,即可完成赋值操作。
2.按图层进行赋值在ArcMap中,右键点击需要赋值的图层,选择“属性”>“打开属性表”。
在属性表中,找到需要赋值的字段,点击“编辑”按钮。
然后,选中需要赋值的要素,手动输入或粘贴目标值。
最后,点击“确认”按钮,完成赋值操作。
3.使用ArcPy进行赋值ArcPy是ArcGIS的Python编程接口,可以利用Python脚本语言轻松实现批量邻近赋值。
以下是使用ArcPy进行赋值的示例代码:```pythonimport arcpy# 输入图层和字段input_layer = "input_layer"field_name = "field_name"# 获取输入图层的要素类input_feature_class = arcpy.Describe(input_layer).featureClass# 创建游标with arcpy.da.SearchCursor(input_layer, field_name) as cursor: # 遍历图层中的要素for row in cursor:# 获取当前要素的ID和属性值feature_id = row[0]attribute_value = row[1]# 获取与当前要素相邻的要素with arcpy.da.SearchCursor("input_layer", ["OID@", field_name]) as neighbor_cursor:for neighbor_row in neighbor_cursor:# 检查相邻要素的ID和当前要素的ID是否满足条件(例如:相差1)if abs(feature_id - neighbor_row[0]) == 1:# 对相邻要素进行赋值arcpy.CalculateField_management("input_layer", field_name, attribute_value)```在执行批量邻近赋值操作时,需要注意以下几点:1.确保源图层和目标图层具有相同的投影坐标系。
在ArcGIS属性表中增加需要的字段并自动赋值
在ArcGIS属性表中,一般不会包含实体几何信息,可以采取VBA进行计算。
下面是几个简单的代码特点:1推荐给不会使用AO的朋友2可以保存为CAL文件以备下次方便使用使用方法1打开属性表,选择计算的字段,右点选择Calculate Values;2.选择“是”,进入Field Calculator;2选择Advance选项;3 在Pre-Logic VBA Script Code编辑框中输入VBA代码;4在下面编辑框中输入赋值部分.1--点坐标XVBA部分:Dim pGeo As IGeometrySet pGeo = [Shape]Dim pPoint As IPointSetpPoint = pGeo赋值部分:pPoint.X2--点坐标YVBA部分:同上赋值部分:pPoint.Y坐标值为文件存储的固有值,和是否使用On the Fly坐标表示无关。
返回当前显示的坐标值参看8,93--多边形周长VBA部分:Dim pGeo As IGeometry Set pGeo = [Shape]Dim pPolygon As IPolygon SetpPolygon = pGeo赋值部分:pPolygon.Length4--多边形面积VBA部分:Dim pGeo As IGeometry Set pGeo = [Shape]Dim pPolygon As IPolygon SetpPolygon = pGeoDim pArea As IAreaSet pArea =pPolygon赋值部分:pArea.Area5--多边形重心XVBA部分:Dim pGeo As IGeometry Set pGeo = [Shape]Dim pPolygon As IPolygonSet pPolygon = pGeoDim pArea As IAreaSet pArea =pPolygonDim pPoint As IPointSet pPoint =pArea.Centroid赋值部分:pPoint.X6--多边形重心YVBA部分:同上赋值部分:pPoint.Y7--Polyline长度VBA部分:Dim pGeo As IGeometrySet pGeo = [Shape]Dim pPolyline As IPolylineSetpPolyline = pGeoDim pCurve As IPolycurveSet pCurve =pPolyline赋值部分:pCurve.Length8--表示点坐标XVBA部分:Dim pDoc As IMxDocumentSet pDoc = ThisDocumentDim pSpRef AsISpatialReferenceSet pSpRef = pDoc.FocusMap.SpatialReferenceDimpClone As ICloneSet pClone = [Shape]Dim pGeo As IGeometrySet pGeo =pClone.CloneDim pPoint as IPointSet pPoint = pGeopGeo.ProjectpSpRef赋值部分:pPoint.X9--表示点坐标YVBA部分:同上赋值部分:pPoint.Y坐标值为On the Fly显示的坐标,不是文件存储的固有坐标10--连续编号VBA部分:Static lCount as longlCount=lCount+1赋值部分:lCount (从1开始)lCount-1(从0开始)。
arcgis批量邻近赋值
arcgis批量邻近赋值在地理信息系统(GIS)领域中,ArcGIS是一款功能强大的软件套件,被广泛应用于地图制作、数据分析和空间模拟等方面。
其中,邻近赋值是一项常见且有用的操作,它可以将一个要素的属性值根据其附近的其他要素进行自动赋值。
本文将介绍如何使用ArcGIS进行批量邻近赋值,并探讨其在实际应用中的意义和效果。
一、概述邻近赋值是一种空间分析方法,通过将某一要素的属性值根据其邻近要素的属性值进行自动赋值,从而实现信息的传递和填充。
在ArcGIS中,我们可以利用空间统计工具和地理处理工具来实现批量邻近赋值的操作。
下面将具体介绍其步骤和应用场景。
二、数据准备在进行批量邻近赋值之前,需要先准备好相应的数据集。
这些数据集包括要进行邻近赋值的要素、要素之间的空间关系数据以及属性数据。
要素可以是点、线或面等,在这些要素上具有需要进行赋值的属性字段。
空间关系数据可以是距离、方位或接触等,并与要素保持一定的关联。
属性数据则是被邻近要素赋值的目标字段。
三、步骤1. 打开ArcGIS软件,并导入准备好的数据集。
2. 创建一个新的字段,用于存储邻近赋值的结果。
3. 运行空间统计工具,计算每一个要素与其邻近要素之间的距离或其他空间关系。
4. 根据所计算得到的空间关系值,将邻近要素的属性值赋给目标字段。
5. 检查并验证赋值结果,确保赋值的准确性和完整性。
四、应用场景批量邻近赋值在实际应用中具有广泛的应用场景,以下列举其中几个常见的例子:1. 城市规划:通过测量不同位置的道路距离,将其与最近的公园或绿地距离进行邻近赋值,评估城市规划的绿化水平和绿地覆盖率。
2. 市场分析:基于不同商铺的销售额和人口密度,计算每个商铺的邻近商铺销售额,并预测市场潜力和竞争力。
3. 环境监测:通过衡量不同地点的水质或空气质量指数,将其与周围的监测站点进行邻近赋值,实时监测环境变化。
4. 基础设施规划:根据不同地点的人口分布和就业机会,计算每个地方的社会福利指数,并进行区域发展规划。
ArcGIS编辑属性数据的几种方法
编辑属性数据的几种方法在Arc Map中对地理数据进行编辑,不仅可以对其几何信息进行编辑,同时也可以为其属性信息进行编辑。
一般的属性表中既包含了系统预设的一些字段,还会包含用户自定义的字段,而我们进行编辑的只能是用户自定义的字段。
根据要素是否已经创建,可调用不同的工具完成属性信息的添加、更改或删除。
1 为已有要素添加或更改属性值当需要进行编辑的地理数据的几何信息已经存在并且不需要更改时,我们采用以下2种方法对要素的属性信息进行添加、修改或删除。
1.1 利用表窗口GIS数据包含的属性信息都记录在表中。
每个表格的基本结构都相同,由行和列组成,定义行为一条记录,定义列为一个字段,两者的交叉点是一个要素的某个属性。
表中的属性值可单独进行添加或更改,也可批量更改赋值。
1.1.1 单个赋值利用表窗口为单个要素添加或修改属性值。
步骤:a) 启动编辑会话,编辑(Editor)工具条下拉菜单选择开启编辑(Start Editing);b) 右键单击要编辑的图层,选择“打开属性表”(open attribute table);c) 找到需要添加或修改的字段以及对应的记录,手动输入单个属性值,如图1。
图1 表窗口单个赋值1.1.2 批量赋值利用“字段计算器”进行批量赋值,前提条件是两个字段的字段属性必须遵循一定的规则(短整型、长整型、双精度、单精度都可向文本复制,但是文本复制不到数值中)。
步骤:a) 启动编辑会话,编辑(Editor)工具条下拉菜单选择开启编辑(Start Editing);b) 右键单击要编辑的图层,选择“打开属性表”(open attribute table);c) 右键单击需要添加或修改的字段名,选择“字段计算器”(Field Calculator);d) 在“字段计算器”(Field Calculator)对话框中利用VB脚本语言或Python语言编写语句,既可以直接在表达式文本框中输入较为简单的表达式(如图2),也可以在代码框中输入较为复杂的表达式以执行高级计算;e) 点击确定(OK)后可在属性表中查看计算结果(如图3)。
根据空间位置关系,属性批量赋值
已知所有井的属性,根据管道和井的空间位置关系,对管道数据的属性批量赋值。
第一步:添加井和管道数据到ArcMap中,打开ArcToolbox工具,选择分析工具——>叠加分析——>空间连接,如下图
第二步:双击“空间连接”,打开如下图操作对话框,输入要素选择管道图层,连接要素选择井图层,输出要素类设置为后缀为shp格式的数据,路径自行选择,连接操作选项选择“JOIN_ONE_TO_MANY”,保留所有目标要素勾选,匹配选项选择“CONTAINS”,然后点击确定按钮。
第三步:打开地理处理下拉菜单中的“融合”工具
第四步:在弹出的融合对话框中做如下设置:
输入要素选择第前面得到的shp数据;
输出要素类设置为shp格式的数据;
融合_字段选择”TARGET_FID”;
统计字段选择井的NAME和ITEMINDEX,统计类型选择FIRST和LAST。
如图
点击确定按钮。
第五步:打开上步操作得到的结果数据dissolve.shp的属性表,添加字段NAME,字段类型为文本;选择NAME列,右键选择字段计算器,在弹出的对话框中输入[FIRST_NAME]+"-"+
[LAST_NAME_],点击确定按钮,就能将管道两端井的名字批量赋给管道。
同理,添加ITEMINDEX和TYPE字段,做字段计算。
最后得到的管道数据就是我们所需要的。
干货‖ArcGIS‖属性表的“那些”事(字段排序、小班编号、属性多条件选择)
干货‖ArcGIS‖属性表的“那些”事(字段排序、小班编号、属性多条件选择)案例(1)我们经常在实际工作中要对字段按照由小到大的顺序进行排列,例如:1、2、3... ...步骤一:打开图层属性表,新建字段(例如:zdbh)步骤二:在新建的字段(zdbh)上面右击,选择“字段计算器”---选中 python。
(可能这时候有同学就慌了,我py不会、看不懂搞啥子嘛)莫急、莫急Ctrl+C 、Ctrl+V 应该是会得嘛!步骤三:在“预逻辑代码块”复制、粘贴以下代码就好;rec=-1def autoIncrement():global recpStart = 1 #起始值为1,可修改pInterval = 1 #间隔值为1,可修改if (rec ==-1):rec = pStartelse:rec = rec + pIntervalreturn rec(上述代码含义:首先初始化rec为-1;接着定义一个autoIncrement方法,在这个方法里定义了一个局部变量rec,初始化pStart为1,它也是起始值,如果想typeid起始值为其它值可以修改pStart的值即可,pInterrval是间隔值,即依次递增的数字之间的间隔是1,如果想依次递增的数字之间的间隔是2或者3...等,可以修改pInterrval的值;再接着就是一个if()else语句,最后将rec进行返回。
)然后将autoIncrement()方法给zdbh,最后点击“确定”运行。
(注意将autoIncrement()方法给zdbh时,autoIncrement()方法前不能有空格,否则会报错)案例(2)在我们实际工作中还会经常遇见对小班进行编号,格式要求0001、0002、0003... ....0010等这种格式。
步骤同案例(1)我们在这里就不重复说了,还是老办法Ctrl+C 、Ctrl+V需要改变的是代码如下:rec=0def autoIncrement():global recpStart = 1 #adjust start value, if req'dpInterval = 1 #adjust interval value, if req'dif (rec == 0):rec = pStartelse:rec = rec + pIntervalreturn rec然后将(str(autoIncrement())).zfill(4) 给 zdbh1 最后点确定就行这里重点要强调一下(str(autoIncrement())).zfill(4) 这个数字4,如果要变成格式为00001 00002 这种的就修改为5 就行。
arcpy条件赋值
在ArcGIS的ArcPy模块中,条件赋值是一种常见的操作,它允许你根据某些条件对变量进行赋值。
以下是一个简单的示例,演示了如何使用ArcPy进行条件赋值:
在这个示例中,我们首先创建了一个名为my_variable的变量,并为其赋值为0。
然后,我们使用if-elif-else语句根据my_variable的值进行条件赋值。
如果my_variable的值大于10,我们将字符串"大于10"赋给它;如果my_variable的值等于10,我们将字符串"等于10"赋给它;否则,我们将字符串"小于10"赋给它。
最后,我们使用print()函数输出my_variable的值。
除了在Python脚本中使用条件赋值外,你还可以在ArcMap的Python窗口中使用条件赋值。
在ArcMap中打开Python窗口,输入以下代码:
在这个示例中,我们首先获取当前地图文档的图层和第一个要素的属性值。
然后,我们根据属性值进行条件赋值,如果属性值为"YES",我们将字符串"Yes"赋给它;如果属性值为"NO",我们将字符串"No"赋给它;否则,我们将字符串"Unknown"赋给它。
最后,我们输出新的属性值。
arcgis10.2从上到下,从左到右排序编号;字段条件赋值python语句
Arcgis从上到下,从左到右按顺序编号1、打开所要编号的图层属性表,添加字段xmin,ymax,字段类型选择双精度2、添加字段后如图:3、分别在xmin、ymax字段上单击字段计算器,按如图输入Python语句,计算每个面xmin、ymax的值4、打开工具箱arctoolbox,找到数据管理工具(Data Management)——常规——排序工具,输入要排序的图层,将字段ymax,xmin分别按下列排序方法选择,输出数据集5、打开输出图层,OBJECTID即为图层内所有图形按照从上到下,从左到右重新排序后的结果,编号可通过新建字段将OBJECTID赋值给编号字段。
6、排序前后如图所示,为展示效果,随手所画图中所示图形,无实际使用意义,仅供参考。
排序前图形编号自上而下,从左到右排序后图形编号Arcgis批量条件语句赋值以三调地类编码为例,将地类名称根据地类编码条件赋值Arcgis字段计算器Python脚本代码如下:def FZ(f):if f =="0102":return "水浇地"elif f =="0103":return "旱地"elif f =="0201":return "果园"elif f =="0204":return "其他园地"elif f =="0301":return "乔木林地"elif f =="0305":return "灌木林地"elif f =="0307":return "其他林地"elif f =="0404":return "其他草地"elif f =="05H1":return "商业服务业设施用地"elif f =="0601":return "工业用地"elif f =="0602":return "采矿用地"elif f =="0701":return "城镇住宅用地"elif f =="0702":return "农村宅基地"elif f =="0508":return "物流仓储用地"elif f =="0809":return "公园与绿地"elif f =="0810":return "公园与绿地"elif f =="0810A":return "广场用地"elif f =="08H1":return "机关团体新闻出版用地"elif f =="08H2":return "科教文卫用地"elif f =="09":return "特殊用地"elif f =="1001":return "铁路用地"elif f =="1003":return "公路用地"elif f =="1004":return "城镇村道路用地"elif f =="1005":return "交通服务场站用地"elif f =="1006":return "农村道路"elif f =="1009":return "管道运输用地"elif f =="1101":return "河流水面"elif f =="1103":return "水库水面"elif f =="1104":return "坑塘水面"elif f =="1104A":return "养殖坑塘"elif f =="1106":return "内陆滩涂"elif f =="1107":return "沟渠"elif f =="1107A":return "干渠"elif f =="1109":return "水工建筑用地"elif f =="1201":return "空闲地"elif f =="1202":return "设施农用地"elif f =="1206":return "裸土地"else:return ""调用定义函数DLMC=FZ(!DLBM!)注意:Python 强制要求将缩进作为语法的一部分,所以空格为两个或四个来定义每个逻辑级别。
ARCGIS批量导入属性表内容方法
ARCGIS批量导入属性表数据要批量导入的属性
下面是图层属性表
以下是导入步骤
第一步
在属性表中添加字段户主文本格式长度15 第二步、
连接属性源电子表格(XLS格式)
第三步
填充连接电子表格中户主信息到图层属性表
右键——》字段计算器
字段列表里面双击:sheet1$.户主确定结果如下
图层名称右键——》连接——》移除连接。
OK,导入表格数据完成。
补充:
1、基于的字段和连接基础的字段是电子表格和属性表数据建立对应关系的一依据
把电子表格里面的其他列数据这两个按照两者的值一致的关系按行连接起来
2、也可以不用字段计算器,在图层名称右键——》数据——》导出数据
添加导出的图层、查看属性表。
3、字段子算器可以使用和电子表格相似的公式批量运算属性值,不过除了直接赋值不能对已有属性运算赋值,需要先建立一个辅助空白字段用于字段内部属性值转移,之后运算辅助字段完成属性数据运算通俗讲就是三倒油葫芦。
最后工具箱——》数据管理工具——字段工具——》删除,删除多余字段。
arcgis下统一赋值
利用VBA给ArcGIS属性表字段赋值方法总结2009-05-19 13:16:00| 分类:ArcGIS|字号大中小订阅转载自:/cicispace/archive/2006/11/30/1423364.aspx在ArcGIS属性表中,一般不会包含实体几何信息,可以采取VBA进行计算。
使用方法1打开属性表,选择计算的字段,右点选择Calculate Values;2.选择“是”,进入Field Calculator;2选择Advance选项;3 在Pre-Logic VBA Script Code编辑框中输入VBA代码;4在下面编辑框中输入赋值部分.1--点坐标XVBA部分:Dim pGeo As IGeometrySet pGeo = [Shape]Dim pPoint As IPointSet pPoint = pGeo赋值部分:pPoint.X2--点坐标YVBA部分:同上赋值部分:pPoint.Y坐标值为文件存储的固有值,和是否使用On the Fly坐标表示无关。
返回当前显示的坐标值参看8,93--多边形周长VBA部分:Dim pGeo As IGeometrySet pGeo = [Shape]Dim pPolygon As IPolygonSet pPolygon = pGeo赋值部分:pPolygon.Length4--多边形面积VBA部分:Dim pGeo As IGeometrySet pGeo = [Shape]Dim pPolygon As IPolygonSet pPolygon = pGeoDim pArea As IAreaSet pArea = pPolygon赋值部分:pArea.Area5--多边形重心XVBA部分:Dim pGeo As IGeometrySet pGeo = [Shape]Dim pPolygon As IPolygon Set pPolygon = pGeoDim pArea As IAreaSet pArea = pPolygonDim pPoint As IPointSet pPoint = pArea.Centroid 赋值部分:pPoint.X6--多边形重心YVBA部分:同上赋值部分:pPoint.Y7--Polyline长度VBA部分:Dim pGeo As IGeometry Set pGeo = [Shape]Dim pPolyline As IPolyline Set pPolyline = pGeoDim pCurve As IPolycurve Set pCurve = pPolyline赋值部分:pCurve.Length8--表示点坐标XVBA部分:Dim pDoc As IMxDocumentSet pDoc = ThisDocumentDim pSpRef As ISpatialReferenceSet pSpRef = pDoc.FocusMap.SpatialReferenceDim pClone As ICloneSet pClone = [Shape]Dim pGeo As IGeometrySet pGeo = pClone.CloneDim pPoint as IPointSet pPoint = pGeopGeo.Project pSpRef赋值部分:pPoint.X9--表示点坐标YVBA部分:同上赋值部分:pPoint.Y坐标值为On the Fly显示的坐标,不是文件存储的固有坐标10--连续编号VBA部分:Static lCount as longlCount=lCount+1赋值部分:lCount (从1开始) lCount-1 (从0开始)。
应用arcgis字段计算器为属性表字段进行条件批量赋值
应用arcgis字段计算器为属性表字段进行条件批量赋值
]应用arcgis字段计算器为属性表字段进行条件批量赋值
▼
原文地址:应用arcgis字段计算器为属性表字段进行条件批量赋值作者:lena
最近在做基于遥感影像的土地利用变化研究,在完成解译和分类以后,对polygon图层进行土地利用类型赋值,如设定林地代码为“2”,耕地代码为“1”等。
第一步添加需要编辑的图层打开属性表
第二步点击“options”左键单击“add field”,添加代码字段,命名为“type1_ID”
第三步 start editing
第四步右键单击“type1_ID”,在快捷菜单中选择“field Calculator”打开字段计算器
第五步(如图)选择“Advanced”复选框在大空栏中填入下面代码。
dim u as String
if [type1_name]="林地" then ' 注:sd是我赋值的那个字段名称。
u="2"
else
u=[type1_ID]
end if(参见)
在小空栏中填入“u”
点“ok”
然后对不同地类重复上述操作。
这是仅次于一个一个输入的第二笨的方法,以后学到更便捷的方法再补充。
arcgis字段计算器条件赋值
arcgis字段计算器条件赋值一、ArcGIS字段计算器的基本概念ArcGIS字段计算器是ArcGIS软件中的一个重要功能,它可以根据用户设置的条件,对字段进行相应的计算和赋值操作。
通过字段计算器,我们可以对现有的字段进行各种数学运算、逻辑运算、字符串操作等,从而得到我们想要的结果。
二、ArcGIS字段计算器的应用场景1. 数值字段的计算在GIS分析中,我们经常需要对数值字段进行计算,比如计算两个字段的和、差、乘积或者平均值等。
通过ArcGIS字段计算器,我们可以方便地进行这些计算,从而得到我们所需的结果。
2. 逻辑判断在一些情况下,我们需要根据某些条件进行判断,并对字段进行相应的赋值操作。
比如,我们希望根据某个字段的值是否大于10来判断另一个字段的值,并进行相应的赋值。
通过ArcGIS字段计算器的条件赋值功能,我们可以轻松实现这一操作。
3. 字符串处理在GIS分析中,字符串处理也是一个常见的需求。
比如,我们可能需要将某个字段的值进行拆分、合并或者替换。
通过ArcGIS字段计算器,我们可以方便地进行这些字符串操作,从而满足我们的需求。
三、使用ArcGIS字段计算器的步骤1. 打开ArcGIS软件,并打开要进行字段计算的数据表。
2. 在数据表中选择要进行计算的字段,并右击该字段,选择“字段计算器”选项。
3. 在弹出的“字段计算器”对话框中,选择“使用Python解析器”。
4. 在“表达式”输入框中,编写相应的计算表达式。
根据需求,可以进行数值计算、逻辑判断、字符串处理等。
5. 点击“确定”按钮,完成字段计算。
四、ArcGIS字段计算器的注意事项1. 在编写计算表达式时,要注意语法的正确性。
ArcGIS字段计算器使用Python语言,因此要遵循Python的语法规则。
2. 在进行条件赋值时,要确保条件的正确性。
可以使用逻辑运算符(如>、<、=)来判断条件是否成立。
3. 在进行字符串处理时,要注意字符串的格式和引号的使用。
Arcgis中给属性表字段按条件批量赋值
1.确定属性表中要赋值的字段,可利用属性表“Options”下“Select By Attributes…”操作,本例中需要赋值的字段如下图“ms”
2.光标停在该列的表头上,单击右键并选择“Field Calculator…”
3.探出对话框,如下图所示,在“Advanced”前打勾后对话框进入高级编辑模式
1 2
4.自定义VBA语句,如本例中,要给“ms”一列赋值为“2
5.144”则需在Pre-Logic VBA Script Code 文本框中输入如下语句:
dim u as double // 定义变量u 为double类型
if [ms]=”0”then //如果字段ms的当前值为0,则将25.144赋值给u u=”25.144”
else //否则,将ms的当前值赋给u
u=[ms]
end if //结束
5.然后在“ms=”对应的文本框中输入u,该文本框的作用相当于将变量u的值赋给字段ms
( )
6.本例计算结果如下图所示。
ARCGIS 属性赋值
电力赋值1.农林用地AGR_S需要赋值字段code、type。
按属性选择同类型的名称字段进行赋值。
如所有名称为水田的地类,code统一赋为810301 、type统一赋为1。
2. 铁路RAI_L需赋值的有code、name和level字段。
等级用相应的阿拉伯数字表示。
3.道路边线ROA_L道路边线需赋值只有code、且统一赋为430000。
4.道路中心线TRA_CL道路中心线需赋值的项较多,有代码、名称、行政等级、技术等级、城市道路等级和材料。
赋值参照下表。
5.附属设施面TRA_S道路附属设施面中只存放机场的面状信息。
Code码统一为480100。
6.道路附属设施点TRA_P提取注记点层中与加油站、加气站相关注记点信息,导入本层。
Code码统一为450104。
7.行政区划数据(省PDIS_S、市RDIS_S 、区县CDIS_S、乡镇TDIS_S、村VDIS_S行政区划数据人口、地址、别名字段尽量填到县。
各级行政区的区域面积必需都填、保留到小数点后两位。
具体属性填写参照下表示例。
8.水系面LAK_S水系的code码根据名称字段赋值,如湖泊统一赋值为230100。
区县范围内有名称的水系,同一名称的只能有一条记录、等级必需大于4级。
没有名称的水系等级统一为5级。
注:河流级别代码表9.水系线RIV_L水系线code统一为220000,级别统一为5级。
10房屋BUI_S房屋code统一赋为310300,名称及门牌号字段根据已完成的注记点层进行空间关系赋值。
11.城市绿地GRE_S城市绿地的赋值应参照其名称字段来进行,对应关系如下表。
12.注记点ANN_A注记点的group和code对应关系见下表。
在对应关系正确的情况下,可在数据库中直接用以下语句赋值。
update F_DLG_K_ANN_A set code=1 where GROUP_="省级政府"update F_DLG_K_ANN_A set code =2 where GROUP_="地区市政府"update F_DLG_K_ANN_A set code =3 where GROUP_="区县级政府"update F_DLG_K_ANN_A set code =4 where GROUP_="飞机场"update F_DLG_K_ANN_A set code =5 where GROUP_="火车站"update F_DLG_K_ANN_A set code =6 where GROUP_="风景名胜"update F_DLG_K_ANN_A set code =7 where GROUP_="商务住宅"update F_DLG_K_ANN_A set code =8 where GROUP_="写字楼"update F_DLG_K_ANN_A set code =9 where GROUP_="住宅小区"update F_DLG_K_ANN_A set code =10 where GROUP_="科教文化服务" update F_DLG_K_ANN_A set code =11 where GROUP_="高等院校"update F_DLG_K_ANN_A set code =12 where GROUP_="中学"update F_DLG_K_ANN_A set code =13 where GROUP_="小学及幼儿园" update F_DLG_K_ANN_A set code =14 where GROUP_="餐饮服务"update F_DLG_K_ANN_A set code =15 where GROUP_="医疗保健服务" update F_DLG_K_ANN_A set code =16 where GROUP_="综合医院"update F_DLG_K_ANN_A set code =17 where GROUP_="专科医院"update F_DLG_K_ANN_A set code =18 where GROUP_="动物医疗场所" update F_DLG_K_ANN_A set code =19 where GROUP_="住宿服务"update F_DLG_K_ANN_A set code =20 where GROUP_="政府机关及社会团体" update F_DLG_K_ANN_A set code =21 where GROUP_="公检法机关"update F_DLG_K_ANN_A set code =22 where GROUP_="体育休闲服务" update F_DLG_K_ANN_A set code =23 where GROUP_="生活服务"update F_DLG_K_ANN_A set code =24 where GROUP_="金融保险机构" update F_DLG_K_ANN_A set code =25 where GROUP_="银行"update F_DLG_K_ANN_A set code =26 where GROUP_="自动取款机"update F_DLG_K_ANN_A set code =27 where GROUP_="银行相关"update F_DLG_K_ANN_A set code =28 where GROUP_="保险公司"update F_DLG_K_ANN_A set code =29 where GROUP_="证券公司"update F_DLG_K_ANN_A set code =30 where GROUP_="财务公司"update F_DLG_K_ANN_A set code =31 where GROUP_="交通设施服务" update F_DLG_K_ANN_A set code =32 where GROUP_="购物服务"update F_DLG_K_ANN_A set code =33 where GROUP_="汽车销售"update F_DLG_K_ANN_A set code =34 where GROUP_="汽车维修"update F_DLG_K_ANN_A set code =35 where GROUP_="汽车服务"update F_DLG_K_ANN_A set code =36 where GROUP_="摩托车服务"update F_DLG_K_ANN_A set code =37 where GROUP_="道路附属设施" update F_DLG_K_ANN_A set code =38 where GROUP_="交通注记"update F_DLG_K_ANN_A set code =39 where GROUP_="桥"update F_DLG_K_ANN_A set code =40 where GROUP_="行政地名"update F_DLG_K_ANN_A set code =41 where GROUP_="自然地名"update F_DLG_K_ANN_A set code =42 where GROUP_="公共设施"update F_DLG_K_ANN_A set code =43 where GROUP_="公司企业"update F_DLG_K_ANN_A set code =44 where GROUP_="水系注记" update F_DLG_K_ANN_A set code =45 where GROUP_="省级行政区" update F_DLG_K_ANN_A set code =46 where GROUP_="地市级行政区" update F_DLG_K_ANN_A set code =47 where GROUP_="县级行政区" update F_DLG_K_ANN_A set code =48 where GROUP_="镇级行政区" update F_DLG_K_ANN_A set code =49 where GROUP_="村级行政区" update F_DLG_K_ANN_A set code =50 where GROUP_="房屋注记"。
Arcgis中给属性表字段按条件批量赋值
1.确定属性表中要赋值的字段,可利用属性表“Options”下“Select By Attributes…”操作,本例中需要赋值的字段如下图“ms”
2.光标停在该列的表头上,单击右键并选择“Field Calculator…”
3.探出对话框,如下图所示,在“Advanced”前打勾后对话框进入高级编辑模式
1 2
4.自定义VBA语句,如本例中,要给“ms”一列赋值为“2
5.144”则需在Pre-Logic VBA Script Code 文本框中输入如下语句:
dim u as double // 定义变量u 为double类型
if [ms]=”0”then //如果字段ms的当前值为0,则将25.144赋值给u u=”25.144”
else //否则,将ms的当前值赋给u
u=[ms]
end if //结束
5.然后在“ms=”对应的文本框中输入u,该文本框的作用相当于将变量u的值赋给字段ms
(
6.本例计算结果如下图所示。
ArcGIS实践教程(18)ArcGISArcMap中属性赋值方法小结麻辣GIS
ArcGIS实践教程(18)ArcGISArcMap中属性赋值方法小结麻辣GIS点的属性赋给区1、在ArcMap中加载点和区层,右击区层,选择“Joins and Relates”-->“Join...”,在弹出的对话框中,第一个下拉框选择“Join data from another layer based on spatial location”,在第二个下拉框选择点层,然后在联接后属性选择第二个单选框,然后选择输出图层名称,点击“OK”。
这样区和点就根据空间位置把属性联接上了,但在Arcgis中,区内即使没有点,也会和最近的点联接上,要想把没有点的区所连接的属性去掉,就根据空间位置选择面图层“completely contain”点图层,这样包含点的那些区就被选中了,然后再反选(switch selection),把后来联接上的字段值均设为空即可。
2、利用工具箱中的Spatial Join工具。
区属性赋给点Analysis Tools下面的overlay并点开,选择空间连接。
插值结果赋给点属性Spatial analyst tools/extraction/extract value to points。
插值结果赋给区属性Spatial analyst\Zonal Statistics给点文件属性中添加XY坐标ArcT oolBox\Data Management Tools\Features\Add XY Coordinates。
将面属性赋给位于其中的线Arctoolbox\Analysis Tools\Overlay\Identity计算线长度或区面积在属性表中添加面积字段,右击该列选择计算几何体面积。
ARCGIS 属性赋值
电力赋值1.农林用地AGR_S需要赋值字段code、type。
按属性选择同类型的名称字段进行赋值。
如所有名称为水田的地类,code统一赋为810301 、type统一赋为1。
2. 铁路RAI_L需赋值的有code、name和level字段。
等级用相应的阿拉伯数字表示。
3.道路边线ROA_L道路边线需赋值只有code、且统一赋为430000。
4.道路中心线TRA_CL道路中心线需赋值的项较多,有代码、名称、行政等级、技术等级、城市道路等级和材料。
赋值参照下表。
5.附属设施面TRA_S道路附属设施面中只存放机场的面状信息。
Code码统一为480100。
6.道路附属设施点TRA_P提取注记点层中与加油站、加气站相关注记点信息,导入本层。
Code码统一为450104。
7.行政区划数据(省PDIS_S、市RDIS_S 、区县CDIS_S、乡镇TDIS_S、村VDIS_S行政区划数据人口、地址、别名字段尽量填到县。
各级行政区的区域面积必需都填、保留到小数点后两位。
具体属性填写参照下表示例。
8.水系面LAK_S水系的code码根据名称字段赋值,如湖泊统一赋值为230100。
区县范围内有名称的水系,同一名称的只能有一条记录、等级必需大于4级。
没有名称的水系等级统一为5级。
注:河流级别代码表9.水系线RIV_L水系线code统一为220000,级别统一为5级。
10房屋BUI_S房屋code统一赋为310300,名称及门牌号字段根据已完成的注记点层进行空间关系赋值。
11.城市绿地GRE_S城市绿地的赋值应参照其名称字段来进行,对应关系如下表。
12.注记点ANN_A注记点的group和code对应关系见下表。
在对应关系正确的情况下,可在数据库中直接用以下语句赋值。
update F_DLG_K_ANN_A set code=1 where GROUP_="省级政府"update F_DLG_K_ANN_A set code =2 where GROUP_="地区市政府"update F_DLG_K_ANN_A set code =3 where GROUP_="区县级政府"update F_DLG_K_ANN_A set code =4 where GROUP_="飞机场"update F_DLG_K_ANN_A set code =5 where GROUP_="火车站"update F_DLG_K_ANN_A set code =6 where GROUP_="风景名胜"update F_DLG_K_ANN_A set code =7 where GROUP_="商务住宅"update F_DLG_K_ANN_A set code =8 where GROUP_="写字楼"update F_DLG_K_ANN_A set code =9 where GROUP_="住宅小区"update F_DLG_K_ANN_A set code =10 where GROUP_="科教文化服务" update F_DLG_K_ANN_A set code =11 where GROUP_="高等院校"update F_DLG_K_ANN_A set code =12 where GROUP_="中学"update F_DLG_K_ANN_A set code =13 where GROUP_="小学及幼儿园" update F_DLG_K_ANN_A set code =14 where GROUP_="餐饮服务"update F_DLG_K_ANN_A set code =15 where GROUP_="医疗保健服务" update F_DLG_K_ANN_A set code =16 where GROUP_="综合医院"update F_DLG_K_ANN_A set code =17 where GROUP_="专科医院"update F_DLG_K_ANN_A set code =18 where GROUP_="动物医疗场所" update F_DLG_K_ANN_A set code =19 where GROUP_="住宿服务"update F_DLG_K_ANN_A set code =20 where GROUP_="政府机关及社会团体" update F_DLG_K_ANN_A set code =21 where GROUP_="公检法机关"update F_DLG_K_ANN_A set code =22 where GROUP_="体育休闲服务" update F_DLG_K_ANN_A set code =23 where GROUP_="生活服务"update F_DLG_K_ANN_A set code =24 where GROUP_="金融保险机构" update F_DLG_K_ANN_A set code =25 where GROUP_="银行"update F_DLG_K_ANN_A set code =26 where GROUP_="自动取款机"update F_DLG_K_ANN_A set code =27 where GROUP_="银行相关"update F_DLG_K_ANN_A set code =28 where GROUP_="保险公司"update F_DLG_K_ANN_A set code =29 where GROUP_="证券公司"update F_DLG_K_ANN_A set code =30 where GROUP_="财务公司"update F_DLG_K_ANN_A set code =31 where GROUP_="交通设施服务" update F_DLG_K_ANN_A set code =32 where GROUP_="购物服务"update F_DLG_K_ANN_A set code =33 where GROUP_="汽车销售"update F_DLG_K_ANN_A set code =34 where GROUP_="汽车维修"update F_DLG_K_ANN_A set code =35 where GROUP_="汽车服务"update F_DLG_K_ANN_A set code =36 where GROUP_="摩托车服务"update F_DLG_K_ANN_A set code =37 where GROUP_="道路附属设施" update F_DLG_K_ANN_A set code =38 where GROUP_="交通注记"update F_DLG_K_ANN_A set code =39 where GROUP_="桥"update F_DLG_K_ANN_A set code =40 where GROUP_="行政地名"update F_DLG_K_ANN_A set code =41 where GROUP_="自然地名"update F_DLG_K_ANN_A set code =42 where GROUP_="公共设施"update F_DLG_K_ANN_A set code =43 where GROUP_="公司企业"update F_DLG_K_ANN_A set code =44 where GROUP_="水系注记" update F_DLG_K_ANN_A set code =45 where GROUP_="省级行政区" update F_DLG_K_ANN_A set code =46 where GROUP_="地市级行政区" update F_DLG_K_ANN_A set code =47 where GROUP_="县级行政区" update F_DLG_K_ANN_A set code =48 where GROUP_="镇级行政区" update F_DLG_K_ANN_A set code =49 where GROUP_="村级行政区" update F_DLG_K_ANN_A set code =50 where GROUP_="房屋注记"。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.确定属性表中要赋值的字段,可利用属性表“Options”下“Select By Attributes…”操作,本例中需要赋值的字段如下图“ms”
2.光标停在该列的表头上,单击右键并选择“Field Calculator…”
3.探出对话框,如下图所示,在“Advanced”前打勾后对话框进入高级编辑模式
1 2
4.自定义VBA语句,如本例中,要给“ms”一列赋值为“2
5.144”则需在Pre-Logic VBA Script Code 文本框中输入如下语句:
dim u as double // 定义变量u 为double类型
if [ms]=”0”then //如果字段ms的当前值为0,则将25.144赋值给u u=”25.144”
else //否则,将ms的当前值赋给u
u=[ms]
end if //结束
5.然后在“ms=”对应的文本框中输入u,该文本框的作用相当于将变量u的值赋给字段ms
( )
6.本例计算结果如下图所示。