Class TPKZoomLevelV2

  • All Implemented Interfaces:
    TPKZoomLevel

    public class TPKZoomLevelV2
    extends Object
    implements TPKZoomLevel
    TPKZoomLevel interface implementation for ESRI Compact Cache V2 files

    TPK is a ZIP archive

    In V2 the bundle index is a incorporated into the same file as the bundle data. The index entries are each 8-bytes long and have both the tile data length and tile data offset.

    Also note that the index is stored in row-major order INSTEAD of column-major order!

    • Constructor Summary

      Constructors 
      Constructor Description
      TPKZoomLevelV2​(ZipFile theTPK, Map<String,​ZipEntry> zipEntryMap, List<String> bundleNames, long zoomLevel)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long getMaxColumn()  
      long getMaxRow()  
      long getMinColumn()  
      long getMinRow()  
      List<TPKTile> getTiles​(long top, long bottom, long left, long right, String format)
      Read the tile data for the given coverage and return a list of tile objects to the caller.
      long getZoomLevel()  
      void releaseResources()
      When done with TPK file call this method for each Zoom Level to free up held resources and remove object references that would prevent garbage collection
      void setTPKandEntryMap​(ZipFile theTPK, Map<String,​ZipEntry> zipEntryMap)
      On subsequent uses of a TPK file we must use this method to set current references!!
      • Methods inherited from class Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TPKZoomLevelV2

        public TPKZoomLevelV2​(ZipFile theTPK,
                              Map<String,​ZipEntry> zipEntryMap,
                              List<String> bundleNames,
                              long zoomLevel)
    • Method Detail

      • setTPKandEntryMap

        public void setTPKandEntryMap​(ZipFile theTPK,
                                      Map<String,​ZipEntry> zipEntryMap)
        On subsequent uses of a TPK file we must use this method to set current references!!
        Specified by:
        setTPKandEntryMap in interface TPKZoomLevel
        Parameters:
        theTPK - -- reference to the TPK ZipFile object
        zipEntryMap - -- reference to the ZipEntry mapping object
      • getTiles

        public List<TPKTile> getTiles​(long top,
                                      long bottom,
                                      long left,
                                      long right,
                                      String format)
        Read the tile data for the given coverage and return a list of tile objects to the caller. Note the read order we used is optimized for this version of the content cache (ie we try to always read forward as much as possible!!)
        Specified by:
        getTiles in interface TPKZoomLevel
        Parameters:
        top - -- topmost row of coverage
        bottom - -- bottommost row of coverage
        left - -- leftmost column of coverage
        right - -- rightmost column of coverage
        format - -- format of tile data (PNG, JPEG)
        Returns:
        -- list of TPKTile objects
      • releaseResources

        public void releaseResources()
        When done with TPK file call this method for each Zoom Level to free up held resources and remove object references that would prevent garbage collection
        Specified by:
        releaseResources in interface TPKZoomLevel