Questions tagged «field-calculator»

用于有关QGIS,ArcGIS Desktop等的字段计算器及其计算字段工具的问题


4
在QGIS中用连续数字填充列?
我在属性表中创建了一个新列,它具有默认值(例如0)。我想(可能使用字段计算器)得到的结果是,行1的值为1,行2 = 2,依此类推,就像编号索引一样。 对于字段计算器的代码示例(包括使用$rownum(我想在切换到该行时需要此代码)),我将不胜感激。


3
ArcGIS Field Calculator的Python解析器中的基本If / Then?
我正在使用ArcGIS 10.2 for Desktop,并且一直在浏览此站点,但似乎还无法弄清答案。对VBA和Python来说是非常新的东西,但是对于ArcGIS来说却是很多年。我知道我可以使用“按属性选择”来缓慢地进行此操作,但这很耗时。 我正在尝试在疾病案例(点层)和美国人口普查区域(多边形层)之间进行空间连接。这需要计数数据。对于每个点/案例,我都有一个名为YEAR的字段,日期范围为2001年至2012年,具体取决于案例发生的年份。我每年需要一个计数列。例如,第一个我打电话给COUNT01。如果YEAR的案件日期为2001,则COUNT01的数字为1。如果是其他年份(2002-2012),则必须为0。我将有COUNT02,COUNT03 ... COUNT12列。不能有“空”值。 到目前为止,这是我尝试过的 这就是Arc中数据的样子。

3
使用ArcGIS Field Calculator在属性表中舍入列?
我想使用ArcMap中的字段计算器将现有列舍入到两位小数。目前,我有一列长6位小数的小数位数,想简单地将其舍入到2位小数。 我曾计划使用字段计算器(可能使用Python)来执行此操作,但是也许有更简单的方法吗? 可接受的答案可能是更改单个字段的最简单方法,但是,这是如何使用适用于python和VB的字段计算器来实现的。 VB: round([column], 2) 蟒蛇: round(!column!, 2)

3
使用QGIS字段计算器基于另一列计算列的总和?
我想根据另一列中的值计算一列中的值总和。为了说明我的问题,我上传了以下图片。第二列是邮政编码,第三列是总销售额。我想知道每个邮政编码的总销售额是多少?因此,在这种情况下: 第二列的值的第三列的总和是1023多少?输出应为4 (0+1+1+2+0)。1024遵循相同的逻辑,则其总和应为11,5。 由于这是一个很大的数据集,因此我希望QGIS字段计算器(或任何其他工具)计算一个新字段,该字段以邮政编码表示总销售额。到目前为止,我似乎无法正常运行,希望这里有人可以帮助我。 如您所见,我缺少一些值,这是计算中的问题吗?也许值得一提的是它是一张桌子。

7
使用ArcGIS Field Calculator的Python解析器查找/替换双引号?
我正在尝试使用字段计算器(ArcMap 10.0)去除地址字段中的双引号(相信我,我没有把它们放在其中)。我尝试了许多咒语,但仍然无法通过计算开始。是的,两个字段均为字符串,且长度均可接受。 此计算: 结果: 在“结果”对话框中显示以下错误消息: 我再说一遍,我没有把它们放在那里。

3
在QGIS字段计算器中创建条件语句
我已经查询了有关此主题的其他一些问答,但是,没有人回答我正在寻求做的事情。 我有一个很大的数据集,我想在一个字段中搜索某个值(在这种情况下为20)的任何值,如果该值大于20,我想在另一个字段中返回值1,否则返回值0。 我尝试写一些没有运气的东西。 我正在使用QGIS 2.8。

8
使用Python和Field Calculator从Field中删除返回/换行符(\ n)?
我有一个地理数据库表,其中包含我要删除返回字符(换行)的字段。我发现了这篇文章(如何在Python中删除(删除)换行符?),但是它在字段计算器中不起作用。以下是我尝试的代码段: 注意return字符不在string的末尾。 !myField!.rstrip() 要么 !myField!.rstrip('\n') 要么 !myField!.rstrip('\r\n') 要么 !myField!.replace('\n', '') 000539错误给出此选项: 说明“计算字段”或“计算值”工具使用的计算无效。提供的此错误消息将列出特定的Python错误。 解决方案此错误代码涵盖了许多Python错误: 错误示例1:exceptions.TypeError:无法连接'str'和'int'对象。上面是特定于Python的错误。计算正在尝试添加或连接字符串和数字。 错误示例2:无效的shape_distance字段上面是使用几何对象的错误。距离方法不是几何对象的有效方法。 对于特定的Python问题,请查阅外部Python帮助以获取更多信息,或查阅Calculate Field或Calculate Value帮助以获取关于这些工具的更多信息。 要么 import os def removeReturn(myField): s = myField.rstrip(os.linesep) return s 关于如何使用字段计算器删除返回字符的任何想法?

1
在QGIS字段计算器中使用Elseif条件语句?
我正在尝试在QGIS字段计算器(版本1.8.0)中编写ELSEIF条件语句。我使用了一个在网上找到的示例: CASE WHEN val < 0 THEN 'negative' WHEN val = 0 THEN "neutral' ELSE 'positive' END 我将语句修改如下: CASE WHEN "GRID_ID" = 1 THEN 'complete' ELSEIF "GRID_ID" = 2 THEN "in progress' ELSE 'not started' END 该语句无法运行,输出预览中指出的表达式无效。说明了更多信息:解析器错误:语法错误,意外的COLUMN_REF,预期为WHEN或ELSE或END 如果有人遇到此错误,您如何解决?


4
提取每个多边形中的顶点数量?
我有ArcGIS Desktop 10.2,而我的难题是如何为所有像这样的要素提取每个多边形中的数字顶点: 我的要素类中有很多地块,我想分别提取所有要素的顶点数量,然后要显示所有顶点的XY坐标。 有关更多信息,我只想转换每个多边形的顶点并显示从1个数字开始的每个顶点的数量,所以如果我有多边形并且它有4个顶点,则想将多边形转换为顶点,我会显示这样的顶点数(1,2,3,4,5),然后为每个顶点显示xy,我认​​为真正的挑战ID为,如何将所有多边形转换为顶点,并使每个顶点的数量从1个数字开始。

1
在ArcMap中计算Python脚本中的面积
我正在尝试在我的Python脚本中计算多边形的面积。我通过将两个多边形合并在一起来创建一个新的多边形,我想将所得多边形的区域添加到输出文件中的字段中。多边形存储在常规shapefile中并进行投影。面积最好以地图为单位。 我本来以为这是一个非常普通和简单的任务,但是尽管谷歌搜索很多,但到目前为止我仍然找不到有效的解决方案。 我打算在arcpy.updateCursor计算完值后立即使用它插入值(此阶段FC中只有一个功能),所以最简单的方法是将其作为变量返回。任何完成相同任务(将面积值输入正确的字段)的替代解决方案也将起作用。 我也尝试过Python的Field计算器。从帮助页面修改后,我认为以下方法会起作用,但到目前为止还算不上什么。 arcpy.AddField_management(tempPgs, "Shape_area", 'DOUBLE') exp = "float(!SHAPE.AREA!.split())" arcpy.CalculateField_management(tempPgs, "Shape_area", exp) 在Windows 7上使用Python 2.7运行ArcGIS Basic 10.1 SP1。 我当前代码的相关部分如下所示: #/.../ arcpy.Copy_management(inpgs, outpgs) arcpy.AddField_management(outpgs, 'Shape_area', 'LONG') fields = AM.FieldLst(outpgs) #/.../ # Identify and search for shapes smaller than minimum area where1 = '"' + 'Shape_Area' + '" < ' + …

2
有没有一种方法可以为QGIS中的按列分配表的行号?
字段计算器在“记录”下有一个很棒的功能,称为“ $ rownum”,它返回(分配)当前行的编号。 有没有办法使其与排序一起使用?可以说我想按“长度”列对表格进行排序,并按从最短到最长的长度获得行的顺序(顺序)。 我知道我可以轻松地使用一些Office电子表格软件来对此进行按列排序,并用顺序(顺序)填充新列。但是我更愿意在QGIS中完成整个工作。 更新:作为解决方法,还有如何更改shapefile中特征的顺序?-使用mmqgis插件和功能进行修改/排序,然后在新保存的文件上使用“ $ rownum”。

1
QGIS,使用自更新公式填充字段(例如电子表格)
是否有任何方法(插件或其他方式)将公式作为字段的值,然后在调整其基于的其他字段时自动更新?字段计算器实际上就是更新字段值的方式,但是不必每次都返回到字段计算器,而是可以在更新其依赖的图层时像电子表格一样工作。 例如,如果要查找多边形内的住房单元数,则可以在字段计算器中执行某些操作,例如round("Density"*"Area"),但是每次调整多边形时都必须重做一次。当计算变得更加复杂时,手动检查和手动调整变得非常麻烦。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.