Questions tagged «field-calculator»

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



2
QGIS计算圆弧半径到属性
我已经安装了QGIS 2.18.16。我的问题是,如何计算圆弧/曲线特征(线)的半径?这些行源自.dgn文件,我使用FME读取该文件并将其写入PostGis DB。我已经创建了主键等,并且该表是完全可编辑的。我成功计算了圆弧的长度,但无法弄清楚如何计算这些曲线的半径。这个(https://www.mathopenref.com/arcradius.html)可能在数学方面给出了一些想法,尽管我不知道如何在QGIS计算器中使用它。因此,我需要为数据库中的所有行计算“ R”。 贝娄就是一个例子。我的数据在与“正常”折线不同的表上具有“弧线/曲线”。



2
将文本从每个分隔符之前的字符串字段拆分为新字段
我试图从包含以点分隔的文本的字符串字段中提取文本数据,然后使用字段计算器将其放置在新字段中。 我正在使用此python函数(源自QGIS中/之前的如何提取文本?): from qgis.core import * from qgis.gui import * @qgsfunction(args='auto', group='Custom') def func(value1, feature, parent): return value1.split('.')[0] 这将返回第一个点之前的所有文本。现在,我想知道如何编写该函数以将每个分隔的文本行放在单独的字段中。 之前: 后:



3
使用ArcPy和Python替换属性表中的非英文字符?
我有一些shapefile,其中某些属性包含非英语字符ÅÄÖ。由于某些查询不适用于这些字符(特别是ChangeDetector),因此我尝试使用一个简单的脚本预先更改它们,并将新字符串添加到另一个字段中。 但是,更改字符效果很好,但不能使用arcpy.UpdateCursor更新该字段。 解决这个问题的合适方法是什么? 我也曾尝试通过字段计算器来执行此操作,同时将“代码”发布到代码块中,出现相同的错误。 错误消息: 运行时错误回溯(最近一次调用最近):文件“”,行1,在文件“ c:/gis/python/teststring.py”,行28,在val =代码(str(prow.Typkod)) UnicodeEncodeError:'ascii'编解码器无法在位置3处编码字符u'\ xc4':顺序号不在范围内(128) 码: # -*- coding: cp1252 -*- def code(infield): data = '' for i in infield: ## print i if i == 'Ä': data = data + 'AE' elif i == 'ä': data = data + 'ae' elif i == 'Å': …

6
从数字字段创建格式为“ 1,000'”的标签?
该问题基于我在gis.stackexchange上遇到的上一个问题: 如何使用正则表达式轻松编辑属性数据? 也许有人可以指出我正确的方向? 我有轮廓线的矢量shapefile。在属性表中,我已经将一个名为FEET的字段转换为一个名为Label的字符串字段,该字段由包含高程值的整数数据组成。另外,我成功地在字符串的末尾添加了',以便在标记数据时将其读取为英尺。 我要尝试做的下一件事是仅在字符串的长度大于4的情况下,在字符串的前两个值之间插入逗号,否则,逗号将仅出现在Label字段中的数千个和数百个数字之间。该长度必须大于4,因为我还要计算“ 到目前为止,我的代码是: case when length( "Label") >4 then regexp_replace( "Label", '^([0-9])+([0-9]{3}\')$','$1 , $2') else "Label" end 但是regexp_replace函数似乎在函数的第3个参数中不接受组变量$ 1 $ 2。 我查看了http://docs.python.org/2/library/re.html,因为根据python对regex的使用,据我所知,字段计算器正则表达式是我所了解的,但一直无法弄清楚。使用Mac OSX上的QGIS 1.8中的字段计算器中的此功能,也许我要尝试执行的操作尚无法实现。或者更可能是我的语法错误,因为我是新手程序员,并且对正则表达式有些陌生。

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

5
使用计算字段将文件名添加到属性字段?
有人知道如何将shapefile名称添加到文件属性表中的字段吗? 我找到了一个描述: “您必须在CalculateField中使用内联变量,例如在表达式中使用%Name%,以便无论文件名如何,都将基于dbase文件的名称插入字符串!” 我尝试使用%Name%来CalculateField工具,但收到消息: Executing: CalculateField "2011-11-6 15_41_point" DBFName %Name% PYTHON # Start Time: Thu Dec 08 23:34:23 2011 WARNING 000405: No records within table Succeeded at Thu Dec 08 23:34:24 2011 (Elapsed Time: 1.00 seconds) 我的错误在哪里?
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.