4章程式碼
阿新 • • 發佈:2020-08-20
4.1 ListDatasets (資料集列表)
#coding=utf8 import arcpy import os import sys import math from arcpy.sa import * def Main(): mypath=inWorkspace arcpy.env.workspace =mypath datasets =arcpy.ListDatasets() #arcpy.ListDatasets("", "Feature") for dataset in datasets: arcpy.AddMessage(dataset) arcpy.AddMessage(u"含路徑:"+mypath+os.sep+dataset) inWorkspace=arcpy.GetParameterAsText(0) Main()
4.2 ListFeatureClasses(要素類)
#coding=utf8 import arcpy import os import sys import math from arcpy.sa import * def Main1(): mypath=inWorkspace arcpy.env.workspace =mypath #==============引數的型別必須必須是字串==========================pList=[] featureclasses = arcpy.ListFeatureClasses() for fc in featureclasses: pList.append(mypath+os.sep+fc) datasets = arcpy.ListDatasets("", "Feature") for dataset in datasets: curpath=mypath+os.sep+dataset #arcpy.env.workspace =curpath fclasses = arcpy.ListFeatureClasses(feature_dataset=dataset)for fc in fclasses: pList.append(curpath+os.sep+fc) ##arcpy.AddMessage(fc) for fc in pList: arcpy.AddMessage(fc) inWorkspace=arcpy.GetParameterAsText(0) Main1()
4.3 ListTables(表)
#coding=utf8 import arcpy import os import sys import math from arcpy.sa import * def Main(): mypath=inWorkspace arcpy.env.workspace =mypath tables = arcpy.ListTables() for table in tables: arcpy.AddMessage(table) arcpy.AddMessage(u"目錄:"+mypath+"\\"+table) arcpy.AddMessage(u"目錄:{}\\{}".format(mypath,table)) inWorkspace=arcpy.GetParameterAsText(0) Main()
4.4 ListRasters(柵格)
#coding=utf8 import arcpy import os import sys import math from arcpy.sa import * def Main(): mypath=inWorkspace arcpy.env.workspace =mypath #==============引數的型別必須必須是字串========================== rasters = arcpy.ListRasters() for raster in rasters: arcpy.AddMessage("raster:"+raster) #inWorkspace=arcpy.GetParameter(0) inWorkspace=arcpy.GetParameterAsText(0) Main()
4.5 ListWorkspaces(工作空間)和批量緊縮資料庫
#coding=utf8 import arcpy import os import sys import math from arcpy.sa import * def BatchRepair(gdb): arcpy.env.workspace =gdb featureclasses = arcpy.ListFeatureClasses() for fc in featureclasses: arcpy.AddMessage(u"修復:"+gdb+os.sep+fc) arcpy.RepairGeometry_management(fc) datasets = arcpy.ListDatasets("", "Feature") for dataset in datasets: curpath=gdb+os.sep+dataset arcpy.env.workspace =curpath fclasses = arcpy.ListFeatureClasses() for fc in fclasses: arcpy.AddMessage(u"修復:"+curpath+os.sep+fc) arcpy.RepairGeometry_management(fc) def BathCompact(indir): arcpy.env.workspace = indir workspaces = arcpy.ListWorkspaces("*", "FileGDB") for workspace in workspaces: arcpy.AddMessage(u"緊縮資料庫:"+workspace) arcpy.Compact_management(workspace) BatchRepair(workspace) workspaces = arcpy.ListWorkspaces("*", "Access") for workspace in workspaces: arcpy.AddMessage(u"緊縮資料庫:"+workspace) arcpy.Compact_management(workspace) BatchRepair(workspace) workspaces = arcpy.ListWorkspaces("*", "Folder") for workspace in workspaces: arcpy.AddMessage(u"Folder:"+workspace) BathCompact(workspace) def Main(): arcpy.env.workspace = indir workspaces = arcpy.ListWorkspaces() for workspace in workspaces: arcpy.AddMessage("workspace:"+workspace) indir=arcpy.GetParameterAsText(0) Main() BathCompact(indir)
#coding=utf8
import arcpy
import os
import sys
import math
from arcpy.sa import *
def Main():
mypath=inWorkspace
arcpy.env.workspace =mypath
#==============引數的型別必須必須是字串==========================
rasters = arcpy.ListRasters()
for raster in rasters:
arcpy.AddMessage("raster:"+raster)
#inWorkspace=arcpy.GetParameter(0)
inWorkspace=arcpy.GetParameterAsText(0)
Main()