精华内容
下载资源
问答
  • ArcGIS 字段计算器

    千次阅读 2017-02-13 10:57:32
    ArcGIS字段计算器。当字段NEAR_DIST值小于0的时候,fi_1等于0;否则 fi_1等于NEAR_DIST   微信关注 奔跑的GISer 获取更多资源

    ArcGIS字段计算器。当字段NEAR_DIST值小于0的时候,fi_1等于0;否则 fi_1等于NEAR_DIST

     

    微信关注  奔跑的GISer  获取更多资源

    展开全文
  • 作为近年Esri支持得最好的脚本语言,Python能够在字段计算器中解决不少简单的属性问题(如编号、截位等)。ArcPy则是直接能够进行ArcGis二次开发。系统性文章目标太大,目前我会把之前问的字段计算器问题以及ArcPy问题...

    作为近年Esri支持得最好的脚本语言,Python能够在字段计算器中解决不少简单的属性问题(如编号、截位等)。ArcPy则是直接能够进行ArcGis二次开发。系统性文章目标太大,目前我会把之前问的字段计算器问题以及ArcPy问题汇总。

    另注:python是对代码缩进要求很严格的编程语言。本博客统一采用4个空格作为缩进。

    python很少使用分号,逗号一定使用英文半角。(同学们请注意)问题一:多字段的最大、最小值

    python的基础函数中有求数值的求和、最大、最小值函数,所以我们也可以直接使用的。

    举例:假设有三个字段,NumA,NumB,NumC三个字段都是数值型的字段,我们需要求三个字段的最大值,并写入到MaxNum字段中。

    只需在表达式中输入 max([NumA,NumB,NumC])即可。

    最大值函数:max([NumA,NumB,NumC])

    最小值函数:min([NumA,NumB,NumC])

    多字段求和函数:sum([NumA,NumB,NumC])

    最大值使用截图如下:

    问题二:流水号编码

    举例1:举例描述:已有宗地图层,包含字段“地籍子区”、“特征码”、“宗地编码”按照 宗地统一编码 规则给图层内的宗地编码。

    宗地统一编码规则:宗地编码 = '地籍子区' '特征码' 5位自然数流水号。

    原始属性表截图:

    字段计算器使用截图:

    处理结果截图:

    代码块如下:dict={}

    def funZdbm(fldVal,tzm):

    if fldVal == None:

    return None

    if tzm == None:

    return None

    temp = 0

    key = fldVal tzm

    if dict.has_key(key) == True:

    temp = dict[key]

    strVal = key str(temp 1).zfill(5)

    dict[key] = temp 1

    return strVal

    else :

    dict[key] = 1

    strVal = key str(temp 1).zfill(5)

    return strVal

    举例2:描述:有文本型字段流水号,其中有两行记录已编号,需要续编其他记录,并在前面补零。保证流水号为6位数

    原始属性表截图:

    字段计算器使用截图:

    处理结果截图:

    代码块:max = 504

    def funLsh(fldVal):

    global max

    fldVal = fldVal.strip()

    if fldVal == None or fldVal == '':

    max = max 1

    return str(max).zfill(6)

    else:

    return fldVal问题三:文本型字段查重

    描述:检查宗地图层,将“宗地代码”字段有重复记录的内容标记出来,并将检查结果赋给'检查结果'字段。

    原始属性表截图:

    字段计算器使用截图:

    处理结果截图:

    代码块:(此代码在数据量太大的情况下慎用,估计会比较卡,预计十万以内还是可以承受)dict={}

    def adjRepeat(fldVal,id):

    if fldVal == None:

    return None

    temp = 0

    strVal = ''

    if dict.has_key(fldVal) == True:

    temp = dict[fldVal]

    strVal = '宗地代码字段和FID为' str(temp) '的图元重复'

    return strVal

    else :

    dict[fldVal] = id

    return ''

    展开全文
  • 电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到ARCGIS字段计算器Python应用实例(一)的问题,如果我们遇到了ARCGIS字段计算器Python应用实例(...电脑现已成为我们工作、生活和...

    电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到ARCGIS字段计算器Python应用实例(一)的问题,如果我们遇到了ARCGIS字段计算器Python应用实例(...

    电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到ARCGIS字段计算器Python应用实例(一)的问题,如果我们遇到了ARCGIS字段计算器Python应用实例(一)的情况,该怎么处理怎么才能解决ARCGIS字段计算器Python应用实例(一)带来的困扰呢,对于这样的问题其实我们只需要arcgis在arcgis字段计算器中,VB脚本和Python相比,VB脚本的格式要求很随意,而Python的格式要求非常严格。但Python的语言要更加方便。下面就举例说明Python在字段计算器中的运用实例。代码如下:cc=0def tjc():global ccaa = 1bb = 1if (cc == 0):cc = aaelse:cc = cc + bbreturn cc代码中def 是这样就解决了这样的问题,接下来给大家带来ARCGIS字段计算器Python应用实例(一)的详细操作步骤。

    工具/原料

    arcgis

    方法/步骤

    在arcgis字段计算器中,VB脚本和Python相比,VB脚本的格式要求很随意,而Python的格式要求非常严格。但Python的语言要更加方便。下面就举例说明Python在字段计算器中的运用实例。

    代码如下:

    cc=0

    def tjc():

    global cc

    aa = 1

    bb = 1

    if (cc == 0):

    cc = aa

    else:

    cc = cc + bb

    return cc

    代码中def 是定义 函数,global是定义全局变量,aa、bb、cc都是变量。

    这边代码的意思就是:

    cc设为0,

    定义cc为全局变量,

    aa、bb都为1

    如果cc为0,

    则cc=aa,也就是1,

    如果cc不为0,

    则cc等于cc和bb之和,

    最后返回cc的值为函数运算的结果。

    注意1,勾选Python和显示代码窗口,如下图红色圈出。

    注意2,字段等于窗口处,填入函数。如下图红色圈出

    注意3,其中的是格式,该有冒号的地方必须得有冒号,该空格的地方必须空格,不然不能计算或者计算出错。

    计算结果如下。实例为字段计算器计算自动编号的代码。

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

    展开全文
  • 作为近年Esri支持得最好的脚本语言,Python能够在字段计算器中解决不少简单的属性问题(如编号、截位等)。ArcPy则是直接能够进行ArcGis二次开发。系统性文章目标太大,目前我会把之前问的字段计算器问题以及ArcPy问题...

    65adb045fc106b1e8a5aa5e039ef8f9d.gif

    作为近年Esri支持得最好的脚本语言,Python能够在字段计算器中解决不少简单的属性问题(如编号、截位等)。ArcPy则是直接能够进行ArcGis二次开发。系统性文章目标太大,目前我会把之前问的字段计算器问题以及ArcPy问题汇总。

    另注:python是对代码缩进要求很严格的编程语言。本博客统一采用4个空格作为缩进。

    python很少使用分号,逗号一定使用英文半角。(同学们请注意)

    问题一:多字段的最大、最小值

    python的基础函数中有求数值的求和、最大、最小值函数,所以我们也可以直接使用的。

    举例:假设有三个字段,NumA,NumB,NumC三个字段都是数值型的字段,我们需要求三个字段的最大值,并写入到MaxNum字段中。

    只需在表达式中输入 max([NumA,NumB,NumC])即可。

    最大值函数:max([NumA,NumB,NumC])

    最小值函数:min([NumA,NumB,NumC])

    多字段求和函数:sum([NumA,NumB,NumC])

     最大值使用截图如下:

    63a022dd4009ef85574debe7ebc45676.png

    问题二:流水号编码

    举例1:举例描述:已有宗地图层,包含字段“地籍子区”、“特征码”、“宗地编码”按照 宗地统一编码 规则给图层内的宗地编码。

    宗地统一编码规则:宗地编码 = "地籍子区" + "特征码" + 5位自然数流水号。

    原始属性表截图:

    059e32ad25b2f7e59757837c3aaa26e6.png

    字段计算器使用截图:

    9e7d68b5e90c4aafa12fce0f907ba1f1.png

    处理结果截图:

    284359a0c0d2af91dc15c8f283f8a41a.png

    代码块如下:

    dict={}

    def funZdbm(fldVal,tzm):

        if fldVal == None:

            return None

        if tzm == None:

            return None

        temp = 0

        key = fldVal + tzm

        if dict.has_key(key) == True:

            temp = dict[key]

            strVal = key + str(temp+1).zfill(5)

            dict[key] = temp+1

            return strVal

        else :

            dict[key] = 1

            strVal = key + str(temp+1).zfill(5)

            return strVal

    举例2:描述:有文本型字段流水号,其中有两行记录已编号,需要续编其他记录,并在前面补零。保证流水号为6位数

    原始属性表截图:

    debc1cfeffa6099a380636b2334cd74b.png

    字段计算器使用截图:

    db42369732a5d27e1e7a5e306a376e49.png

    处理结果截图:

    b41ac7efd09a9dc51efb26fa3f704648.png

     代码块:

    max = 504

    def funLsh(fldVal): 

        global max

        fldVal = fldVal.strip()

        if fldVal == None or fldVal == "":

            max = max + 1

            return str(max).zfill(6)

        else:

            return fldVal

    问题三:文本型字段查重

    描述:检查宗地图层,将“宗地代码”字段有重复记录的内容标记出来,并将检查结果赋给"检查结果"字段。

    原始属性表截图:

    87e30f3c315ddbd8e93f5147ecf924a7.png

    字段计算器使用截图:

    f47bc67b443150f7977e6085fd219fb9.png

    处理结果截图:

    019d6cb53f26479dd2434e10a78900b5.png

    代码块:(此代码在数据量太大的情况下慎用,估计会比较卡,预计十万以内还是可以承受)

    dict={}

    def adjRepeat(fldVal,id):

        if fldVal == None:

            return None

        temp = 0

        strVal = ""

        if dict.has_key(fldVal) == True:

            temp = dict[fldVal]

            strVal = "宗地代码字段和FID为" + str(temp) + "的图元重复"

            return strVal

        else :

            dict[fldVal] = id

            return ""

    文章转载于CSDN,作者蓝胖子-chinagj07版权归原作者所有,如有侵权请告知删除- END -

    ArcGIS应用分析—学校选址

    使用Python制作ArcGIS插件基础篇——工具介绍ArcGIS中不可不知的Python技术(PPT可下载)

    使用Python脚本将Excel表批量赋值到ArcGIS属性表

    7.72GB ARCGIS  ERDAS  ENVI干货教程网盘下载

    a38208d3b652d1489dd99771a7c69630.png

    展开全文
  • 今天继续讲arcgis字段计算器。其中常用函数的命令有left,right,mid,len,在不动产宗地、农经权等代码中有较强的实用性。1.left([],n),返回string字符串左边n个字符,提取身份证前6位县域代码。2.right([],n),...
  • ARCGIS字段计算器对字段重复内容自动编号的方法;L=[ ] def aaa(x): global L L.append(x) return(L.count(x)) aaa(!TBBH!) 确
  • 比如 字段值为 “非法占用100平方米” 处理后结果为 100字段值为 “工棚3间” 处理结果为0字段值为 “工棚3间,瓦屋2间,非法占用100平方米” 处理结果100字段值为 “工棚100平方米,瓦屋100平方米” 处理结果为200...
  • ArcGIS字段计算器顺序编号 rec=0 def autoIncrement(): global rec pStart = 1 #编号的初始值 pInterval = 1 #编号的间隔值 if (rec == 0): rec = pStart else: rec = rec + pInterval return rec! ...
  • Arcgis字段计算器实现自动编码

    万次阅读 多人点赞 2018-12-10 16:31:43
    Arcgis字段计算器实现自动编码 1.添加字段 2.进行字段计算(可以选中部分来计算) 下面为计算方法和实现效果 代码块1 可以更改间隔值来跳着编号 rec=0 def autoIncrement(): global rec pStart = 1 #初始值 ...
  • 比如 字段值为 “非法占用100平方米” 处理后结果为 100字段值为 “工棚3间” 处理结果为0字段值为 “工棚3间,瓦屋2间,非法占用100平方米” 处理结果100字段值为 “工棚100平方米,瓦屋100平方米” 处理结果为200...
  • ArcGIS字段计算器分割字段中的字符串

    万次阅读 多人点赞 2017-07-07 18:44:12
    最近在整理植物数据,数据本来是以excel进行存储,但是其中涉及到要对字段进行分割,由于对excel的相关函数不熟悉于是想着能不能用arcgis字段计算器进行解决,经过摸索成功地解决了自己遇到的问题,并记录下来,...
  • 例如 Left("arcgis",2)="ar" ,把[A]字段的前2个字符赋给[B] Len :返回字符串的长度,例如 Len("arcgis")=6 LTrim :去掉字符串左边的空格,例如 LTrim(" arcgis")="arcgis" Mid :取出字符串中间的内容,例如 Mid...
  • arcgis 字段计算器 python方法

    千次阅读 2017-11-27 11:20:48
    arcgis 字段计算器 python方法arcgis+python使用起来简直666得不行,简单的例子如在字段计算器中如果使用得好往往会得到事半功倍的效果,本文总结一下python使用过程中一些坑,主要与别的语言不同之处:1、关于空: ...
  • ArcGIS字段计算器的高级应用,需要用户调用自己的函数。
  • 作为近年Esri支持得最好的脚本语言,Python能够在字段计算器中解决不少简单的属性问题(如编号、截位等)。ArcPy则是直接能够进行ArcGis二次开发。系统性文章目标太大,目前我会把群里面之前问的字段...
  • draw9的使用说明转载来自:http://isux.tencent.com/android-ui-9-png.html 在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以 ...php 如何进入mysql数据库我是初学者,有两...
  • 【超赞】ArcGIS字段计算器分割字段中的字符串 最近在整理植物数据,数据本来是以excel进行存储,但是其中涉及到要对字段进行分割,由于对excel的相关函数不熟悉于是想着能不能用arcgis的字段计算器进行解决,经过...
  • 例如 Left("arcgis",2)="ar" ,把[A]字段的前2个字符赋给[B] Len :返回字符串的长度,例如 Len("arcgis")=6 LTrim :去掉字符串左边的空格,例如 LTrim(" arcgis")="arcgis" Mid :取出字符串中间的内容,例如 Mid...
  • arcgis字段计算器的vb脚本生成随机数使用的函数是rnd(),而不是rand()。这个要特别注意。
  • 问题:对DWLX中的名字设置英文考察:使用字段计算器为字段统一赋值,使用python中的多重选择语句图1 统一赋值效果图操作步骤:启用编辑;选择所需数据,右键选择“打开属性表”;在属性表中选择“添加字段”,设置...
  • ArcGIS字段计算器(Python篇) —— 群内问题汇总

    万次阅读 多人点赞 2016-12-19 15:25:55
    博客开张,多多捧场。再给咱交流群打个广告。(全国最大ARCGIS技术交流... 作为近年Esri支持得最好的脚本语言,Python能够在字段计算器中解决不少简单的属性问题(如编号、截位等)。ArcPy则是直接能够进行ArcGis二次开
  • 前面的文章介绍了栅格计算器的常见公式大全→ArcGIS 10.2栅格计算器实用公式大全(经典版)如果需要按不同的条件进行赋值,最先想到的是先按属性进行选择,再对选择的记录进行赋值,例如将TypeName为lindi的flag字段...
  • 在ArcMap中,无论是在属性框中右击字段打开的字段计算器还是在工具箱中的字段计算器工具,都支持Python 和VBScript表达式。...在ArcGIS中FieldCalculator,也就是字段计算器是个强大的对属性字段进行各式...
  • 今天通过举例用字段计算器(Field Calculator)中的函数对图斑进行整理,或许在实际中大家用的到。 ...
  • arcgis 字段计算器技巧

    2020-02-21 15:12:28
    有时候将字段与表格匹配时,有的表格后面没有市啊,县啊什么的,所以要新建一个字段name2,然后右键字段计算器,选择如下就可以了
  • ArcGIS字段计算器中的python函数.conjugate(),共轭复数.denominator(),返回分母.imag(),返回复数的虚数部分.numerator(),返回分子.real(),返回复数的实数部分.as_interger_ratio():Return a pair of integers ...
  • 使用ArcGIS字段计算器计算要素的拐点坐标(线,面要素) 打开字段计算器,如下图,选择python,显示代码块,粘贴以下代码。dd=GetpointXY( !Shape! ),参数选Shape字段。 确定 代码块如下: def GetpointXY...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 253
精华内容 101
关键字:

arcgis字段计算器