arcpy.env.workspace not working in django. Its throwing this error AttributeError: ERROR 87934

52 Views Asked by At
class get_FeatureClassView(viewsets.ViewSet):

def list(self, request, projectname):

    sgeometry = {}  # Corrected variable name
    tgeometry = {}  # Corrected variable name

    project_path = config.get('Paths', 'project_path')
    template_dir = config.get('Paths', 'template_dir')

    # project_path = r"D:\sreeraj\project\unbridge_backEnd"  # Use a raw string or double backslashes
    project_path1 = os.path.join(project_path, projectname)
    print(project_path1)
    print(project_path)
    source_path = os.path.join(project_path1, "sourcegdb")  # Use os.path.join for path concatenation
    print("----------", source_path)
    source_gdb = os.listdir(source_path)[0]
    print("source_gdb", source_gdb)
    source_gdb_path = os.path.join(source_path, source_gdb)
    print("sourceGDBPath", source_gdb_path)
    self.source_gdb_path = source_gdb_path

    target_path = os.path.join(project_path1, "targetgdb")  # Use os.path.join for path concatenation
    target_gdb = os.listdir(target_path)[0]
    target_gdb_path = os.path.join(target_path, target_gdb)
    print("target_gdb_path", target_gdb_path)

    arcpy.env.workspace = source_gdb_path
    sourcefeature_classes = arcpy.ListFeatureClasses()
    #sourcefeature_classes.sort()
    print(sourcefeature_classes)

    for feature_class in sourcefeature_classes:
        desc = arcpy.Describe(feature_class)
        geometry_type = desc.shapeType
        sgeometry[feature_class] = geometry_type

    arcpy.env.workspace = os.path.join(target_gdb_path, "UtilityNetwork")  # Use os.path.join for path concatenation
    targetfeature_classes = arcpy.ListFeatureClasses()
    #targetfeature_classes.sort()
    print(targetfeature_classes)

    for feature_class in targetfeature_classes:
        desc = arcpy.Describe(feature_class)
        geometry_type = desc.shapeType
        tgeometry[feature_class] = geometry_type


    featureclasslist = {
        "sourcefeature_classes": sgeometry,
        "targetfeature_classes": tgeometry
    }

    print(featureclasslist)
    return JsonResponse(featureclasslist)   

This throwing this error Traceback (most recent call last): File "C:\Users\sv67808\AppData\Local\miniconda3\envs\arcproenv\lib\site-packages\django\core\handlers\exception.py", line 55, in inner response = get_response(request) File "C:\Users\sv67808\AppData\Local\miniconda3\envs\arcproenv\lib\site-packages\django\core\handlers\base.py", line 197, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\sv67808\AppData\Local\miniconda3\envs\arcproenv\lib\site-packages\django\views\decorators\csrf.py", line 54, in wrapped_view return view_func(*args, **kwargs) File "C:\Users\sv67808\AppData\Local\miniconda3\envs\arcproenv\lib\site-packages\rest_framework\viewsets.py", line 125, in view return self.dispatch(request, *args, **kwargs) File "C:\Users\sv67808\AppData\Local\miniconda3\envs\arcproenv\lib\site-packages\rest_framework\views.py", line 509, in dispatch response = self.handle_exception(exc) File "C:\Users\sv67808\AppData\Local\miniconda3\envs\arcproenv\lib\site-packages\rest_framework\views.py", line 469, in handle_exception self.raise_uncaught_exception(exc) File "C:\Users\sv67808\AppData\Local\miniconda3\envs\arcproenv\lib\site-packages\rest_framework\views.py", line 480, in raise_uncaught_exception raise exc File "C:\Users\sv67808\AppData\Local\miniconda3\envs\arcproenv\lib\site-packages\rest_framework\views.py", line 506, in dispatch response = handler(request, *args, **kwargs) File "D:\Unbridge\UNBridge_Backend_Django\UNBridge\UNBapp\views.py", line 392, in list arcpy.env.workspace = source_gdb_path File "D:\software\Resources\ArcPy\arcpy\geoprocessing_base.py", line 543, in set self[env] = val File "D:\software\Resources\ArcPy\arcpy\geoprocessing_base.py", line 607, in setitem ret_ = setattr(self._gp, item, value) AttributeError: ERROR 87934

I tried to access ESRI file geodatabase using acpy libraty in django.But its throwing error.

0

There are 0 best solutions below