Ich versuche, ein Shapefile mit dem Restapi-Modul für Python vom Feature-Server zu exportierenPython

Python-Programme
Guest
 Ich versuche, ein Shapefile mit dem Restapi-Modul für Python vom Feature-Server zu exportieren

Post by Guest »

Ich versuche, ein Shapefile von einem ArcGIS-Feature-Server herunterzuladen, um es mithilfe von Geopandas zu manipulieren. Ich bin auf das Restapi-Python-Modul gestoßen, das ziemlich benutzerfreundlich zu sein scheint, aber ich habe Schwierigkeiten beim Exportieren einer Ebene.
Hier ist der Code, den ich ausprobiert habe. Ich habe einige Änderungen vorgenommen, aber immer noch kein Glück.

Code: Select all

import restapi
Stellen Sie eine Verbindung zum USDOT REST-Server her

Code: Select all

tracts_url = 'https://services.arcgis.com/xOi1kZaI0eWDREZv/ArcGIS/rest/services/Transportation_Cost_Burden_Census_Tracts/FeatureServer/0'
tracts = restapi.FeatureLayer(tracts_url)
Shapefile exportieren

Code: Select all

tracts.export_layer('C:/Users/03760/Documents/PythonStuff/cost_burdened_tracts.shp')
Hier ist meine Fehlermeldung:

AttributeError Traceback (letzter Aufruf zuletzt)
c:\Users\03760\Documents\PythonStuff.venv\lib\site-packages\restapi\rest_utils.py in getattr(self, name)
858 # Es ist ein Klassenattribut
--> 859 Rückgabeobjekt.getattribute(self, name)
860 außer AttributeError:
AttributeError: Das Objekt „FeatureCollection“ hat kein Attribut „Felder“.

Während der Behandlung der oben genannten Ausnahme ist eine weitere Ausnahme aufgetreten:

AttributeError Traceback (letzter Aufruf zuletzt)
~\AppData\Local\Temp\ipykernel_5700\447033721.py in
7
8 # Shapefile exportieren
----> 9 tracts.export_layer('C:/Users/03760/Documents/PythonStuff/cost_burdened_tracts.shp')
10
11 # Zugriff auf die kostenbelastete Zählungstraktebene
c:\Users\03760\Documents\PythonStuff.venv\lib\site-packages\restapi\common_types.py in export_layer(self, out_fc, Fields, Where, Records, Exceed_limit, sr, include_domains, include_attachments, qualifizierte_Feldnamen, Chunk_size, **kwargs)
2154 # beliebige Domain-Informationen abrufen
2155 f_dict = {f.name: f für f in self.fields}
-> 2156 für Feld in fs.fields:
2157 if field:
2158 field.domain = f_dict [field.name].get(DOMAIN)
...
--> 865 raise AttributeError(name)
866
867 def str(self):
AttributeError: Fields

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post