Hello
System Vista, ArcGIS 9.3
I want to make the name of the output shape file (out_name) the same as the working folder (Zoon).
Therefore, the output shape files will not have the same name even if they are generated by shape files in different folders.
Please kindly advise if this is possible.
If so, please kindly instruct how to modify the code below and thank you.
Thank you
Elaine
System Vista, ArcGIS 9.3
I want to make the name of the output shape file (out_name) the same as the working folder (Zoon).
Therefore, the output shape files will not have the same name even if they are generated by shape files in different folders.
Please kindly advise if this is possible.
If so, please kindly instruct how to modify the code below and thank you.
Thank you
Elaine
Code:
################################################## ########################
##AddJoin feature layers to a feature layer
##Elaine Kuo
##01 July 2013
################################################## #######################
#Import standard library modules
import arcgisscripting
import os
#Create the Geoprocessor object
gp = arcgisscripting.create(9.3)
gp.QualifiedFieldNames = "UNQUALIFIED"
#Set the input workspace
workingfolder= "H:/temp_D/NP_1067/Apodiformes-34_R/Zoon"
gp.Workspace = workingfolder
#Set the output workspace
outputfolder= "H:/temp_D/test_1"
outWorkspace= outputfolder
source_fc = "H:/temp_D/NP_1067/A_grid.shp"
#Get a list of the featureclasses in the input folder
fcs = gp.ListFeatureClasses()
gp.Toolbox = "Data Management"
# Make a FeatureClass layer
gp.MakeFeatureLayer_management (source_fc, "source_lyr")
# A counter to separate the first time through the loop from all other times
counter = 0
# Loop through every item in the list that was just generated
for fc in fcs:
if counter == 0:
# set up first Layer for AddJoin
gp.AddJoin_management("source_lyr", "GID", fc, "GID", "KEEP_ALL")
else:
# set up second and following Layers for AddJoin
gp.AddJoin_management("source_lyr", "A_grid.GID", fc, "GID", "KEEP_ALL")
counter += 1
# convert a layer to a featureclass
out_name = gp.Describe("source_lyr").name
out_name = gp.ValidateTableName(out_name, outputfolder)
out_shape = outputfolder + "/" + out_name + ".shp"
gp.CopyFeatures_management ("source_lyr", out_shape)
# delete Field (need to clean up with a lot more ID fields that the code you have below since now there are 50 GID values.)
fieldList = gp.ListFields(out_shape)
for field in fieldList:
if field.name[1:4] == "ID_":
gp.deletefield (out_shape, field.name)
# Don't bother removing 50 joins, just kill the layer
# clear memory of layers
gp.Delete("source_lyr")
gp.AddMessage(gp.GetMessages())
print gp.GetMessages()