BoatPilot — managing object characteristics

Boat Pilot
Jun 5 · 2 min read

Geographical objects have not just coordinates, but they usually carry a set of user characteristics. For example, any lighthouse’s info includes light stream characteristics and the shape of its base. If we consider marinas, it is necessary for them to give contact information and the types of vessels it can accept. Users can add or change this information, which raises an issue of asynchronous nature of such additions.

More than that, many users add or correct information while offline — changes reach the database with significant delay, only after connecting and data synchronizing. It leads to a conflict between editing and searching by an attribute value.

We decided to use PostgreSQL v9.4 as the basis. Its document-oriented capabilities are similar to specialized NoSQL solutions. Indexes will be considered while associating arbitrary object structures with GIS data due to the PostGIS extension. The platform will provide versioning and conflict resolution capabilities and will use a pessimistic strategy and manual data merging to cope with conflicting attribute changes.

BoatPilot platform is designed to automatically integrate incoming edits from trusted sources. It will include an interface for manual analysis and comparison of edits to determine the degree of trust based on the history of the source’s edits and social connections. The platform will be realized with Python-based REST interfaces and AngularJS-based WEB UI.

Boat Pilot

Written by

Marine Navigation Service

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade