Extract and Compress a TPK file

10159
4
Jump to solution
07-19-2013 02:36 PM
DavidMorrison1
New Contributor
Hi guys,

i was wondering on how to properly extract the contents of a tpk file and save it again as a tpk file? I tried just converting the tpk file to a zip file and extract the contents, although the extraction was successful, when i tried to compress it to a zip file and converted it again to a tpk file. ArcMap cant read it anymore. My guess is the file was corrupted during my process.

Is there any 3rd app that can help me? Or a specific process that i should do?

thanks.
0 Kudos
1 Solution

Accepted Solutions
AndriyGalushka
New Contributor III
I use standard mac os x zip/unzip command-line utilities
for example 'Parcels' directory is content of Parcels.tpk from ESRI examples
bash-3.2$ pwd /Users/AGalushka/tmp/Parcels  bash-3.2$ ls -l total 0 drwxr-xr-x  5 AGalushka  staff  170 22 ??? 21:43 esriinfo drwxr-xr-x  4 AGalushka  staff  136 22 ??? 21:43 v101  bash-3.2$ zip -0 -r Parcels.tpk *   adding: esriinfo/ (stored 0%)   adding: esriinfo/item.pkinfo (stored 0%)   adding: esriinfo/iteminfo.xml (stored 0%)   adding: esriinfo/thumbnail/ (stored 0%)   adding: esriinfo/thumbnail/thumbnail.png (stored 0%)   adding: v101/ (stored 0%)   adding: v101/Parcel Map/ (stored 0%)   adding: v101/Parcel Map/_alllayers/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L00/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L00/Rc380Ca680.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L00/Rc380Ca680.bundlx (stored 0%)   adding: v101/Parcel Map/_alllayers/L01/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L01/R13200C10480.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L01/R13200C10480.bundlx (stored 0%)   adding: v101/Parcel Map/_alllayers/L02/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L02/R26400C20900.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L02/R26400C20900.bundlx (stored 0%)   adding: v101/Parcel Map/_alllayers/L03/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L03/R4c800C41200.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L03/R4c800C41200.bundlx (stored 0%)   adding: v101/Parcel Map/_alllayers/L04/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L04/R99080C82480.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L04/R99080C82480.bundlx (stored 0%)   adding: v101/Parcel Map/conf.cdi (stored 0%)   adding: v101/Parcel Map/conf.xml (stored 0%)   adding: v101/Parcel Map.lyr (stored 0%)  bash-3.2$ ls -l total 8024 -rw-r--r--  1 AGalushka  staff  4104248 22 ??? 21:53 Parcels.tpk drwxr-xr-x  5 AGalushka  staff      170 22 ??? 21:43 esriinfo drwxr-xr-x  4 AGalushka  staff      136 22 ??? 21:43 v101  bash-3.2$ zip Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license. Zip 3.0 (July 5th 2008). Usage: zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]   The default action is to add or replace zipfile entries from list, which   can include the special name - to compress standard input.   If zipfile and list are omitted, zip compresses stdin to stdout.   -f   freshen: only changed files  -u   update: only changed or new files   -d   delete entries in zipfile    -m   move into zipfile (delete OS files)   -r   recurse into directories     -j   junk (don't record) directory names   -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)   -1   compress faster              -9   compress better   -q   quiet operation              -v   verbose operation/print version info   -c   add one-line comments        -z   add zipfile comment   -@   read names from stdin        -o   make zipfile as old as latest entry   -x   exclude the following names  -i   include only the following names   -F   fix zipfile (-FF try harder) -D   do not add directory entries   -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)   -T   test zipfile integrity       -X   eXclude eXtra file attributes   -y   store symbolic links as the link instead of the referenced file   -e   encrypt                      -n   don't compress these suffixes   -h2  show more help    bash-3.2$  

View solution in original post

0 Kudos
4 Replies
ShiminCai
Occasional Contributor III
Hi,

Take a look at the 'Extract Package' tool in the Package toolset of the Data Management toolbox http://resources.arcgis.com/en/help/main/10.1/index.html#/Extract_Package/0017000000vq000000/ which I think can do the extraction for you...

Regards,

Shimin
0 Kudos
AndriyGalushka
New Contributor III
You must compress with -0 option (store only)
0 Kudos
DavidMorrison1
New Contributor
You must compress with -0 option (store only)


Hi agalushka,

Is there a specific compressing tool i should use? or can i just use 7z to do it?

thanks.
0 Kudos
AndriyGalushka
New Contributor III
I use standard mac os x zip/unzip command-line utilities
for example 'Parcels' directory is content of Parcels.tpk from ESRI examples
bash-3.2$ pwd /Users/AGalushka/tmp/Parcels  bash-3.2$ ls -l total 0 drwxr-xr-x  5 AGalushka  staff  170 22 ??? 21:43 esriinfo drwxr-xr-x  4 AGalushka  staff  136 22 ??? 21:43 v101  bash-3.2$ zip -0 -r Parcels.tpk *   adding: esriinfo/ (stored 0%)   adding: esriinfo/item.pkinfo (stored 0%)   adding: esriinfo/iteminfo.xml (stored 0%)   adding: esriinfo/thumbnail/ (stored 0%)   adding: esriinfo/thumbnail/thumbnail.png (stored 0%)   adding: v101/ (stored 0%)   adding: v101/Parcel Map/ (stored 0%)   adding: v101/Parcel Map/_alllayers/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L00/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L00/Rc380Ca680.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L00/Rc380Ca680.bundlx (stored 0%)   adding: v101/Parcel Map/_alllayers/L01/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L01/R13200C10480.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L01/R13200C10480.bundlx (stored 0%)   adding: v101/Parcel Map/_alllayers/L02/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L02/R26400C20900.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L02/R26400C20900.bundlx (stored 0%)   adding: v101/Parcel Map/_alllayers/L03/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L03/R4c800C41200.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L03/R4c800C41200.bundlx (stored 0%)   adding: v101/Parcel Map/_alllayers/L04/ (stored 0%)   adding: v101/Parcel Map/_alllayers/L04/R99080C82480.bundle (stored 0%)   adding: v101/Parcel Map/_alllayers/L04/R99080C82480.bundlx (stored 0%)   adding: v101/Parcel Map/conf.cdi (stored 0%)   adding: v101/Parcel Map/conf.xml (stored 0%)   adding: v101/Parcel Map.lyr (stored 0%)  bash-3.2$ ls -l total 8024 -rw-r--r--  1 AGalushka  staff  4104248 22 ??? 21:53 Parcels.tpk drwxr-xr-x  5 AGalushka  staff      170 22 ??? 21:43 esriinfo drwxr-xr-x  4 AGalushka  staff      136 22 ??? 21:43 v101  bash-3.2$ zip Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license. Zip 3.0 (July 5th 2008). Usage: zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]   The default action is to add or replace zipfile entries from list, which   can include the special name - to compress standard input.   If zipfile and list are omitted, zip compresses stdin to stdout.   -f   freshen: only changed files  -u   update: only changed or new files   -d   delete entries in zipfile    -m   move into zipfile (delete OS files)   -r   recurse into directories     -j   junk (don't record) directory names   -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)   -1   compress faster              -9   compress better   -q   quiet operation              -v   verbose operation/print version info   -c   add one-line comments        -z   add zipfile comment   -@   read names from stdin        -o   make zipfile as old as latest entry   -x   exclude the following names  -i   include only the following names   -F   fix zipfile (-FF try harder) -D   do not add directory entries   -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)   -T   test zipfile integrity       -X   eXclude eXtra file attributes   -y   store symbolic links as the link instead of the referenced file   -e   encrypt                      -n   don't compress these suffixes   -h2  show more help    bash-3.2$  
0 Kudos