Vairāk

Pārdēvēt atvērto MXD, izmantojot ArcPy?

Pārdēvēt atvērto MXD, izmantojot ArcPy?


Vai ArcPy ir metode, kas pārdēvēs MXD jūs pašlaik ir atvērts? Es negribu izmantotmxd.saveACopy ("newFileName")jo tas tikai saglabās KOPIJU ar jaunu nosaukumu, nevis pārdēvēs pašreizējo MXD.

Būtībā es vēlos metodi, kas atkārtotu File> Save As> "newFileName.mxd" procesu.

os.rename () paradis nedarboties, jo dokuments šobrīd ir atvērts.

Vai tas ir tikai vienkāršs gadījums nevar izdarīt ar ArcPy, izmantojiet ArcObjects?


Kā komentēja @MichaelStimson:

Diemžēl piekļuves failiem dēļ (MXD ir atvērts) to nevar pārdēvēt ar jebkuru metodi. Lai veiktu pārdēvēšanu, jums jāaizver fails ... tas ir operētājsistēmas ierobežojums, nevis arcpy vai python ierobežojums. Kā risinājumu varat saglabāt kopiju un pēc tam izdzēst oriģinālu.

[un uz jautājumu par ArcObjects, nevis ArcPy / Python]

Nē, operētājsistēma jums to neļaus. Atverot failu (šajā gadījumā MXD), lietojumprogrammai (ArcMap) failā ir slēdzenes, kuras pamatā esošā operētājsistēma ir nolasāma; kas notiktu, ja atvērtu dokumentu un mēģinātu to pārdēvēt pārlūkprogrammā Explorer? No operētājsistēmas tiek parādīta kļūda 32. Saglabājot kopiju, ArcMap nepārslēdzas uz jauno MXD, tas jādara pats; katram ArcMap gadījumam var būt atvērts tikai viens MXD, tāpēc vecais ir aizvērts (slēdzenes noņemtas), kuras pēc tam var izdzēst.


Matplotlib.pyplot.show () avarē ArcGIS

Es veidoju pielāgošanas rīkus arkgis. Es gribu parādīt dažas diagrammas arkgis, kuras izveidoja matplotlib.

Viss darbojas labi, diagrammas kannu var pat saglabāt pareizi, izņemot gadījumus, kad es parādīju sižetu caur plt. show (), ArcGIS uzkaras, un man tas jāpiespiež aizvērt ar Task Manager.

Mainot plt.show () uz plt.show (block = False), sižets ir jābloķē, taču tas arī avarē ArcMap ar Runtime Error.

Es strādāju ar Windows 7 un ArcGIS 10.1.

Kodi ir apmēram šādi:

importa matplotlib. pyplot kā plt

fig = plt. skaitlis ()
plt. sižets (diapazons (10), diapazons (10))

plt. xlabel (xLabelName, fontsize = 14)

plt. ylabel (yLabelName, fontsize = 14)

plt.title (str (Titel), fontsize = 16)

Tā kā matplotlib pēc noklusējuma izmanto TKinter, logs tiek parādīts no plt. parādīt () avarē ArcGIS.

Problēma mani satrauc jau vairākas dienas. Es ļoti novērtēšu idejas par to, kā es varu atrisināt šo problēmu.

autors Džeimss Krandals

Kā alternatīvu, kāpēc ne tikai ļaut noklusējuma attēlu skatītājam atvērt sižetu?

by DanPatterson_Re noguris

Iespējams, ka tas tā arī paliks, jo neviens nevar atkārtot problēmu tikai ar daļēju kodu.

Esmu papildinājis kodu.

by DanPatterson_Re noguris

Tātad triks ir atrast kļūdas avotu. Es rediģēju kodu, lai to vienkāršotu.

Būtībā es atbrīvojos no visām šīm reklāmguvumu lietām un mēģināju iegūt izvadi kā diagrammu (skatīt attēlu) un kā failu (skatīt failu).

Tas strādā. ergo. jūsu problēma ir saistīta ar ievadiem, izmantojot šo ConversionUtils saturu. Vismaz jums ir sākuma punkts.

Jā, kā esat mēģinājis, tas darbojas arī tikai ar pitonu IDLE.

Tā kā es izmantoju kodu kā pielāgošanas rīka avotu, tāpēc man ir jāizmanto šis ConversionUtils). Problēma ir: matplotlib tā aizmugurē izmanto Tkinter. Man ir bijušas problēmas palaist Tkinter logus no ArcMap.

by DanPatterson_Re noguris

Jā, Tkinter izraisīs avārijas, tikai google "tkinter arcmap crash" dažiem piemēriem.

Ir arī ziņas par alternatīvām, piemēram, pitona pievienojumprogrammām

Bet praktiski jums būtu labāk, ja izmantotu parasto vai pitona rīkjoslu, lai iegūtu ievades parametrus, nevis atkārtoti izgudrotu riteni citā dialoglodziņā, ja plānojat to izmantot loka kartē

Mani ievades parametri izmanto parasto GUI, izmantojot ConversionUtils.gp.GetParameterAsText.

Tkinter logs ir izvades logs, kas tiek atvērts caur plt. izrāde ().

Pēc rīka / skripta palaišanas tas parāda papildu logu ar diagrammas diagrammu. Gluži kā izlaide IDLE.

Tad es vēlos izmantot šo izvades logu. Pēc tam, kad esmu izmantojis pogu Pan / Zoom, pēc tam šajā logā noklikšķiniet uz pogas Saglabāt, tā avarē arcgis. Diagrammu nevar saglabāt, izmantojot šo pogu, bet es vēlos.


Lejuplādēt tagad!

Mēs esam atvieglojuši PDF e-grāmatu atrašanu bez jebkādas rakšanas. Un, piekļūstot mūsu e-grāmatām tiešsaistē vai glabājot tos datorā, jums ir ērtas atbildes, izmantojot Gis A Lita ceļvedi. Lai sāktu atrast darbu ar Gis A Lita Guide, jums ir taisnība, ka atrodat mūsu vietni, kurā ir iekļauta visaptveroša rokasgrāmatu kolekcija.
Mūsu bibliotēka ir lielākā no tām, kurā ir pārstāvēti simtiem tūkstošu dažādu produktu.

Visbeidzot, es saņēmu šo e-grāmatu, paldies par visiem šiem darba sākšanas veidiem, ko es varu iegūt tūlīt!

Es nedomāju, ka tas izdosies, mans labākais draugs man parādīja šo vietni, un tā arī darbojas! Es saņemu savu visvairāk meklēto e-grāmatu

wtf šo lielisko ebook par velti ?!

Mani draugi ir tik traki, ka nezina, kā man ir visas augstas kvalitātes e-grāmatas, kuras viņiem nav!

Ir ļoti viegli iegūt kvalitatīvas e-grāmatas)

tik daudz viltotu vietņu. tas ir pirmais, kas strādāja! Liels paldies

wtffff es to nesaprotu!

Vienkārši atlasiet klikšķi un pēc tam lejupielādes pogu un izpildiet piedāvājumu, lai sāktu lejupielādēt e-grāmatu. Ja ir kāda aptauja, tas aizņem tikai 5 minūtes, izmēģiniet jebkuru jums piemērotu aptauju.


Vērtību tabulas

Vērtību tabula ir daudzu kolonnu tabula, ko daudzos citos izmanto rīkos Krustot un Apvienot. Zemāk redzamajā attēlā parādīts rīks Krustoties, un tā parametrs Ievades funkcijas ir Vērtību tabula ar divām kolonnām: Funkcijas un Rangs.

Vērtību tabulas nav transportējamas, un to ievades režīms pakalpojuma redaktorā tiks fiksēts kā Nemainīga vērtība.

Ja jums ir nepieciešams, lai klients ievadītu vērtības, nevis izmantotu nemainīgo vērtību, jums būs jāpārveido modelis vai skripts, lai tajā bez Vērtību tabulas tiktu izmantoti citi datu tipi.

Vērtību tabulās var būt jebkurš rindu skaits, un tas, kā jūs modificējat savu rīku, ir atkarīgs no tā, vai vēlaties, lai klients ievadītu fiksētu vai mainīgu rindu skaitu. Ja kādā no vērtību tabulas kolonnām ir datu kopas, būs jānosaka rindu skaits, jo katrai rindai būs nepieciešams savs parametrs, lai saturētu datu kopu.

  1. Izveidojiet divus garā tipa atsevišķus mainīgos. Pārdēvējiet tos un padariet tos modeļa parametrus.
  2. Atveriet rīku Krustoties un slejā Rangos noklikšķiniet uz šūnas, kā parādīts zemāk. Varēsiet izvēlēties vienu no diviem jūsu izveidotajiem garajiem mainīgajiem.

Jūs vienmēr varat izveidot skripta rīku, kas pieņem atsevišķas ievades, skriptā izveido parametru Vērtību tabula un pēc tam izsauc rīku. Zemāk redzamais kods veic divu pazīmju klases krustojumu, neizmantojot parametru Vērtību tabula.

Tālāk sniegtajā piemērā tiek izmantots rīks Izšķīdināt, lai parādītu, izmantojot vērtību tabulas parametru virknes attēlojumu un mainīgu rindu skaitu. Rīks Izšķīdināt pieņem objektu klasi vai līniju vai daudzstūru slāni un apkopo pazīmes, pamatojoties uz vērtībām vienā vai vairākos lauka parametros Izšķīdināt lauku (-us). Apkopošanas laikā varat aprēķināt statistiku par apkopotajām funkcijām, izmantojot parametru Statistikas lauks (-i) - vērtību tabulu.

Kamēr klients norāda izšķīdināšanas laukus un statistikas laukus, kas atrodami viņu ievades līdzekļos, uzdevums tiks izpildīts. Lai to izdarītu, jums jāizveido skripta rīks, kas pieņem lauka (-u) un statistikas lauku (-u) parametru virknes attēlojumu, nevis uzrāda ievades funkciju shēmā esošo lauku izvēles sarakstu. Faktiski jūs apiet intelektu, kas iebūvēts rīku dialoglodziņos un Pakalpojumu redaktorā, un izpildāt rīku, izmantojot tikai parametru virknes attēlojumu.

Kad šis skripta rīks ir izpildīts, jūs norādīsit virknes attēlojumu lauka (-u) un statistikas lauku (-u) parametriem. Izmantojot iepriekš sniegto ilustrācijas piemēru, izšķīdiniet lauku (-us) = apgabals un statistikas laukus (-us) = POP98 SUMNAME FIRST. (Sīkāku informāciju par to, kā atrast datu veida virknes attēlojumu, skatiet iepriekš.) Pakalpojuma redaktorā abus parametrus varat iestatīt uz lietotāja definētu vērtību, jo tie ir virknes.


Skatīties video: ArcMap to ArcGIS Pro 06 - aprx to mxd. burdGIS