Бештар

Скрипт ё коди сохтани бастаи харита arc gis, mpk

Скрипт ё коди сохтани бастаи харита arc gis, mpk


Ман кумак меҷӯям ё агар касе скрипт ё асбобе дошта бошад, ки дар ҷузвдони додашудаи MXD гузарад ва файлҳои MPK-ро бо ҳамин ном эҷод кунад.

ман ин қадар таҷрибаи эҷоди скриптҳо ё истифодаи равзанаи python надорам. Ман саволи қаблиро дар поён ёфтам

тавсифи истинодро дар ин ҷо ворид кунед

Дар куҷо он муфассал ESRI, саҳифаи кӯмак барои идоракунии маълумот

тавсифи истинодро дар ин ҷо ворид кунед

Ман кӯшиш кардам, ки рамзи равзанаи python -ро барои тағир додани рамз барои мисолҳои худ ворид кунам, аммо ман ҳамеша паёми хатогии гуногун мегирам. Ман боварӣ надорам, ки чӣ кор мекунам. Ман боварӣ надорам, ки параметрҳо барои асбоби воқеӣ насб карда шаванд. ман фикр мекардам, ки шояд касе ин корро карда бошад.


Ин аст скрипте, ки ман дар асоси мисол навиштам Харитаи бастаҳо (Идоракунии маълумот).
Он якчанд тағиротҳое дорад, ки шумо бояд аз онҳо огоҳ бошед. Он ҳама rasters-ро аз mxds хориҷ мекунад ва хулосаи зарурӣ, тавсиф ва барчаспҳоро ба номи MXD таъин мекунад. Ин файлҳои сарчашмаи шуморо тағир медиҳад, бинобар ин онҳоро нусхабардорӣ кунед.
Он инчунин танҳо ба директорияи ягона менигарад ва файли хурди CSV месозад, ки ҳама гуна хатогиҳоро бо mxds муайян мекунад.
Барои боздоштани растерсҳо, хориҷ кардани сатрҳои 54-58.
Ин скрипт аз сатри фармонии windows бо иҷро карда мешавадпитон .pyПас, ба шумо лозим аст, ки python.exe-ро бо ArcGIS дохил карда, ба системаи PATH илова кунед. ЯқинC: Python27 ArcGIS10.2

# Воридоти модулҳои зарурии python аз arcpy воридоти env import os.path воридоти glob сатри воридотӣ traceback # Баъзе тағирёбандаҳоро барои вуруди MXD чоп кунед 'Setting Paths' path = raw_input ('Роҳи файл ба ҷузвдони дорои MXDs:' ) роҳи чопи mxdList = glob.glob (os.path.join (path, '* .mxd')) print 'Paths Set' env.workspace = path arcpy.env.scratchWorkspace = path env.overwriteOutput = arcpy.gp. overwriteOutput = True outputcsv = path + "OutputLog_MXDs.csv" outFile = кушода (outputcsv, "w") outFile.write ("MXD" + "," + "Status" + "," + "Error" + " n" ) successcount = 0 failcount = 0 # Модул барои муқаррар кардани Тавсифот, Ҷамъбаст ва Тэгҳо барои mxd. барои номи файл дар mxdList: кӯшиш кунед: mxdname = номи файл mxd = arcpy.mapping.MapDocument (номи файл) mxdleft = str (string.lstrip (номи файл, роҳ)) mxdname = str (string.rstrip (mxdleft, ".mxd")) чоп 'Коркарди' + mxdname + ' n' mxd.description = mxdname print "Description =" + mxd.description mxd.summary = mxdname print "Summary =" + mxd.summary mxd.tags = mxdname print "Tag =" + mxd .tags + ' n' # MXD-ро захира кунед mxd.save () # Акнун mxd-ро бастабанд кунед # Чаҳорчӯби маълумотро хонед, қабатҳои растриро муайян кунед ва онҳоро нест кунед. print 'Reading Frames Data…' DF = arcpy.mapping.ListDataFrames (mxd) print '… Found' + str (len (DF)) + 'Frames Data' + ' n' for DF in arcpy.mapping.ListDataFrames (mxd) ): DFname = DF.name print "Processing -" + str (DFname) lyrs = arcpy.mapping.ListLayers (mxd) for lyrs in arcpy.mapping.ListLayers (mxd): if lyrs.isBroken: print lyrs.name + " шикастааст. " break if lyrs.isRasterLayer: print "Found Raster -" + str (lyrs) # Қисми воқеӣ нест кардани растр, бо истифода аз чаҳорчӯбаи маълумот (DF) ва қабати (lyrs) arcpy.mapping.RemoveLayer (DF, lyrs) print str (lyrs) + "хориҷ" # Пас аз тағиротҳо, мо бояд MXD-ро сабт кунем. mxd.save () print ' n' + "Ҳама Rasters хориҷ карда шуданд" print " n" + "Packaging" + mxdname arcpy.PackageMap_management (filename, os.path.splitext (filename) [0] + '.mpk', "CONVERT", "CONVERT_ARCSDE", "#", "ALL") чоп кардани mxdname + "Маҷмӯаи бомуваффақият" муваффақият + = 1 outFile.write (mxdname + "," + "Бастаи" + "," + "Ҳеҷ" + "  n ") del mxd, mxdname, DF ба истиснои истисно ҳамчун e: print" ----- "print" Error "traceback.print_exc () error = str (e.message.split (' r  n')) чоп "Мушкилот" + mxdname чоп "Сарфи назар кардани хато, ба монанди сардор" outFile.write (mxdname + "," + "Бастабандӣ нашудааст" + "," + error.replace (' n', ") +"  n ") failcount + = 1 идома # Изҳороти хотима барои намоиши омори асосӣ. чоп"  n "чоп" Тайёр "" str "print (successcount) +" MXDs Packed бомуваффақият - "+ str (failcount) +" MXDs fail "чоп" Check Output Воридшавӣ барои тафсилот "# Нашри CSV logfile outFile.close ()

Ба ин сафҳа нигаред:

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//0017000000q5000000

Ман ба шумо истиноди 10.0 -ро дар асоси теги худ додам.

# Ном: PackageMap.py # Тавсифи: Тамоми ҳуҷҷатҳои харитаро, ки дар ҷузвдони муайян ҷойгиранд, пайдо кунед ва барои ҳар як ҳуҷҷати харита бастаҳои харита созед. # модулҳои системаи воридотӣ os воридоти arcpy аз arcpy import env # Танзими муҳити атроф env.overwriteOutput = True env.workspace = "C: / arcgis / ArcTutor / Edit" # Доир ба фазои корӣ, ҳамаи mxds-ро пайдо кунед ва бастаи харита созед бо истифода аз ҳамон ном бо mxd барои mxd дар arcpy.ListFiles ("*. mxd"): чоп "Бастабандӣ" + mxd arcpy.PackageMap_management (mxd, os.path.splitext (mxd) [0] + '.mpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL")

Видеоро тамошо кунед: Как писать JSLUA-скрипты #1