目录
前言
这里要实现的内容是:
在arcgis pro中通过notebook编写出实现繁体转简体的代码,要求能够自己选择字段。
一、arcgis pro是什么?
ArcGIS Pro是Esri公司开发的一款桌面地理信息系统(GIS)软件,用于创建、编辑、分析、可视化和共享地理空间数据。ArcGIS Pro提供了一套先进的GIS工具,支持从数据采集到空间分析、地图制作和可视化呈现等全过程。
二、使用步骤
1.下载所需库
在随意的终端窗口输入以下命令,注意前面路径为arcgis pro的python.exe路径
D:\download\arcgispro3\environment\bin\Python\envs\arcgispro-py3-clone\python.exe -m pip install opencc
2.编写代码
代码如下(示例):
import os
import arcpy
import opencc
def convert_shapefiles_traditional_to_simplified(folder_path, field_names):
"""
将一个文件夹中所有 Shapefile 中指定的字段从繁体中文转换为简体中文。
:param folder_path: 包含 Shapefile 的文件夹路径。
:param field_names: 要转换的字段名称列表。
"""
# 定义繁简体转换器
converter = opencc.OpenCC('t2s.json')
# 使用os模块遍历文件夹中的所有Shapefile
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(".shp"):
# 定义要素类的完整路径
feature_class = os.path.join(root, file)
print("正在转换文件:{}".format(feature_class))
# 使用UpdateCursor迭代要素类中的所有记录
with arcpy.da.UpdateCursor(feature_class, field_names) as cursor:
for row in cursor:
# 循环遍历传入的多个字段,并将繁体中文转换为简体中文
for i, traditional in enumerate(row):
if traditional is not None:
simplified = converter.convert(traditional)
# 更新记录的字段值
row[i] = simplified
cursor.updateRow(row)
print("转换完成!")
folder_path = r"F:\Arcpy_Data\wk"
field_names = ["NAME", "name_3"]
convert_shapefiles_traditional_to_simplified(folder_path, field_names)
(1)首先在点击上方的“分析”,点击Python,新建一个Python Notebook
(2)在单元格中复制上方代码
3.使用说明
# 修改这两部分即可
# folder_path为文件夹地址,会处理文件夹中所有Shapefile
folder_path = r"F:\Arcpy_Data\wk"
# 各个Shapefile需要处理的字段列表
field_names = ["NAME", "name_3"]
总结
以上就是今天要讲的内容,本文介绍了如何抛开IDE开发工具,直接在arcgis pro中进行批量的shapefile数据的繁体转简体。