吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3896|回复: 13
收起左侧

[Python 转载] arcgis10.2.2建库脚本

 关闭 [复制链接]
丨抱抱丨 发表于 2021-9-14 09:43
arcgis版本10.2.2
python2.7
读取EXCEL表中的图层名和字段名建库。建库是GDB数据库。
最初代码来源于QQ数据交流群中的 (-

[Python] 纯文本查看 复制代码
# -*- coding:cp936 -*-
import xlrd
import arcpy
import os


def main():
	# 输入表格
	xl0 = arcpy.GetParameterAsText(0)
	# 输出数据库
	out_folder = arcpy.GetParameterAsText(1)
	out_name = arcpy.GetParameterAsText(2)
	# 打开表
	table0 = xlrd.open_workbook(xl0)

	features = table0.sheets()[0]  # 图层列表
	arcpy.CreateFileGDB_management(out_folder, out_name)
	for i in range(1, features.nrows):
		(xh0, ysbm0, jhtz0, ysmc0, ystj0, bz0) = features.row_values(i)[:6]  # 序号-图层名称(要素别名)-几何特征-属性表名(要素名称)-约束条件-备注
		ysmc0 = ysmc0.encode('unicode-escape').decode('string_escape')
		jhtz0 = jhtz0.encode('unicode-escape').decode('string_escape')
		sjkdz0 = os.path.join(out_folder, out_name + ".gdb")  # 数据库地址
		ysdz0 = os.path.join(sjkdz0, ysmc0)  # 要素地址
		arcpy.CreateFeatureclass_management(sjkdz0, ysmc0, jhtz0)  # 创建要素
		arcpy.AlterAliasName(ysdz0, ysbm0)
		arcpy.AddMessage(u"要素 " + ysbm0 + u" 创建成功")
		fields = table0.sheet_by_name(ysmc0)  # 字段列表
		for j in range(1, fields.nrows):  # 获取字段列表工作表每行的字段属性
			(xh, zdmc, zddm, zdlx, zdcd, xsws, yz, ystj) = fields.row_values(j)[
			                                               :8]  # 序号-字段名称(字段别名)-字段代码-字段类型-字段长度-小数位数-值域-约束条件
			zddm = zddm.encode('unicode-escape').decode('string_escape')
			zdlx = zdlx.encode('unicode-escape').decode('string_escape')
			zdcd = str(int(zdcd))
			ystj = ystj.encode('unicode-escape').decode('string_escape')
			if ystj == "M":
				if zdlx == "TEXT":
					arcpy.AddField_management(ysdz0, zddm, zdlx, "", "", zdcd, zdmc, "NON_NULLABLE", "", "")
				else:
					arcpy.AddField_management(ysdz0, zddm, zdlx, "", "", "", zdmc, "NON_NULLABLE", "", "")
			else:
				if zdlx == "TEXT":
					arcpy.AddField_management(ysdz0, zddm, zdlx, "", "", zdcd, zdmc, "NULLABLE", "", "")
				else:
					arcpy.AddField_management(ysdz0, zddm, zdlx, "", "", "", zdmc, "NULLABLE", "", "")
			arcpy.AddMessage(u"字段 " + zddm + u" 添加完成")


if __name__ == '__main__':
	main()

C建库程序表格模板.zip

9.52 KB, 下载次数: 111, 下载积分: 吾爱币 -1 CB

表格模板

免费评分

参与人数 5吾爱币 +7 热心值 +5 收起 理由
huzipengcheng + 1 + 1 谢谢@Thanks!
繁星的勇者 + 1 + 1 谢谢@Thanks!
qzh8008110 + 3 + 1 我很赞同!
傲天越 + 1 + 1 用心讨论,共获提升!
haokonglin + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

haokonglin 发表于 2021-9-14 14:19
下载看看
 楼主| 丨抱抱丨 发表于 2021-9-23 08:27
川黔 发表于 2021-9-22 19:25
谢谢分享 这个还得配套各excle的模板吧

模板在一楼,先发的代码,和模板,后来补发的arcgis工具
宜挚 发表于 2021-9-14 11:10
 楼主| 丨抱抱丨 发表于 2021-9-14 14:24
补充一下生成的加载到arcgis中直接使用的工具

建库程序.zip

2.82 KB, 下载次数: 109, 下载积分: 吾爱币 -1 CB

jungegegege 发表于 2021-9-20 15:26
正好需要。。。。。
川黔 发表于 2021-9-22 19:25
谢谢分享 这个还得配套各excle的模板吧
xqw826 发表于 2021-9-23 17:07
dingyixia,正好需要
小屁孩WMW 发表于 2021-9-24 15:12
感谢大神分享
ZKN995512 发表于 2022-12-16 09:29
谢谢分享,每次建库都好废时间
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表