新建文件数据库添加shp文件,栅格文件

    xiaoxiao2023-11-26  159

    #建立文件地理数据库,数据库名为工作空间名 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就成功了

    最新回复(0)