GPX visualization/replay of vessel's past track
Budget: €20 – €40 EUR
I need a software or a web application that is able to display GPX files (which contain the voyage data of ships) on a map in an analyzable way and play them back.
An example of this would be the voyage history function on https://www.marinetraffic.com.
My GPX files are available in this form and contain the following data:
<trkpt lat="36.961110000" lon="-76.420110000">
<time>2023-08-12T00:16:00Z</time>
<course>132.000000</course>
<speed>0.000000</speed>
</trkpt>
Basic requirement:
There must be a way to upload GPX files
Specifications for the visual representation of the route:
A route should be created from the information in the GPX file and this should be displayed on a visual map (possibly OpenStreetMap or similar? It should be high-resolution). The itinerary consists of several points which are connected by lines. The points are placed on the map at the latitude and longitude values from the GPX file. The points are then connected by a line. The points should be visually marked on the map with arrowheads. These arrowheads should point / be rotated in the direction of the course defined for the point in the GPX file (e.g. <course>132.000000</course>).
For everything described in this paragraph, please refer to Figure 1 in the appendix.
If you hover over these arrowheads with the mouse, the GPX data from the GPX file for this point should be displayed. The whole thing should look exactly like picture 2 in the appendix.
The entire track should be colored according to speed (to be found here: <speed>0.000000</speed>, unit in knots). The specifications for this are
approx. 0 knots: Color red
approx. 10 knots: Color yellow
approx. 20 knots: Color blue
approx. 30 knots: Color pink
The values between these specifications should be colored by a mixture of colors (color gradient). In other words, a value of 5 knots would be orange, a value of 2.5 knots would be dark orange (mixture of orange and red), a value of 7.5 knots would be light orange (mixture of orange and yellow). I think you understand what I mean. This can also be seen in pictures 1 and 2 in the appendix.
Save function:
It should be possible to save previously uploaded GPX files in the software / web application, and these should still be available on startup. This means that you don't have to upload every file again if you want to look at it again.
There should also be the option to show and hide trip history through a side view, which contains and lists all uploaded GPX files (more on this in the layout).
The GPX files in the list view should have the file name of the GPX file after uploading, but it should also be possible to rename them in the list, for example to "ship 1" (without changing the actual file name)
"Playback/replay function":
It should be possible to visually replay the itinerary. This means that there should be an arrow icon that runs through the entire journey once. The speed should be accelerated by X (e.g. 5x, 10x, 20x, 50x, 100x, 200x, 1000x, etc...) in relation to reality. This means that with an acceleration of 1000x, a replay that would take 1000 minutes, for example, should be played in 1 minute.
In addition, it should be determined how long the arrow icon takes from one waypoint on the route to the next waypoint, regardless of the acceleration of the replay. This depends on how many nodes are defined at the point in the GPX file. This means that if you are at a point which has, for example, 15 knots as GPX information, the arrow icon should approach the next point at a speed of 15 knots, or 7 m/s or 27.7 km/h. A concrete example of this can be seen in video 2 in the appendix. I hope you can see how the ship moves faster at some points and slower at others.
The whole thing should be controlled by a control element that looks something like the one shown in Figure 3. This means that there should be the option of pausing, and it should also be possible to set a date limit. When importing a GPX file, the date limit should of course be set to the earliest and latest date.
In addition, the control element should also contain a slider (as shown in Figure 3) with which you can manually select the time between the start and end date. See video 3 in the appendix.
There should also be a date/time display, which changes during the playback and shows the current date/time (see video 1 / picture 3)
The arrow icon (which represents the ship) should become a ship shape at very high zoom (from a zoom level of X) and no longer be displayed as an arrow. See video 4.
The shape of the ship should be adjustable, i.e. you can specify in the settings for this track what length and width the ship has (relative to the size of the map), and whether it has the bridge at the front or rear. See picture 4 (bridge in front), picture 5 (bridge behind). The bridge is always the starting point of the signal output, so the LAT and LON values also correspond to this point.
Last but not least, it is important to mention that several GPX files can be displayed and played at the same time. When a GPX file has reached the end (i.e. the date does not continue, but the other file continues), this file should be hidden automatically.
I have also attached an approximate layout, this is how I would imagine the layout, i.e. the division of the elements. The design may be completely different.
If you have any questions, please feel free to contact me. GPX files are also attached.
An example of this would be the voyage history function on https://www.marinetraffic.com.
My GPX files are available in this form and contain the following data:
<trkpt lat="36.961110000" lon="-76.420110000">
<time>2023-08-12T00:16:00Z</time>
<course>132.000000</course>
<speed>0.000000</speed>
</trkpt>
Basic requirement:
There must be a way to upload GPX files
Specifications for the visual representation of the route:
A route should be created from the information in the GPX file and this should be displayed on a visual map (possibly OpenStreetMap or similar? It should be high-resolution). The itinerary consists of several points which are connected by lines. The points are placed on the map at the latitude and longitude values from the GPX file. The points are then connected by a line. The points should be visually marked on the map with arrowheads. These arrowheads should point / be rotated in the direction of the course defined for the point in the GPX file (e.g. <course>132.000000</course>).
For everything described in this paragraph, please refer to Figure 1 in the appendix.
If you hover over these arrowheads with the mouse, the GPX data from the GPX file for this point should be displayed. The whole thing should look exactly like picture 2 in the appendix.
The entire track should be colored according to speed (to be found here: <speed>0.000000</speed>, unit in knots). The specifications for this are
approx. 0 knots: Color red
approx. 10 knots: Color yellow
approx. 20 knots: Color blue
approx. 30 knots: Color pink
The values between these specifications should be colored by a mixture of colors (color gradient). In other words, a value of 5 knots would be orange, a value of 2.5 knots would be dark orange (mixture of orange and red), a value of 7.5 knots would be light orange (mixture of orange and yellow). I think you understand what I mean. This can also be seen in pictures 1 and 2 in the appendix.
Save function:
It should be possible to save previously uploaded GPX files in the software / web application, and these should still be available on startup. This means that you don't have to upload every file again if you want to look at it again.
There should also be the option to show and hide trip history through a side view, which contains and lists all uploaded GPX files (more on this in the layout).
The GPX files in the list view should have the file name of the GPX file after uploading, but it should also be possible to rename them in the list, for example to "ship 1" (without changing the actual file name)
"Playback/replay function":
It should be possible to visually replay the itinerary. This means that there should be an arrow icon that runs through the entire journey once. The speed should be accelerated by X (e.g. 5x, 10x, 20x, 50x, 100x, 200x, 1000x, etc...) in relation to reality. This means that with an acceleration of 1000x, a replay that would take 1000 minutes, for example, should be played in 1 minute.
In addition, it should be determined how long the arrow icon takes from one waypoint on the route to the next waypoint, regardless of the acceleration of the replay. This depends on how many nodes are defined at the point in the GPX file. This means that if you are at a point which has, for example, 15 knots as GPX information, the arrow icon should approach the next point at a speed of 15 knots, or 7 m/s or 27.7 km/h. A concrete example of this can be seen in video 2 in the appendix. I hope you can see how the ship moves faster at some points and slower at others.
The whole thing should be controlled by a control element that looks something like the one shown in Figure 3. This means that there should be the option of pausing, and it should also be possible to set a date limit. When importing a GPX file, the date limit should of course be set to the earliest and latest date.
In addition, the control element should also contain a slider (as shown in Figure 3) with which you can manually select the time between the start and end date. See video 3 in the appendix.
There should also be a date/time display, which changes during the playback and shows the current date/time (see video 1 / picture 3)
The arrow icon (which represents the ship) should become a ship shape at very high zoom (from a zoom level of X) and no longer be displayed as an arrow. See video 4.
The shape of the ship should be adjustable, i.e. you can specify in the settings for this track what length and width the ship has (relative to the size of the map), and whether it has the bridge at the front or rear. See picture 4 (bridge in front), picture 5 (bridge behind). The bridge is always the starting point of the signal output, so the LAT and LON values also correspond to this point.
Last but not least, it is important to mention that several GPX files can be displayed and played at the same time. When a GPX file has reached the end (i.e. the date does not continue, but the other file continues), this file should be hidden automatically.
I have also attached an approximate layout, this is how I would imagine the layout, i.e. the division of the elements. The design may be completely different.
If you have any questions, please feel free to contact me. GPX files are also attached.