Questions tagged «python-parser»

有关用于标记表达式和字段计算的ArcGIS Python Parser的问题

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)

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

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 关于如何使用字段计算器删除返回字符的任何想法?

2
使用Field Calculator中的Python从DMS转换为DD?
我需要将表示为度,分和秒的纬度/经度转换为十进制度。例如,在数据中,它们在“纬度”列中列为N335042.06,在“经度”列中列为W86031.04。在创建将DMS转换为DD的脚本之前,我已经完成了此问题,反之亦然,所以我想我可以使用其中的位。但是我遇到的问题是如何忽略数据中的“ N”和“ W”(因为缺少一个更好的词)?我可以跳过它们吗?DMS一起列出,没有任何符号或空格。 我可以使用len(),range(),split()指定从值读哪一部分?例如,可以执行以下操作? N335042.06其中,33 =摄氏度50 =分钟42.06 =秒...? 我碰到过这篇 ESRI文章,但它在VB中。可能会将其用作参考,但是某些术语/语法与Python不同。 最终代码有效! # Pre-logic def latDD(x): D = int(x[1:3]) M = int(x[3:5]) S = float(x[5:]) DD = D + float(M)/60 + float(S)/3600 return DD # Expression latDD(!Latitude!)

3
使用ArcGIS Desktop将序列号计算到排序表中?
有没有一种方法可以计算带序号的排序字段?我是否看到过对要素类进行排序以使用ArcGIS Field Calculator计算顺序ID字段?概述了如何计算顺序号,但这始终按FID顺序而不是排序顺序计算。 #Pre-logic Script Code: rec=0 def autoIncrement(): global rec pStart = 1 pInterval = 1 if (rec == 0): rec = pStart else: rec += pInterval return rec #Expression: autoIncrement() 我正在尝试做的一个例子。我使用了高级排序方式来按年,月,日排序,现在想在该Seq字段中使用序号。您会看到我的OBJECTID字段顺序不正确,因此上面的代码将无效。 是否可以在字段计算器中或在arcpy中使用更新光标来完成?

2
使用带有Python的ArcGIS Desktop,基于另一个属性的更改来计算新属性?
我正在尝试将一组gps时间编码的点数据分类为基于不同属性的行为。 我已经创建了一个属性,该属性基于位置,对于家来说是0,对于外出来说是1,现在想对离开家的旅程进行编号(一组点将01111111111110是一次旅程,因为它是在家中开始和结束的)。我添加了将具有行程编号的属性字段,但不知道如何计算该字段,因此它基于家庭/离开字段。 以下是 GPS数据的示例(使用“ *”表示无关的信息,并将索引时间简单地标记为1、2等),上述“回家/离开”指示器以及所需的行程指示器“行程”,我需要计算: Time Lat Lon Home/Away Trip 1 * * 0 0 2 * * 1 1 3 * * 1 1 .... 12 * * 1 1 13 * * 0 0 14 * * 0 0 15 * * 1 2 16 * * 1 …

1
根据要素类中的组自动增加字段?
我需要根据要素类中的组自动增加字段。我在给定的多边形内有8个图,并且需要为每个多边形内的每个图集从1-8分配一个ID。多边形将具有其自己的唯一ID号,该ID号可用于对图进行分组。 我认为这是对它的修改: rec=0 def autoIncrement(): global rec pStart = 1 pInterval = 1 if (rec == 0): rec = pStart else: rec = rec + pInterval return rec


4
从字段计算中的字母数字值中删除数字字符?
我有一个包含以下格式的字母数字值的字段: A-AA00 有时他们也是 A-AAA0 我需要一个Python脚本,可以将其放入ArcMap 10的字段计算器中,该脚本至少将删除数字字符,并重新训练字母和连字符。这样,例如: A-AA0 变成这个: A-AA 我还想用另一个字段中的数字字符替换数字字符。这个Stack Exchange条目解决了这个问题,但是字符串在数字前有一个空格,可以用于拆分和索引...我的字符串不是那么容易构造的。
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.