GpsGate Server supports custom raster maps. The map needs to be in 256*256 pixel large PNG tiles. And the scale and projection must be described in a file named "MapData.xml". Normally GpsTools Studio helps you to accomplish this, which is described in this guide:
But in some cases when the map is very large, it is easier to produce the raster tiles in some other tool. In those case you also need to create MapData.xml manually.
The tiles should have the following file names x_y.png, the upper left tile is named 0_0.png, the most upper tile in the second column is named 1_0.png, the most left tile in the second row is named 0_1.png, increasing x values goes from left to right, increasing y values goes from top to bottom.
The tiles and MapData.xml should then be placed in a separate folder on the server as described in the guide linked to above. How a map with different zoom levels is produces is also described in that guide.
Here is a sample MapData.xml file. Below is each tag explained.
Name - Just any name.
Code: Select all
<?xml version="1.0" ?> <MapData> <Name>Sthlm</Name> <ID>Sthlm_B547D963-42F4-42B9-88C3-DC186B39078E</ID> <Bitmap> <TileSize> <Width>256</Width> <Height>256</Height> </TileSize> <TotalSize> <Width>5087</Width> <Height>4850</Height> </TotalSize> </Bitmap> <Geo> <Grid> <Name>No name</Name> <Algorithm>3</Algorithm> <FalseEasting>1500000.000000</FalseEasting> <FalseNorthing>0.000000</FalseNorthing> <OrigoLongitude>15.8082777778</OrigoLongitude> <OrigoLatitude>0.0000000000</OrigoLatitude> <Scale>1.0000000000000000000000</Scale> <LatitudeSp1>0.0000000000</LatitudeSp1> <LatitudeSp2>0.0000000000</LatitudeSp2> </Grid> <Datum> <Name>No name</Name> <SemiMajorAxis>6377397.155000</SemiMajorAxis> <E2>0.0066743722</E2> <DeltaX>414.1055246174</DeltaX> <DeltaY>41.3265500042</DeltaY> <DeltaZ>603.0582474221</DeltaZ> <RotX>-0.8551163377</RotX> <RotY>2.1413174055</RotY> <RotZ>-7.0227298286</RotZ> <Scale>0.0000000000000000000000</Scale> </Datum> <BoundingBox> <MinE>1622495.000000</MinE> <MinN>6585720.000000</MinN> <MaxE>1633513.165946</MaxE> <MaxN>6574507.688183</MaxN> </BoundingBox> </Geo> <Projection> <Type>Linear</Type> <OrigoE>1622495.0000000000000000000000</OrigoE> <OrigoN>6585720.0000000000000000000000</OrigoN> <DeDx>2.1659457333857648000000</DeDx> <DeDy>0.0000000000000000540344</DeDy> <DnDx>0.0000000000000000000000</DnDx> <DnDy>-2.3118168694576200000000</DnDy> </Projection> </MapData>
ID - A unique string.
Bitmap - Specifies bitmap size.
TileSize Width / Height - Must be 256
TotalSize Width / Height - Specifies the total size for the map in pixels.
Geo - Specifies the coordinate system used.
Grid / Datum - Projection paramaters. The easiest way to find those are to use GpsTools Studio on a small map, and save it as tiles, then copy those paramaters.
BoundingBox - The geographic size of the map.
MinE / MinN - This is the geographic coordinate for the upper left corner of the map. The unit can be meters or degrees depending on the geo coordinate system used.
MaxE / MaxN - This is the geographic coordinate for the lower right corner of the map.
Projection - Those are the multipliers between pixels and geo coordinates
Type - Should be "Linear". ("Polar" is also supported, but not explained here.)
OrigoE / OrigoN - This is the geographic coordinate for the upper left corner of the map.
DeDx - This is the number of meters (or degrees) per pixel when going from left to right on map.
DeDy - Set to 0. (Only used if map is rotated).
DnDx - Set to 0. (Only used if map is rotated).
DnDy - This is the number of meters (or degrees) per pixel when going from top to bottom.
Please post any questions to the forum, and we'll answer them there: