Questions tagged «field-calculator»

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

1
QGIS字段计算器中条件语句的语法
我有一个shapefile,需要修改。一栏“ CLASS”具有属性:“ A”,“ B”和“ C”。我需要将“ A”更改为“ 1”,将“ B”更改为“ 2”,将“ C”更改为“ 3”。我尝试了case when功能。对于一种情况,这不是问题,但是如何在3行中工作呢? 是否还可以使用该FieldCalculator功能构建模型? 我想我知道了!这是正确的吗? CASE WHEN "VSt_K" IS 'E' THEN '5' WHEN "VSt_K" IS 'A' THEN '1' WHEN "VSt_K" IS 'B' THEN '2' WHEN "VSt_K" IS 'C' THEN '3' END 但是我不能在建模器FieldCalculator功能中使用它...

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
如何在字段计算器中使用替换字符串功能?
在属性表中,我试图使用'replace'函数将一个字符串替换为另一个字符串。例如,有许多功能,其“名称”字段包含字符串“(B)”,而我想将其替换为“县”一词。我正在选择“更新现有字段”复选框,并使用以下表达式 replace( '(B)','(B)','County') 最终结果是,不管字段“ NAME”最初是否包含字符串“(B)”,每个功能的“ NAME”字段都由“ County”替换。任何帮助,将不胜感激。

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 …

7
提取栅格DEM高程到ArcGIS Desktop中的矢量属性表?
我有一个包含多个图层组的ArcMap 10项目。一层是栅格DEM,另一层组是一堆矢量shapefile(包括点,线和面)。客户端希望所有矢量数据都包含Z值。 用X和Y值填充矢量数据的属性表很容易,但是如何填充Z值? 有没有一种方法可以使用“字段计算器”从每个矢量要素的DEM图层中“抓取”高度值? 我应该补充一点,我们没有3D Analyst或Spatial Analyst扩展的许可证。



1
QGIS自定义功能未显示在字段计算器中
我正在使用Essen,并尝试遵循Anita Graser精彩的教程《照明轮廓》。我已经创建了azimuth函数并加载了该函数,但表达式选项卡中没有任何显示-甚至没有使用默认功能的Custom!表达式与关联文件一样存在azimuth.py于C :\Users\Max\.qgis2\python\expressions中.pyc。重新启动QGIS没有任何区别

1
在ArcGIS Pro中撤消字段计算?
我正在使用ArcGIS Pro,无法找到撤消字段计算的方法。 使用ArcGIS 10.x for Desktop,当编辑会话处于活动状态时,字段计算可以撤消,但是Pro似乎处于永久性的编辑会话中,其中不包含撤消字段计算的功能。 是否可以在ArcGIS Pro中撤消字段计算?

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


2
使用datetime.date.today()中的今天的日期计算Date字段?
我正在使用arcpy.CalculateField_management将当前日期添加到属性表的工具的一部分。我在互联网上徘徊了很多,似乎找不到解决此问题的方法。 使用此代码时,我得到的值是“ 12:00:00 AM” input = r'C:\GIS\CARGIS\SHAPES.gdb\CRASH_ON_2013' today = datetime.date.today() dte = today.strftime('%m/%d/%Y') arcpy.CalculateField_management(input,"DTCARXTRCT",dte,"PYTHON") 使用此代码时,我从今天的“ 10/07/2014”获取值“ 06/19/1905” input = r'C:\GIS\CARGIS\SHAPES.gdb\CRASH_ON_2013' today = datetime.date.today() dte = str(today) arcpy.CalculateField_management(input,"DTCARXTRCT",dte,"PYTHON") 对我在做什么错有任何想法吗?我想避免使用更新游标,但是如果这是最后一个选择,那么会这样做。

2
QGIS字段计算器中的列标题使用通配符?
我知道您可以在字段计算器中使用通配符(在字段计算器中): case when "column" ILIKE '%example%' then 1 else 0 end 您可以为列标题本身做类似的事情吗? 我之所以这样问,是因为我要联接多个图层(使用Joins属性),这将使我更容易编辑一组过滤器,而不是编辑多个过滤器,因为列名必须包含联接的图层名称。 我正在使用QGIS 2.2。

1
如何在ArcGIS for Desktop的字段计算器中执行If语句?
我有一个shapefile,其中包含两个数字字段(“ Dist_1”和“ Dist_2”)。我想要一个字段计算,它将使用三个答案之一填充另一个字段(“结果”): 首先,如果Dist_1大于Dist_2,则以'True'填充结果;第二,如果Dist_1小于Dist_2,则以'False'填充结果;如果Dist_1和Dist_2相等,则以'Equal'填充第三。

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.