Appboard/2.4/builder/widgets/tile map/offline data: Difference between revisions

imported>Jason.nicholls
imported>Jason.nicholls
Line 30: Line 30:
# place the set of XYZ directories and images files into the directory above. So for example you may end up with something like <tt>webapps/enportal/custom/tiles/''your_tileset''/''z''/''x''/''y.png''</tt> where ''z'', ''x'', and ''y'' would be numbers representing the zoom level and coordinates.
# place the set of XYZ directories and images files into the directory above. So for example you may end up with something like <tt>webapps/enportal/custom/tiles/''your_tileset''/''z''/''x''/''y.png''</tt> where ''z'', ''x'', and ''y'' would be numbers representing the zoom level and coordinates.
# create the subdirectory for the tile registry file and place it there. This '''must''' be in the following hierarchy: <tt>webapps/enportal/WEB-INF/xmlroot/appboard/config/tileregistry/''your_tileset.csv''</tt> where ''your_tileset.csv'' is the registry file and the rest of the path is the subdirectory.
# create the subdirectory for the tile registry file and place it there. This '''must''' be in the following hierarchy: <tt>webapps/enportal/WEB-INF/xmlroot/appboard/config/tileregistry/''your_tileset.csv''</tt> where ''your_tileset.csv'' is the registry file and the rest of the path is the subdirectory.
# use zip to compress the working directory and call it <tt>''your_tileset''.zip</tt>.
As an example, here is the output from a listing of files and directories from a valid offline tileset package. Since there are too many files to list only a handful are shown:
<pre>
./webapps
./webapps/enportal
./webapps/enportal/WEB-INF
./webapps/enportal/WEB-INF/xmlroot
./webapps/enportal/WEB-INF/xmlroot/appboard
./webapps/enportal/WEB-INF/xmlroot/appboard/config
./webapps/enportal/WEB-INF/xmlroot/appboard/config/tileregistry
./webapps/enportal/WEB-INF/xmlroot/appboard/config/tileregistry/mytileset.csv
./webapps/enportal/custom
./webapps/enportal/custom/tiles
./webapps/enportal/custom/tiles/mytileset
./webapps/enportal/custom/tiles/mytileset/7
./webapps/enportal/custom/tiles/mytileset/7/119
./webapps/enportal/custom/tiles/mytileset/7/119/52.png
./webapps/enportal/custom/tiles/mytileset/7/119/4.png
./webapps/enportal/custom/tiles/mytileset/7/119/63.png
./webapps/enportal/custom/tiles/mytileset/7/119/85.png
./webapps/enportal/custom/tiles/mytileset/7/119/82.png
... (continued )...
</pre>

Revision as of 12:58, 2 October 2013


The Tile Map Widget can be configured to use multiple base layer tilesets and multiple overlay tilesets, including tilesets served up by the AppBoard server removing the need for external Internet access.

Viewer clients connected to AppBoard will fetch the tilesets from the AppBoard server, to which they must already have network access.

It's important to understand that the size of the offline tileset grows exponentially for each additional zoom level. Levels 0 through 7 of the default OpenStreetMap (OSM) tiles is roughly 100MB, but online you can zoom through to level 20. Attempting to have an offline tileset with this deep level of zoom would be ... big.


Importing Offline Tilesets

Edge can provide some packaged OSM tiles for offline use, please contact support. Otherwise it is possible to build your own offline tilesets using a variety of sources and tools (see the Building section below).

  1. Shutdown AppBoard
  2. In a terminal change into [INSTALL_HOME]/server/bin
  3. Run the following command: portal FilesImport -jar <OfflineTilePackage>
  4. Restart AppBoard, the new tileset should be available when configuring Tile Map widgets.
Template-note.png
Due to the size of tilesets these are not backed up by default. That means both the tiles and the tile registry file are excluded from backup archives. It is recommended to have a restore/migration procedure that includes installing any custom offline tilesets as an additional step in the process.


Building Offline Tileset Packs

Tileset packages are simply a zip file with a particular directory structure containing a set of tile images arranged in XYZ directories and a tile registry file which contains meta data for AppBoard to understand how to use the tiles.

General process:

  1. create a working directory, and change into that directory
  2. create a subdirectory for the tile images, this must be in the following hierarchy: webapps/enportal/custom/tiles/your_tileset and replace your_tileset with an appropriate name.
  3. place the set of XYZ directories and images files into the directory above. So for example you may end up with something like webapps/enportal/custom/tiles/your_tileset/z/x/y.png where z, x, and y would be numbers representing the zoom level and coordinates.
  4. create the subdirectory for the tile registry file and place it there. This must be in the following hierarchy: webapps/enportal/WEB-INF/xmlroot/appboard/config/tileregistry/your_tileset.csv where your_tileset.csv is the registry file and the rest of the path is the subdirectory.
  5. use zip to compress the working directory and call it your_tileset.zip.

As an example, here is the output from a listing of files and directories from a valid offline tileset package. Since there are too many files to list only a handful are shown:

./webapps
./webapps/enportal
./webapps/enportal/WEB-INF
./webapps/enportal/WEB-INF/xmlroot
./webapps/enportal/WEB-INF/xmlroot/appboard
./webapps/enportal/WEB-INF/xmlroot/appboard/config
./webapps/enportal/WEB-INF/xmlroot/appboard/config/tileregistry
./webapps/enportal/WEB-INF/xmlroot/appboard/config/tileregistry/mytileset.csv
./webapps/enportal/custom
./webapps/enportal/custom/tiles
./webapps/enportal/custom/tiles/mytileset
./webapps/enportal/custom/tiles/mytileset/7
./webapps/enportal/custom/tiles/mytileset/7/119
./webapps/enportal/custom/tiles/mytileset/7/119/52.png
./webapps/enportal/custom/tiles/mytileset/7/119/4.png
./webapps/enportal/custom/tiles/mytileset/7/119/63.png
./webapps/enportal/custom/tiles/mytileset/7/119/85.png
./webapps/enportal/custom/tiles/mytileset/7/119/82.png
... (continued )...