Daugiau

Sukurkite kelių funkcijų sluoksnį ir pridėkite prie MXD


Aš tikrai įstrigau šiam ir, atrodo, negaliu gauti kodo vykdyti. Kiekvieną kartą tai padarius, gaunu klaidą: Įvesties ypatybės: Duomenų rinkinio [u'Test1 '…] nėra arba jis nepalaikomas. Spėju, kad tai yra pastarasis, nes aš išbandžiau kodą naudodamas „arcpy“. Egzistuoja komanda ir kodas vykdomas, bet tinkamai nepildo duomenų rėmo.

Kodas:

importuoti arcpy, os arcpy.env.workspace = r'c:  kelias į geoduomenų bazę 'fcs = arcpy.ListFeatureClasses () mxd = arcpy.mapping.MapDocument (r'C:  path to mxd') DF = arcpy.mapping. „ListDataFrames“ („mxd“, „*“) [0] fc fc: inputlayer = fcs outlayer = os.path.join (* (fcs) + '.lyr') arcpy.MakeFeatureLayer_management (inputlayer, outlayer) layer = arcpy.mapping .Layer (fc) arcpy.mapping.AddLayer (DF, sluoksnis, "AUTO_ARRANGE")

Kai spausdinu fcs, tai sukuria eilutę su „u“ su unicode prieš faktinę vertę. Aš bandžiau konvertuoti jį į ASCII ir gavau šią klaidą: AttributeError: „MapDocument“ objekte nėra atributo „encode“

Kur aš klystu?


Pirmiausia kode yra keletas klaidų:

inputlayer = fcstenka keistiįvesties sluoksnis = fc

Mano nuomone, sintaksė čia neteisinga:os.path.join (* (fcs) + '.lyr')

Čia yra veikiantis jūsų kodo pavyzdys: jis paima „mxd“ failą ir prideda visas funkcijų klases nuo GDB prie „mxd“ failo ir išsaugo:

importuoti arcpy, os arcpy.env.workspace = r "C:  New File Geodatabase.gdb" fcs = arcpy.ListFeatureClasses () mxd = arcpy.mapping.MapDocument (r "C:  1.mxd") DF = arcpy. mapping.ListDataFrames (mxd, '*') [0] for fc in fcs: inputlayer = fc outlayer = os.path.join (fc + '.lyr') print outlayer arcpy.MakeFeatureLayer_management (inputlayer, outlayer) layer = arcpy. mapping.Layer (fc) arcpy.mapping.AddLayer (DF, layer, "AUTO_ARRANGE") mxd.save () del mxd

Sukurkite jūros gimusios sklaidos matricą (PairGrid) naudodami kelis duomenų rinkinius

Turiu duomenų rėmą su kelių skirtingų modelių dirvožemio temperatūros duomenimis, kurių noriu sukurti sklaidos diagramą. Duomenų rėmas atrodo taip:

Duomenys yra suskirstyti pagal modelį (arba stotį), taip pat įtraukiau porą stulpelių, kad galėčiau atskirti duomenis, atsirandančius tarp šalto ar šilto sezono [„Sezonas“], taip pat sluoksnį [„Sluoksnis“], kurį duomenys yra iš.

Mano tikslas yra sukurti sklaidos diagramą su šiomis charakteristikomis:

  1. duomenys spalvoti pagal sezoną (kurį iki šiol sukūriau scenarijuje)
  2. apatinį trikampį sudaro tik duomenys nuo 0 cm iki 30 cm dirvožemio sluoksnio, o viršutinį trikampį sudaro tik duomenys nuo 30 cm iki 300 cm dirvožemio sluoksnio.

Supratau, kaip vienu metu sukurti vieno duomenų rinkinio trikampio / dalies sklaidos matricą, pavyzdžiui, šiame pavyzdyje:

tačiau nesu tikras, kaip kiekviename trikampyje naudoti skirtingą duomenų dalį.

Atitinkamus failus galite rasti čia:

Čia yra atitinkamas kodas

Įtariu, kad gudrybė yra naudoti „PairGrid“ ir nustatyti, kad viena duomenų dalis būtų rodoma žemėlapio viršuje, o kita - žemiau, tačiau šiuo metu nematau būdo, kaip aiškiai suskaidyti duomenis. Pavyzdžiui, ar yra būdas galbūt atlikti šiuos veiksmus?


Žiūrėti video įrašą: Faire une liste des tableaux et figures sur Word en moins de 3 minutes! Scribbr (Spalio Mėn 2021).