#建立文件地理数据库,数据库名为工作空间名
import arcpy,os
from arcpy import env
env.overwriteOutput=True
wspath='E:\\bao1'#工作空间路径
env.workspace=wspath
fgdbname=wspath.split('\\')[-1]#工作空间文件夹名作为文件地理数据库名
fgdblst=arcpy.ListWorkspaces('*','FileGDB')#返回路径列表
if fgdblst:
for fgdb in fgdblst:
fname=os.path.basename(fgdb)
if fname[:-4]==fgdbname:
print(fgdbname+'.gdb'+'already exists')
fgb=wspath+'\\'+fgdbname+'.gdb'
else:
fgb=arcpy.CreateFileGDB_management(wspath,fgdbname)#返回绝对路径
else:
fgb=arcpy.CreateFileGDB_management(wspath,fgdbname)#参数1空间目录必须存在
#参数2文件数据库名称必须加后缀.gdb
#文件数据库中输入要素类
env.workspace=wspath
for fc in arcpy.ListFiles('*.shp'):
print('1: ',fc)
s=fc
env.workspace=fgb
fcfgb=arcpy.ListFeatureClasses()
print('2: ',fcfgb)
fc=fc.split('.')[0]
if fc in fcfgb:
print(fc+'already exists!')
else:
env.workspace=wspath
arcpy.FeatureClassToGeodatabase_conversion(s,fgb)
#文件数据库中输入栅格图像
env.workspace=wspath
for fc in arcpy.ListRasters():
print('3: ',fc)
s=fc
env.workspace=fgb
fcfgb=arcpy.ListRasters()
print('4: ',fcfgb)
fc=fc.split('.')[0]
if fc in fcfgb:
print(fc+'already exists!')
else:
env.workspace=wspath
arcpy.RasterToGeodatabase_conversion(wspath+os.sep+s,fgb)
arcpy.FeatureClassToGeodatabase_conversion(s,fgb)第一个参数为xx.shp
在arcgis下的python编程书中参数为fc出错,改为s就成功了