BoatPilot — mobile device optimization

Boat Pilot
2 min readAug 30, 2019

--

Mobile device compatibility still remains one of the most actual issues for modern navigation systems. Databases shall be minimized in the most effective way due to mobile devices having limited RAM and computing capabilities. The other limiting factor is the database accessing speed, as it requires storage with random reading capabilities to work correctly.

PostGIS is used by the most navigation systems, it is the most popular database extender available on the market. This is a module for the PostgreSQL object-relational database. However, it has one major drawback: it cannot be used on mobile devices. Users have to use the Mapsforge binary format, which is not the ideal solution due to the size of the output file. Sometimes it can be greater than 10 GB for a single region — it is still too large even for the most modern mobile devices.

BoatPilot offers a optimization solution to this issue. The system uses variable resolutions depending on depth. Thus, 1-meter resolution is used for depths up to 5 meters, it raises as the depth increases. It increases performance and reduces the amount of data to store and process, but doesn’t affect navigational capabilities.

Our database algorithm detects and eliminates chart redundancy to cut the size of the database. We use the Industry standard library GDAL as the database library because it is stable, has high-speed and community support.

The main feature of our algorithm is parallelization — it allows you to use MapReduce algorithms on a computing cluster. This algorithm is realized via Python with ZeroMQ to distribute tasks throughout computing nodes. ESRI Shapefile is an output format, allowing the results to be used not only on mobile devices, but in the vast majority of GIS packages (Geographic Information System).

--

--