ArcGIS属性表汉字转拼音

直接复制粘贴现成代码:

复制代码
# -*- coding: utf-8 -*-import arcpyfrom arcpy import envimport osimport pypinyin
import sys

# 不带声调皿style=pypinyin.NORMAL)def pinyin(word):    s = ''    for i in pypinyin.pinyin(word, style=pypinyin.NORMAL):        s += ''.join(i)    return s

# 带声调的(默认)def yinjie(word):    s = ''    # heteronym=True开启多音字    for i in pypinyin.pinyin(word, heteronym=True):        s = s + ''.join(i) + " "    return s

fc= arcpy.GetParameterAsText(0)
fieldname= arcpy.GetParameterAsText(1)fieldname2= arcpy.GetParameterAsText(2)
rows = arcpy.da.UpdateCursor(fc,["shape@",fieldname,fieldname2])

try:    for row in rows:
        feat = row[0]        row[2]= pinyin(row[1])        #arcpy.AddMessage(u"汉字"+row[1]+":拼音"+row[2])        arcpy.AddMessage(u"hz:" + row[1] + ":py" + row[2])        rows.updateRow(row)
    del rowsexcept Exception as e:    arcpy.AddError(e.message)

工具视图设置如下:

运行时如果出现这种情况说明电脑环境没有配置pypinyin模块,需要配置一个:

配置方法

配置方法1:

我看有的教程是直接在py编辑器输入"pip install pypinyin"命令就可以。

配置方法2:

arcgis10.2可以按如下方法操作:

ArcGIS10.2中Python环境添加扩展包

注意:安装扩展包时版本尽量和文章里的一致,不然有可能报错。


!!!个人配置pypinyin包心得体会!!!

一开始我是在10.6版本的机器上按照"配置方法2"进行配置,结果显示失败;

接着我安装了一个编辑器"PyCharm Community Edition 2019.3.3\bin\pycharm64.exe",在里面添加"pypinyin"包,然后将其设置为arcgis的编辑器和调试程序,还是失败;

!!!隔了两周!!!,按照"配置方法1:"进行尝试,显示配置失败。

但当我再次运行脚本工具时,竟然运行成功了!!!

后来我在一台10.2的机器上再次重复上述步骤探究是哪一步导致pypinyin包配置成功,也都是失败告终。

我在10.6的机器上折腾了上面几步,直到两周后脚本突然运行成功,我也不确定是哪一步导致pypinyin包配置成功,因此将心得体会写出来,如果过一段时间,打开10.2的机器运行脚本成功了,再写后续.......

声明:本文代码来源于共享网络,本人觉得能用、有用,故分享出来。

相关推荐
Highcharts.js21 小时前
如何创建蛛网地图|气泡事件+全球发布+关联组合图表开发示例
arcgis·地图系列·highcharts·动态图表·可视化开发·气泡图·地图图表
城数派4 天前
2026年500米分辨率DEM地形数据(全球/全国/分省/分市)
数据库·arcgis·信息可视化·数据分析·excel
天青色等烟雨..5 天前
R+VIC模型融合实践技术应用及未来气候变化模型预测
大数据·人工智能·arcgis·语言模型·数据分析
玩大数据的龙威9 天前
【ArcGIS技巧】—防止注记压盖之引出标注
arcgis
逆境不可逃10 天前
【与我学 ClaudeCode】并发篇 之 Background Tasks :守护线程与异步通知队列
人工智能·arcgis·agent
中科GIS地理信息培训11 天前
【ArcGIS Pro 3.7新增功能】使用交互式等高线可视化栅格数据
arcgis·arcgis pro
非科班Java出身GISer11 天前
ArcGIS JS 基础教程(7):Global与Local场景模式
arcgis·arcgis js 教程·arcgis js 基础·arcgis js 场景模式·arcgis js 切换模式
中科GIS地理信息培训11 天前
【ArcGIS Pro 3.7新增功能2】新型高光谱图像工具:连续谱去除、PCA与 MNF 降低数据复杂性、使用波长直接计算、支持STAC等
人工智能·arcgis·目标跟踪
杨超越luckly11 天前
HTML应用指南:利用GET请求获取智己汽车门店位置信息
python·arcgis·html·汽车·数据可视化
弹简特12 天前
【Vue3速成】01-npm+vue初体验+vite构建vue工程化
vue.js·arcgis·npm