Navixy platform supports all popular map services such as Google, Bing, OpenStreetMap, Wikimapia, Yandex and others. It also happens that users may need some additional cartographic features, extra detalization, or special data to be shown on a map. This post is about how to add new improved maps to Navixy service.
Add a new cartographic layer to Navixy
Generally, there are 3 steps to add a layer:
- Prepare tile-data for cartographic features
- Run a tile-server using the data
- Add these layers to Navixy
The first two steps are for a client who can get a consultation with Navixy team. We also help make the third step, when a tile-server has already started and data is transmitted well. Navixy may limit access to the layers if needed.
1. Preparing map tiles
An available cartographic document needs to be converted to tile-graphics – uniform pieces with the connection to graticule values (coordinates) for each scale level.
The most popular tile format is MBTiles (created by Mapbox). Other formats, for example, GeoTIFF can be also used for Navixy. Regardless of the format, all the tile-files must be imported in the Mercator projection.
It can guarantee correct user’s layer overlapping on any type of map that is used by Navixy, because all the maps are made in the Mercator projection. A tile size may vary, thus, it will be converted to the most common size – 256 ppi.
2. Running a tile-server
You need to deploy the prepared tile-files on a server. Every file will have its direct link:
http://tileserver.com/{z}/{y}/{x}
It allows getting a correct response at the request of:
//tileserver.com/{z}/{x}/{y}.png
A tile server may be run independently or through a special cloud service.
Option A: Your own tile-server
Running your own tile-server is an ordinary task for any good system administrator. The biggest problem is not the configuration process, but the high demands to computing resources and server equipment. There are some tasks that may be run in server:
- Tile transmitting and checking its availability to be uploaded from cache or to be rendered.
- Load sharing and creation of request queue
- Conversion of vector data to raster tiles
- Upload of incoming data to a database (not necessary when the database is already running and only object data (like buildings and roads) is required)
- Database control (database management system)
Sysadmins may choose a Unix-like operating system because it is simpler and cheaper. You may also find some “out-of-the-box” solutions for it. For example, tile-server may be deployed from Ubuntu packages using the OpenStreetMap mount. All information about Unix-like systems and tile-servers may be found here.
Option B: Sided tile-server (SaaS)
There are a lot of companies that provide ready-made solutions for tile-servers deploying and supporting. In this case, all needed components and computing resources will be given by a service provider. The most popular of them are Mapbox, CartoDB, Esri, and ArcGIS.
3. Add a layer to Navixy
When the tile-server has been started with all cartographic features uploaded, it can be integrated into the Navixy map panel. You must add a new external web-cartographic plug-in by filling a tile-server URL and set access options for it by filling ID of service or user profiles if needed.
The new layer will appear in the list of available layers.
Every layer may be placed separately (in a substitution mode) or with other layers (in an overlapping mode). For the last option, all needed layers may be ticked.