Table of Contents

Mapcraft Web

Since Mapcraft was begun ~10 years ago (it went through several iterations before the version now on Sourceforge was started) things have changed a bit. The most important change is that I now have access to my own web servers, so the requirement of generating static images is no longer there.

This then is a holding page for ideas on how to move Mapcraft into a more dynamic, web based, environment. Navigation similar to GoogleMaps would be good, with support for much larger maps stored in a database.

See also: REST API, AJAX

Implementation

This supersedes the Initial Ideas section below. We have hex based tiles, with an assumed resolution of 1 tile = 5km. The map is divided into sectors - each 32×40 tiles in size. Dynamic resolution is based on the sector/sub-sector etc.

A sector is sized so that it fits nicely onto a single sheet of A4 paper. The back end also supports a caching mechanism to we read/write whole sectors at a time for hopefully better performance.

Initial Ideas

Sectors

Maps will be organised into sectors if 32×40 hexes, in the same style as Traveller star maps. Each sector consists of 16 (4×4) sub-sectors, each of 8×10 hexes. This latter fits nicely onto an A4 sheet of paper, hence the choice.

Each hex represents an area 5km across.

An entire sector can be represented by a single hex (0101). If no other hexes are defined in the database, then the entire sector is assumed to be the same as this hex.

A sub-sector can be represented with a single hex in the same way. There is the possibility of falling back to sub-sub sectors (4×5 hexes).

This saves space in the database in areas with little detail.

Current Status

Currently SVN has code which can display a basic map - things and paths aren't yet supported. There is a REST interface for this, which works nicely for getting tiled map images.

There is also a utility for importing maps from the old XML files, which is being used for testing. How best to do actual editing has yet to be decided.

Support for the REST interface has been added into the Alfresco Yagsbook implementation, so that a Yagsbook encyclopedia can now reference these maps and embed them. Maps can currently be selected according to area, and the area is automatically scaled to a sensible size.