ArcGIS模型中利用python脚本实现全角字段到半角字段转换:

python实现半角和全角之间转换: 源网址: https://www.cnblogs.com/kaituorensheng/p/3554571.html?utm_source=tuicool&utm_medium=referral

这里进行个人记录:

转换说明

全角半角转换说明

   有规律(不含空格):

全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)
 半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)

 特例
空格比较特殊,全角为 12288(0x3000),半角为 32(0x20)

除空格外,全角/半角按unicode编码排序在顺序上是对应的(半角 + 0x7e= 全角),所以可以直接通过用+-法来处理非空格数据,对空格单独处理。

注:

1. 中文文字永远是全角,只有英文字母、数字键、符号键才有全角半角的概念,一个字母或数字占一个汉字的位置叫全角,占半个汉字的位置叫半角。

2. 引号在中英文、全半角情况下是不同的

# -*- coding: cp936 -*-
def strQ2B(ustring):"""全角转半角"""rstring = ""for uchar in ustring:inside_code=ord(uchar)if inside_code == 12288:                              #全角空格直接转换            inside_code = 32 elif (inside_code >= 65281 and inside_code <= 65374): #全角字符(除空格)根据关系转化inside_code -= 65248rstring += unichr(inside_code)return rstringdef strB2Q(ustring):"""半角转全角"""rstring = ""for uchar in ustring:inside_code=ord(uchar)if inside_code == 32:                                 #半角空格直接转化                  inside_code = 12288elif inside_code >= 32 and inside_code <= 126:        #半角字符(除空格)根据关系转化inside_code += 65248rstring += unichr(inside_code)return rstringb = strQ2B("mn123abc博客园".decode('cp936'))
print bc = strB2Q("mn123abc博客园".decode('cp936'))
print c

在ARGIS的工具中选择字段计算工具,将代码全角转半角函数粘贴到代码段中 选择python 在表达式 可以使用该函数了。

ArcGIS模型操作实现IF操作:

利用计算值和前提条件实现IF判断操作。

(错误思路预警)利用计算值加停止实现If判断。 if else 可以使用多个计算值加多个停止实现判断。

(错误的思路,ArcGIS的停止,是针对整个模型迭代使用,一旦达到停止条件,导致该模型中的迭代将停止执行,所以这样的思路不正确)

if 的实现应该利用模型中的计算值将计算值的输出类型设置为布尔类型,然后将该输出结果作为If执行体的前提条件。这样就可以实现IF操作。

示例  - 将布尔变量设置为前提条件

在上述示例中,要素数据集变量被用作工具的前提条件。将布尔变量作为前提条件使用时,其行为与数据变量(如要素数据集或要素类)不同。对于布尔变量,“模型构建器”将读取其 TRUE 或 FALSE 值,而不是确定数据是否已被创建。如果值为 TRUE,则满足前提条件,相关工具会执行。如果值为 FALSE,则不满足前提条件,相关工具不会执行。在下例中,布尔变量 Run Model 被用作工具的前提条件。

使布尔前提条件变量成为模型参数以便在打开模型工具对话框时显示该变量。在工具对话框中,选中运行模型参数将变量设置为 TRUE,以使得执行模型时,模型内的相关过程(添加字段)也会执行。如果运行模型参数没有被选中,则布尔变量为 FALSE,由于不满足前提条件,执行模型时模型内的相关过程不会执行。如果不选中此参数,则运行模型时将发出警告消息:“过程未执行,因为前提条件为假。”

要了解有关创建不同类型的模型变量的详细信息,请参阅创建变量。

转载于:https://www.cnblogs.com/AiYaTou/p/8626092.html

ArcGIS模型操作相关推荐

  1. ArcGIS模型构建器批量将多个图层根据字段分割

    01 前言 昨日有网友提了一个需求:自己有一个省或者全国的很多个POI图层,包括很多类别(政府机构.医疗服务.文体娱乐设施等),自己想要将每个类别的图层根据字段分割成每个地级市. (我这里选了医疗保健 ...

  2. ArcGIS模型构建器前提条件的应用(附省界县点练习数据)

    这次的模型依旧很简单,主要是介绍前提条件在模型构建器中的应用 新建模型我就不讲了,之前都说过 可参考:ArcGIS模型构建器操作案例--提取相关属性信息 首先先简单介绍一下这次模型的功能,就是我们要用 ...

  3. legend3---lavarel多对多模型操作实例

    legend3---lavarel多对多模型操作实例 一.总结 一句话总结: 在多对多模型中,增加关系表的数据 需要 弄一个和关系表一对多的模型关系 1.在lavarel关系模型中,课程和标签表是多对 ...

  4. 黑马lavarel教程---5、模型操作(AR模式)

    黑马lavarel教程---5.模型操作(AR模式) 一.总结 一句话总结: AR: ActiveRecord :Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型 ...

  5. laravel mysql 视图_Laravel框架控制器,视图及模型操作图文详解

    本文实例讲述了Laravel框架控制器,视图及模型操作.分享给大家供大家参考,具体如下: 鉴于上一篇Laravel框架下载,安装及路由操作我们讲到了路由,可能大家会觉得路由这个东西无所不,可路由这个东 ...

  6. 模型操作_77个典型岗位员工胜任素质模型操作指导手册

    1. 明确企业发展战略目标 企业的发展战略目标是建立胜任素质模型总的指导方针,人力资源管理者应首先分析影响企业战略目标实现的关键因素,研究企业面临的竞争挑战,然后提炼出企业员工应具有的胜任素质,从而构 ...

  7. ArcGIS模型构建器案例学习笔记-字段处理模型集

    ArcGIS模型构建器案例学习笔记-字段处理模型集 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 由四个子模型组成 子模型1:判断字段是否存在 方法:python工 ...

  8. Fluent多相流之VOF模型操作实例

    Fluent多相流之VOF模型操作实例 前言:"相"指不同物态或同一物态的不同物理性质或力学状态.相具有可定义的边界,对周围流场有特定的动力响应,相一般分为固体.液体和气体,但也指 ...

  9. python Django 模型操作

    python Django 模型操作 1. 添加模型到数据库 2. objects:查找数据 3. all:查找所有数据 4. filter:数据过滤 5. get:获取单个对象 6. order_b ...

  10. ThinkPHP5.0教程学习06:TP5 数据库与模型操作

    学习教程来源于: php中文网 ThinkPHP5 视频教程 ThinkPHP5.0完全开发手册 连接器与查询构造器 TP5采用的是惰性连接,故而仅在查询时才会连接到数据库 TP5的数据库操作对底层进 ...

最新文章

  1. dede列表分页php,dede列表页分页英文调用方法
  2. ASP.NET AJAX入门系列(1):概述
  3. 分支机构L2L *** 到总部再PAT通过专线到合作伙伴(SVTI建立***)
  4. 判断一个点是否在指定三角形内(1)
  5. echarts mysql scrapy_抓取58job, 赶集job以及智联招聘,并使用数据分析生成echarts图...
  6. Tarjan 强连通分量
  7. Buy and Resell 2018中国大学生程序设计竞赛 - 网络选拔赛
  8. Browser Core
  9. mysql并发控制之MVCC
  10. Linux的系统程序包管理
  11. C语言通讯录—简单模拟实现
  12. 内网使用Maven本地仓库环境
  13. OP-TEE中的线程管理(一)
  14. 建文高考成绩查询2021,2021届新高考语文强化模拟卷(三).pdf
  15. 深度学习(一):给你的数据集打标签
  16. Python读书笔记-基础篇-1.万丈高楼平地起
  17. 性能测试,你需要了解这款工具
  18. 开启及清除NV_RESTORE信息的方法
  19. 愿你在迷茫时,坚信你的珍贵,爱你所爱,行你所行,听从你心,无问西东。...
  20. BOM中window简介

热门文章

  1. [转]EVC++开发实例之浏览器窗口(by fllsoft)
  2. 在java中产生随机数_在Java中产生随机数的两个方法
  3. matlab isnumeric函数,matlab中isnan函数
  4. java jlabel位置_Java Swing – JLabel位置
  5. Unity中制作小地图
  6. 设计模式的基本原则 + 类与类之间的关系
  7. Velocity模板基本常用语法
  8. JavaScript之局部变量和局部函数
  9. 【浙江大学PAT真题练习乙级】1008 数组元素循环右移问题 (20分)真题解析
  10. 数字图像处理(七) 图像分割