Daugiau

Naudojate paieškos žymeklį su „ArcPy“ ir „Spyder“?


Neseniai įdiegiau „ArcGIS 10.3.1“ (anksčiau buvo įdiegta 10.1) ir bandau paleisti scenarijų „Spyder 2.7“, kuris visada veikė, ir gaunu toliau nurodytą klaidą:

„Atsekimas (paskutinis paskutinis skambutis): failas““, 1 eilutė, į  perimCur = arcpy.SearchCursor (subwatSubPath + subwatPerimsSub [i]) Failas "C:  Program Files (x86)  ArcGIS  Desktop10.3  arcpy  arcpy  __ init__.py", 1179 eilutė, SearchCursor grąžinti gp.searchCursor (duomenų rinkinys , kur_clause, spatial_reference, laukai, sort_fields) Failas "C:  Program Files (x86)  ArcGIS  Desktop10.3  arcpy  arcpy  geoprocessing  _base.py", 359 eilutė, paieškoje Kursorius self._gp.SearchCursor (*gp_fixargs (args, tiesa))) RuntimeError: KLAIDA 999999: Klaida vykdant funkciją. "

Bandžiau iš naujo įdiegti „ArcGIS“ ir „Spyder xy“, bet vis tiek gaunu tas pačias klaidas. Plačiai ieškojęs internete, nerandu sprendimo, nors įtariu, kad tai gali būti kelio problema. Ar kas nors gali padėti nustatyti problemą?

Nežinau, ar tai susiję, bet kai importuoju iš erdvinio analitiko modulio skambindamasiš arcpy.sa importo *Gaunu įspėjimą, kuriame teigiamanegali aptikti neapibrėžtų vardų.


Savo komentare tai rašaisubwatSubPathyrau'C: Users Cameron Desktop pythonWorkspace subwat/subwat_sub30/'. Tai keistai atrodantis failo kelias dėl besikeičiančių brūkšnių krypčių. Norėčiau, kad jie būtų nuoseklūs (pvz., Visi\, arba tiesiogbet pridedant eilutę surnurodyti, kad jis yra žalias ir kad pabėgtireikia ignoruoti, pvzr "c: foo bar"). Taip pat apsvarstykite, vietoj tosubwatSubPath + subwatPerimSub [i], daro:

mypath = os.path.join (subwatSubPath, subwatPerimSub [i])

nes tai rūpinasi, kad jūsų keliai būtų prasmingi vietinei OS („Windows“ čia).

Be to, kolarcpy.SearchCursor ()turėtų veikti, jis nebenaudojamas, o naujas būdas gauti paieškos žymeklį yraarcpy.da.SearchCursor (in_table, field_names, {where_clause}, {spatial_reference}, {Explode_to_points}, {sql_clause})-žr. http://desktop.arcgis.com/en/desktop/latest/analyze/python/data-access-using-cursors.htm