Improve Usability of arcpy.da.walk

Idea created by Richard.Howe on Jul 5, 2019
    Reviewed
    Score70
    • Hornbydd
    • geography.fera
    • birchpeter
    • Richard.Howe
    • JB1234510
    • Lee.butler
    • earnshawgetech

    The addition of the arcpy walk fuction at 10.1 was a great help in replacing the ListFeatureClasses and ListDatasets functionality which are incredibly slow for large numbers of datasets within a workspace.

     

    However, the results of the walk are not particularly intelligent. They don't contain useful properties such as dataset type. Therefore to ascertain type you have to put a filter on the walk function (rather than filtering the results) which has a massively detrimental effect on speed.

     

    For example when running on a sample gdb containing ~5000 datasets arcpy.da.walk will return a dataset list in approx. 10 seconds when run without a dataset type filter. However, once the filter is added to the walk it takes several hours (somewhat counter-intuitive as it returns a smaller list)!

    There must be a way to quickly access this information without deep diving into every dataset (which is what I suspect it is doing), as ArcCatalog displays this information within seconds in the "Type" column.

     

    It would be very useful to have a more efficient pythonic way to get at dataset type!