Quantcast
Channel: Forums - Python
Viewing all articles
Browse latest Browse all 2485

name the output shapefile after the working folder

$
0
0
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

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()


Viewing all articles
Browse latest Browse all 2485

Latest Images

Trending Articles



Latest Images