Feature to polygon in multiple folders












1















I have a few hundred folders, each with a set of shapefiles that are identical across folders (ie each folder has a 'lot.shp'). They are all supposed to be polygon features, but unfortunately many are line features.



I am trying to convert all line features to polygons using Feature to Polygon.



To do this I have tried the following code which should work through each folder converting the desired shapefiles and saving back into the same folder but with a '2' in the name:



import arcpy, glob, os

filelist = ['buildingpoly','lot', etc etc]

path = "C:/folder_containing_desired_subfolders/*/"

for x in filelist:
list = glob.glob(path + x + ".shp")
arcpy.FeatureToPolygon_management(in_features=list, out_feature_class=path + x + "2.shp", cluster_tolerance="", attributes="ATTRIBUTES", label_features="")
del list


But this gets the following error:



Runtime error Traceback (most recent call last): File "", line 10, in File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2524, in FeatureToPolygon raise e ExecuteError: ERROR 000210: Cannot create output C:/folder_containing_desired_subfolders/*/buildingpoly2.shp Failed to execute (FeatureToPolygon).



Any ideas? I'm at a loss on this one.



An alternative that would also work is if I can have all the new polygon features saved in the same directory but this would require each getting a unique name.










share|improve this question




















  • 2





    The asterisk shouldn't appear in your path, consider arcpy.da.Walk() to find the lot.shp in each subfolder and arcpy.Describe shapeType == 'Polyline' to find the line lot.shp files to polygonize.

    – Michael Stimson
    1 hour ago
















1















I have a few hundred folders, each with a set of shapefiles that are identical across folders (ie each folder has a 'lot.shp'). They are all supposed to be polygon features, but unfortunately many are line features.



I am trying to convert all line features to polygons using Feature to Polygon.



To do this I have tried the following code which should work through each folder converting the desired shapefiles and saving back into the same folder but with a '2' in the name:



import arcpy, glob, os

filelist = ['buildingpoly','lot', etc etc]

path = "C:/folder_containing_desired_subfolders/*/"

for x in filelist:
list = glob.glob(path + x + ".shp")
arcpy.FeatureToPolygon_management(in_features=list, out_feature_class=path + x + "2.shp", cluster_tolerance="", attributes="ATTRIBUTES", label_features="")
del list


But this gets the following error:



Runtime error Traceback (most recent call last): File "", line 10, in File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2524, in FeatureToPolygon raise e ExecuteError: ERROR 000210: Cannot create output C:/folder_containing_desired_subfolders/*/buildingpoly2.shp Failed to execute (FeatureToPolygon).



Any ideas? I'm at a loss on this one.



An alternative that would also work is if I can have all the new polygon features saved in the same directory but this would require each getting a unique name.










share|improve this question




















  • 2





    The asterisk shouldn't appear in your path, consider arcpy.da.Walk() to find the lot.shp in each subfolder and arcpy.Describe shapeType == 'Polyline' to find the line lot.shp files to polygonize.

    – Michael Stimson
    1 hour ago














1












1








1








I have a few hundred folders, each with a set of shapefiles that are identical across folders (ie each folder has a 'lot.shp'). They are all supposed to be polygon features, but unfortunately many are line features.



I am trying to convert all line features to polygons using Feature to Polygon.



To do this I have tried the following code which should work through each folder converting the desired shapefiles and saving back into the same folder but with a '2' in the name:



import arcpy, glob, os

filelist = ['buildingpoly','lot', etc etc]

path = "C:/folder_containing_desired_subfolders/*/"

for x in filelist:
list = glob.glob(path + x + ".shp")
arcpy.FeatureToPolygon_management(in_features=list, out_feature_class=path + x + "2.shp", cluster_tolerance="", attributes="ATTRIBUTES", label_features="")
del list


But this gets the following error:



Runtime error Traceback (most recent call last): File "", line 10, in File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2524, in FeatureToPolygon raise e ExecuteError: ERROR 000210: Cannot create output C:/folder_containing_desired_subfolders/*/buildingpoly2.shp Failed to execute (FeatureToPolygon).



Any ideas? I'm at a loss on this one.



An alternative that would also work is if I can have all the new polygon features saved in the same directory but this would require each getting a unique name.










share|improve this question
















I have a few hundred folders, each with a set of shapefiles that are identical across folders (ie each folder has a 'lot.shp'). They are all supposed to be polygon features, but unfortunately many are line features.



I am trying to convert all line features to polygons using Feature to Polygon.



To do this I have tried the following code which should work through each folder converting the desired shapefiles and saving back into the same folder but with a '2' in the name:



import arcpy, glob, os

filelist = ['buildingpoly','lot', etc etc]

path = "C:/folder_containing_desired_subfolders/*/"

for x in filelist:
list = glob.glob(path + x + ".shp")
arcpy.FeatureToPolygon_management(in_features=list, out_feature_class=path + x + "2.shp", cluster_tolerance="", attributes="ATTRIBUTES", label_features="")
del list


But this gets the following error:



Runtime error Traceback (most recent call last): File "", line 10, in File "c:program files (x86)arcgisdesktop10.4arcpyarcpymanagement.py", line 2524, in FeatureToPolygon raise e ExecuteError: ERROR 000210: Cannot create output C:/folder_containing_desired_subfolders/*/buildingpoly2.shp Failed to execute (FeatureToPolygon).



Any ideas? I'm at a loss on this one.



An alternative that would also work is if I can have all the new polygon features saved in the same directory but this would require each getting a unique name.







arcpy error-000210






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 49 mins ago









PolyGeo

53.6k1780240




53.6k1780240










asked 2 hours ago









VinceVince

785




785








  • 2





    The asterisk shouldn't appear in your path, consider arcpy.da.Walk() to find the lot.shp in each subfolder and arcpy.Describe shapeType == 'Polyline' to find the line lot.shp files to polygonize.

    – Michael Stimson
    1 hour ago














  • 2





    The asterisk shouldn't appear in your path, consider arcpy.da.Walk() to find the lot.shp in each subfolder and arcpy.Describe shapeType == 'Polyline' to find the line lot.shp files to polygonize.

    – Michael Stimson
    1 hour ago








2




2





The asterisk shouldn't appear in your path, consider arcpy.da.Walk() to find the lot.shp in each subfolder and arcpy.Describe shapeType == 'Polyline' to find the line lot.shp files to polygonize.

– Michael Stimson
1 hour ago





The asterisk shouldn't appear in your path, consider arcpy.da.Walk() to find the lot.shp in each subfolder and arcpy.Describe shapeType == 'Polyline' to find the line lot.shp files to polygonize.

– Michael Stimson
1 hour ago










1 Answer
1






active

oldest

votes


















2














Have a try with this code:



import os, sys, arcpy

path = "C:/folder_containing_desired_subfolders"
filelist = ['buildingpoly','lot', etc etc]

for (Spath,Sfiles,Sdirs) in arcpy.da.Walk():
for ThisFile in Sfiles:
# break up the file name and extension
fName, fExt = os.path.splitext(ThisFile)
if fExt.upper() == '.SHP':
# only for .shp files
if fName.lower() in filelist:
# this fName is in the filelist of interest
# get some info about the shapefile
D = arcpy.Describe(os.path.join(Spath,ThisFile))
if D.shapeType == 'Polyline':
# do your polygonization here
elif D.shapeType == 'Polygon':
# do something for the already polygon feature classes


You say all your shapefiles are in subfolders so using arcpy.da.Walk() to traverse the folder tree, finding all Esri recognized feature classes and rasters then break up the file name and extension to filter by extension and then Describe to see if the feature class is a line or polygon.. this should get you a bit closer to where you're headed.






share|improve this answer























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "79"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f313403%2ffeature-to-polygon-in-multiple-folders%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    Have a try with this code:



    import os, sys, arcpy

    path = "C:/folder_containing_desired_subfolders"
    filelist = ['buildingpoly','lot', etc etc]

    for (Spath,Sfiles,Sdirs) in arcpy.da.Walk():
    for ThisFile in Sfiles:
    # break up the file name and extension
    fName, fExt = os.path.splitext(ThisFile)
    if fExt.upper() == '.SHP':
    # only for .shp files
    if fName.lower() in filelist:
    # this fName is in the filelist of interest
    # get some info about the shapefile
    D = arcpy.Describe(os.path.join(Spath,ThisFile))
    if D.shapeType == 'Polyline':
    # do your polygonization here
    elif D.shapeType == 'Polygon':
    # do something for the already polygon feature classes


    You say all your shapefiles are in subfolders so using arcpy.da.Walk() to traverse the folder tree, finding all Esri recognized feature classes and rasters then break up the file name and extension to filter by extension and then Describe to see if the feature class is a line or polygon.. this should get you a bit closer to where you're headed.






    share|improve this answer




























      2














      Have a try with this code:



      import os, sys, arcpy

      path = "C:/folder_containing_desired_subfolders"
      filelist = ['buildingpoly','lot', etc etc]

      for (Spath,Sfiles,Sdirs) in arcpy.da.Walk():
      for ThisFile in Sfiles:
      # break up the file name and extension
      fName, fExt = os.path.splitext(ThisFile)
      if fExt.upper() == '.SHP':
      # only for .shp files
      if fName.lower() in filelist:
      # this fName is in the filelist of interest
      # get some info about the shapefile
      D = arcpy.Describe(os.path.join(Spath,ThisFile))
      if D.shapeType == 'Polyline':
      # do your polygonization here
      elif D.shapeType == 'Polygon':
      # do something for the already polygon feature classes


      You say all your shapefiles are in subfolders so using arcpy.da.Walk() to traverse the folder tree, finding all Esri recognized feature classes and rasters then break up the file name and extension to filter by extension and then Describe to see if the feature class is a line or polygon.. this should get you a bit closer to where you're headed.






      share|improve this answer


























        2












        2








        2







        Have a try with this code:



        import os, sys, arcpy

        path = "C:/folder_containing_desired_subfolders"
        filelist = ['buildingpoly','lot', etc etc]

        for (Spath,Sfiles,Sdirs) in arcpy.da.Walk():
        for ThisFile in Sfiles:
        # break up the file name and extension
        fName, fExt = os.path.splitext(ThisFile)
        if fExt.upper() == '.SHP':
        # only for .shp files
        if fName.lower() in filelist:
        # this fName is in the filelist of interest
        # get some info about the shapefile
        D = arcpy.Describe(os.path.join(Spath,ThisFile))
        if D.shapeType == 'Polyline':
        # do your polygonization here
        elif D.shapeType == 'Polygon':
        # do something for the already polygon feature classes


        You say all your shapefiles are in subfolders so using arcpy.da.Walk() to traverse the folder tree, finding all Esri recognized feature classes and rasters then break up the file name and extension to filter by extension and then Describe to see if the feature class is a line or polygon.. this should get you a bit closer to where you're headed.






        share|improve this answer













        Have a try with this code:



        import os, sys, arcpy

        path = "C:/folder_containing_desired_subfolders"
        filelist = ['buildingpoly','lot', etc etc]

        for (Spath,Sfiles,Sdirs) in arcpy.da.Walk():
        for ThisFile in Sfiles:
        # break up the file name and extension
        fName, fExt = os.path.splitext(ThisFile)
        if fExt.upper() == '.SHP':
        # only for .shp files
        if fName.lower() in filelist:
        # this fName is in the filelist of interest
        # get some info about the shapefile
        D = arcpy.Describe(os.path.join(Spath,ThisFile))
        if D.shapeType == 'Polyline':
        # do your polygonization here
        elif D.shapeType == 'Polygon':
        # do something for the already polygon feature classes


        You say all your shapefiles are in subfolders so using arcpy.da.Walk() to traverse the folder tree, finding all Esri recognized feature classes and rasters then break up the file name and extension to filter by extension and then Describe to see if the feature class is a line or polygon.. this should get you a bit closer to where you're headed.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 1 hour ago









        Michael StimsonMichael Stimson

        21.5k22360




        21.5k22360






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f313403%2ffeature-to-polygon-in-multiple-folders%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Ponta tanko

            Tantalo (mitologio)

            Franz Schubert