项目中经常遇到矢量数据库需要重投影的情况,arcgis自带工具又只能对要素层进行投影,对于有多个要素集、多个要素层的MDB或者GDB库数据,没有现成的工具处理,目前还是通过二次开发的工具来实现。
下面为我通过arcpy编写的shp、MDB或者GDB库数据重投影的工具箱
实现的功能:
1、支持SHP\MDB\GDB同时转换
2、支持MDB、GDB带有多个要素集或者多个要素层的情况
核心代码:
for i in range(0,len(mdbdir)): new_mdb = mdbfile[i] additem = 0 while arcpy.Exists(os.path.join(outpath,new_mdb)): additem +=1 new_mdb = mdbfile[i].split('.')[0] + str(additem) + '.mdb' new_mdb_dir = os.path.join(outpath,new_mdb) try: arcpy.CreatePersonalGDB_management(outpath, new_mdb) info = new_mdb_dir + u' 创建成功' arcpy.AddMessage(info) with open(outpath + "\\" + u"log.txt", mode="a") as log: log.write(info +