Mapdocument - ajutor, arcgis pentru desktop

Informații succinte

discuție

Obiectul MapDocument este unul dintre primele obiecte la care se referă scriptul automatizat al hărții, deoarece acesta este parametrul necesar pentru multe funcții arcpy.mapping. Prin utilizarea obiectului MapDocument, puteți accesa în cele din urmă aproape toate celelalte obiecte din documentul hărții (de exemplu, la cadrele de date, straturile, elementele de aspect al paginii). Obiectul MapDocument oferă acces la majoritatea proprietăților documentului de hartă prin intermediul casetei de dialog Map Document Properties din ArcMap (File> Map Document Properties). Acest obiect conține, de asemenea, metode de gestionare a documentelor de hartă și metodele de stocare a documentelor de hartă, care pot fi găsite în meniul Fișier al ArcMap.







A doua modalitate este de a utiliza cuvântul cheie CURRENT ca parametru de intrare al funcției MapDocument. Această metodă funcționează numai în aplicația ArcMap, deoarece obiectul MapDocument se referă la documentul de hartă care este în prezent încărcat în aplicația ArcMap. Utilizarea CURRENT este foarte utilă atunci când testați rapid și examinați capabilitățile scripturilor și sintaxei de comandă într-o fereastră Python. Puteți începe să studiați sintaxa în fereastra Python și apoi introduceți aceste linii de cod în scripturi stocate pe disc.

Instrumente Script care utilizează cuvântul cheie CURRENT. ar trebui să fie rulat în ArcMap (din meniul utilizatorului sau din fereastra Catalog). Instrumente Script care utilizează CURRENT. nu va funcționa corect atunci când porniți din aplicația ArcCatalog. Din același motiv, dacă instrumentul are un script de testare cu un link către CURRENT. Este posibil să apară o eroare dacă încercați să modificați scriptul de scanare în ArcCatalog. Asigurați-vă că modificați codul de verificare din fereastra Catalog ArcMap.

Pentru a utiliza cuvântul cheie CURRENT în instrumentul de script, trebuie să dezactivați procesarea de fundal. Cu procesarea de fundal, toate scripturile sunt executate ca și când scripturile autonome sunt în afara aplicației ArcGIS, astfel încât CURRENT nu va funcționa cu procesarea de fundal activată. O nouă opțiune este disponibilă pentru instrumentul de script, Întotdeauna se execută în fundal (Always run in foreground). care asigură că instrumentul va funcționa întotdeauna în modul activ, chiar dacă este activată procesarea de fundal.

În cazul în care scrierea de script-ul este folosit pentru modificarea hărții afișa unele elemente ale unui document cu ajutorul unui card de documentul curent (de exemplu, stratul de schimbare nume, amploarea cadrului de date și așa mai departe), cardul nu poate fi actualizată automat când execuția fiecărei linii de cod. Pentru a actualiza documentul de hartă cu modificările afișate, utilizați fie funcția RefreshActiveView. sau funcția RefreshTOC. Aceste funcții vor actualiza afișarea formatului hărții sau a paginii, respectiv a cuprinsului. Funcțiile de actualizare sunt necesare numai atunci când doriți ca aplicația dvs. să fie actualizată. Funcții arcpy.mapping de export, salvați și imprimarea va genera rezultatele așteptate sunt actualizate fără a utiliza aceste funcții.

Unele straturi ale documentului de hartă sau ale fișierului cu straturi pot avea protecție prin parolă, deoarece numele de utilizator și parola nu sunt stocate împreună cu fișierul stratului sau documentul de hartă. Documentele de hărți care conțin astfel de straturi necesită introducerea parolei când o deschideți. În mediul scriptului arcpy.mapping, aceste casete de dialog nu sunt afișate în mod implicit, dar aceasta înseamnă că straturile vor fi tratate ca având surse de date corupte. Cu alte cuvinte, straturile protejate nu vor fi afișate în datele de ieșire. Dacă doriți ca aceste straturi să fie afișate corect, puteți utiliza mai multe opțiuni. Mai întâi, salvați numele de utilizator și parola împreună cu stratul. Apoi, funcția de geoprocesare CreateArcSDEConnectionFile va crea o conexiune care va fi în memorie. Dacă această comandă este utilizată înainte de a deschide un document de hartă (.mxd) utilizând funcția MapDocument sau un fișier de strat folosind Layer. straturile SDE vor fi afișate corect. În prezent, nu există altă cale pentru servicii securizate web.







O variabilă care face referință la un obiect MapDocument include blocarea fișierului documentului de hartă. Se recomandă să ștergeți referința la obiectul MapDocument folosind comanda Python del la sfârșitul scriptului sau în instrucțiunea Python try / except.

Modificarea surselor de date într-un document de hartă este o cerință generală. Există două metode pentru obiectul MapDocument. care contribuie la acest lucru. Metoda findAndReplaceWorkspacePaths este utilizată pentru a înlocui o parte sau întreaga cale a unui spațiu de lucru al unui strat sau tabel. Metoda replaceWorkspaces vă permite să modificați nu numai calea, ci și tipul spațiului de lucru. Pentru o descriere mai detaliată, informații despre parametri, scripturi și cod exemplu, consultați subiectul Actualizarea și captarea surselor de date utilizând modulul arcpy.mapping.

Returnează un obiect DataFrame. conținând cadrul activ în prezent al datelor documentului de hartă (.mxd). Proprietatea activDataFrame returnează un cadru de date adecvat, chiar dacă documentul hărții este în modul layout. Dacă doriți să setați cadrul de date activ, utilizați proprietatea activView.

(citiți și scrieți)

Oferă posibilitatea de a instala sau de a recupera forma activă a unui document de hartă - atât tipul de date, cât și aspectul paginii. Proprietatea funcționează cu un șir care conține numele cadrului de date activ sau cuvântul de cod PAGE_LAYOUT.

Dacă proprietatea activăView este PAGE_LAYOUT și documentul hărții este salvat, documentul de hartă va fi deschis în modul de conectare data viitoare. Dacă numele cadrului de date este setat pentru vizualizarea activă și documentul hărții este salvat, documentul de hartă va fi deschis data viitoare în modul de vizualizare a datelor, iar cadrul specific de date va fi activ.

(citiți și scrieți)

Un șir care conține calea dorită spre spațiul de lucru sau fișierul de conexiune. Dacă un șir gol este trecut, toate căile de spațiu de lucru vor fi înlocuite, iar parametrul new_workspace_path va depinde de valoarea parametrului validat.

Un cuvânt cheie care reprezintă tipul de spațiu de lucru al datelor vechi înlocuite. Dacă este trecut un șir gol, puteți redirecționa mai multe zone de lucru într-o zonă de lucru.

  • ACCESS_WORKSPACE - Geodatabază personală sau Spațiu de lucru acces
  • ARCINFO_WORKSPACE - Zona de lucru Acoperire ArcInfo
  • CAD_WORKSPACE - zona de lucru a fișierului CAD
  • EXCEL_WORKSPACE - Zona de lucru a fișierului Excel
  • FILEGDB_WORKSPACE - Aria de lucru a sistemului de fișiere geodatabase
  • Nicio comprimare (NONE) - folosită pentru a sări peste parametru
  • OLEDB_WORKSPACE - zona OLE pentru baza de date operațională
  • PCCOVERAGE_WORKSPACE - zona de lucru PC PCC / INFO
  • RASTER_WORKSPACE - zona de lucru a rasterului
  • SDE_WORKSPACE-SDE zona de lucru geodatabase
  • SHAPEFILE_WORKSPACE - zona de lucru a fileului de forma
  • TEXT_WORKSPACE - zona de fișiere text de lucru
  • Zona de lucru TIN_WORKSPACE-NT
  • VPF_WORKSPACE - zona VPF de operare

Un șir care reprezintă o nouă cale a zonei de lucru sau un fișier de conexiune.

Un cuvânt cheie șir reprezentând tipul de spațiu de lucru care va înlocui tipul vechiului spațiu de lucru.

  • ACCESS_WORKSPACE - Geodatabază personală sau Spațiu de lucru acces
  • ARCINFO_WORKSPACE - Zona de lucru Acoperire ArcInfo
  • CAD_WORKSPACE - zona de lucru a fișierului CAD
  • EXCEL_WORKSPACE - Zona de lucru a fișierului Excel
  • FILEGDB_WORKSPACE - Aria de lucru a sistemului de fișiere geodatabase
  • OLEDB_WORKSPACE - zona OLE pentru baza de date operațională
  • PCCOVERAGE_WORKSPACE - zona de lucru PC PCC / INFO
  • RASTER_WORKSPACE - zona de lucru a rasterului
  • SDE_WORKSPACE-SDE zona de lucru geodatabase
  • SHAPEFILE_WORKSPACE - zona de lucru a fileului de forma
  • TEXT_WORKSPACE - zona de fișiere text de lucru
  • Zona de lucru TIN_WORKSPACE-NT
  • VPF_WORKSPACE - zona VPF de operare

Dacă este setat la True. Spațiul de lucru este actualizat numai dacă valoarea new_workspace_path este o zonă de lucru valabilă. Dacă valoarea nu este validă, spațiul de lucru nu este înlocuit. Dacă este setat la False. Metoda stabilește toate spațiile de lucru ca new_workspace_path, indiferent de potrivirile acesteia. În acest caz, dacă nu există potriviri, sursele de date sunt corupte.

(Valoarea implicită este True)

Pentru o descriere mai detaliată, informații despre parametri, scripturi și cod exemplu, consultați subiectul Actualizarea și captarea surselor de date utilizând modulul arcpy.mapping.

  • 10.3 - versiunea 10.3
  • 10.1 - versiunea 10.1 / 10.2
  • 10.0-Versiunea 10.0
  • 9.3-Versiunea 9.3
  • 9.2-Versiunea 9.2
  • 9.0 - versiunea 9.0 / 9.1
  • 8.3-Versiunea 8.3

(Valoarea implicită este None)

Cod exemplu

MapDocument, Exemplul 1
MapDocument, exemplul 2

Următorul script demonstrează modul în care puteți utiliza cuvântul cheie CURRENT în fereastra Python. În acest exemplu, vom actualiza numele primului cadru de date și tabela de conținut, astfel încât modificările să poată fi văzute în aplicație. Introduceți următorul cod în fereastra Python în noul document ArcMap.

Când este inserat într-o fereastră interactivă, se pare că aceasta se întâmplă. Cele trei puncte din stânga codului de blocare indică faptul că liniile reprezintă un singur bloc de cod și toate sunt difuzate împreună. Apăsați Enter pentru a executa aceste linii.

MapDocument, exemplul 3

Veți vedea un alt script simplu care demonstrează utilizarea cuvântului cheie CURRENT în fereastra Python. Numele fiecărui strat va fi afișat în fereastra Python. Ciclurile sunt, de asemenea, permise, cu condiția să păstrați profilul corect. Introduceți următorul cod în fereastra Python, ca în exemplul anterior.

Când este inserat într-o fereastră interactivă, se pare că aceasta se întâmplă. Apăsați din nou tasta Enter pentru a executa liniile.

MapDocument, exemplu 4

Următorul script vă permite să afișați corect straturile protejate creând o conexiune SDE în memorie înainte de a deschide un document de hartă pentru care este necesară o parolă. Acest script stabilește pur și simplu informațiile de conectare și exporta documentul de hartă într-un fișier PDF. Se recomandă să eliminați această legătură din memorie înainte de a închide scriptul.







Trimiteți-le prietenilor: