osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.4k stars 988 forks source link

Visualize AIS real time data #17128

Open a-0-dev opened 1 year ago

a-0-dev commented 1 year ago

🚀 feature request

Description

AIS provides real time data, including location and speed, for ships. Sites like https://marinetraffic.com and https://vesselfinder.com visualize it in the browser for free, having it as feature in OsmAnd would make nautical navigation much easier.

I am generally interested in contributing to this issue, however my Java skills are a little rusty and the OsmAnd project looks quite huge, almost daunting to actually try and find fixes for this issue.

Describe the solution you'd like

I am not familiar with the different ways of displaying data in OsmAnd, ships discovered from AIS could be displayed as POI, as overlay map or maybe something completely different (?)

There are two sources AIS data can be fetched from:

Both options are rather inconvenient to implement, the first because of the need for API keys (one for every OsmAnd user will probably not work, requiring OsmAnd users to enter one is not ideal), the second one because of a significant increase in technical complexity in OsmAnd (own implementation or third-party library).

Still, AIS data is a major part of nautical navigation and would make OsmAnd a serious option compared to existing, commercial, solutions.

Describe alternatives you've considered

One can use the websites mentioned above or rely on electronics aboard the ship. In OsmAnd there is, as far as I am aware, currently not way to visualize AIS data.

pampanasubbarao commented 10 months ago

OsmAnd has everything except AIS. It is badly needed.

dreua commented 10 months ago

Let me know if I can help in any way (funding, code, testing...).

Speimanes commented 2 months ago

How about adding the data of a low cost AIS receiver: https://github.com/jvde-github/AIS-catcher-for-Android

peronosporos commented 3 weeks ago

AIS implementation would indeed be a great feature. AIS receivers are also cheap and there are already existing ways to use them with a raspberry pi running also SignalK server. On the osmand client side we would need something like that https://github.com/SignalK/signalk-js-client to read the data broadcasted by the computer, a menu to choose what data to subscribe to, added choices for SignalK elements to display at panels in configure screen, and open sea map's way to display AIS targets ( https://openseamap.org/index.php?id=schiffstracking&L=1 ). That way we will have access to not only AIS, but also any other device on board connected, like NMEA instruments. Opinions?

peronosporos commented 1 week ago

@quantenschaum I think this would also fit with your concept of a marine style osmand. I tried to start doing it but my coding skills are still poor for that. A further step could be a two way communication with the SignalK server at some point in the future and have osmand buttons to control autopilot or engine, etc.

quantenschaum commented 1 week ago

@peronosporos theoretically all of this is possible. The intention of the marine style was to improve the display of nautical charts in OsmAnd. Adding AIS and other data from boats electronic on the NMEA bus would make OsmAnd an android based marine chart plotter. This is nice but out of the scope of app which is a general purpose navigation app IMHO. But it could be extended via a plugin.

If you already have a raspberry pi with signal running you just want to use AvNav instead, a web based chart plotter with a lot of features.

peronosporos commented 1 week ago

@quantenschaum I am aware of avnav and the paid opencpn app for use as a chartplotter. Still, though, osmand is the easiest to download and maintain through f-droid, it is more user friendly and customisable, and it is a multipurpose app, mature and evolving. Ideally, indeed I imagine osmand with all avnav functionality with a plugin. But even for non boaters, this could be a solution for AIS integration as expressed in this issue, or other similar functionalities. I tried to start playing with it but it was too much to handle.

quantenschaum commented 1 week ago

Sure, it is possible and there are use cases for this.

side note: AvNav is also available as android app directly from the play store. You can feed it with NMEA data (ais and other) via the network or USB.