0 - OpenCPN - Feature Requests

This is the project for all Feature Requests except the ones concerning plugins. Please add this Feature Requests to the respective plugin project - thanks.

FS#353 - Route Planning with Time & Tide

Attached to Project: 0 - OpenCPN - Feature Requests
Opened by PjotrC (pjotrc) - Saturday, 12 February 2011, 12:09 GMT-7
Last edited by Jesper We (JesperWe) - Saturday, 29 September 2012, 15:01 GMT-7
Task Type Feature Request
Category Backend / Core
Status Closed
Assigned To Dave (bdbcat)
Operating System All
Severity Medium
Priority Normal
Reported Version future version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Route Planning with Time & Tide

Attached are two patches, based on Version 2.3.1 Build 2010-12-28, implementing extensions to the Route Properties dialog.

With Patch 001, if a specific date is entered into Departure Time control, then ETA at all waypoints is shown as specific date/time as well.
Date and time can be chosen as Universal Time, current Local Zone Time for the PC, or Local Mean Time for each Waypoint.
For Local Zone Time one can also enter the keyword "now".

If a Tide Curve Display is currently shown on the screen, then tide situation will be tabulated along all route points.
Otherwise, if a waypoint name contains the string @~~<name>, then the tide report for the closest station with matching name prefix is shown.

With Patch 002, the waypoint Description field can contain the setting of planned speed specific just to the next route leg (e.g. VMG=4.5;) and/or the specification of Estimated Time of Departure from this waypoint (e.g. ETD=2/14/2011 12:00;), allowing for planning extended stopovers. Time can be specified as UT, LMT or local zone time at the PC (default).

Patches should be applied in sequence.

The patches include some minor changes to other route handling as well:

1. when appending a waypoint by rubber-banding, the bearing and distance is shown as with the Measure Tool
2. the lat/lon conversion routine is changed to low precision format of DD MM.M and high precision format of DD MM.MMMM (default). The behaviour of OCPN outside of Route Properties Dialog is unchanged.
This task depends upon

Closed by  Jesper We (JesperWe)
Saturday, 29 September 2012, 15:01 GMT-7
Reason for closing:  Implemented
Additional comments about closing:  This has been implemented for ages...
Comment by max stirner (idpnd) - Sunday, 13 February 2011, 05:59 GMT-7
"[ 48%] Building CXX object CMakeFiles/opencpn.dir/src/chcanv.cpp.o
/home/user/opencpn/src/chcanv.cpp: In member function ‘void TCWin::OnPaint(wxPaintEvent&)’:
/home/user/opencpn/src/chcanv.cpp:10697: warning: suggest parentheses around comparison in operand of ‘!=’
/home/user/opencpn/src/chcanv.cpp:10740: error: converting to execution character set: Invalid or incomplete multibyte or wide character
make[2]: *** [CMakeFiles/opencpn.dir/src/chcanv.cpp.o] Error 1
make[1]: *** [CMakeFiles/opencpn.dir/all] Error 2"

Didn't compile for me - is on up-to-date git rep, is that the correct version?
Comment by Antonio Doria (antuan) - Saturday, 19 February 2011, 18:40 GMT-7
Great initiative. Maybe it would be useful if leg speeds were editable from within the route properties table, not being a WP property but a LEG property, because the WP could be part of another route too, with a diferent speed setting. Anyway, just as it is described by Piotr, it´s a great long awaited basic feature for long trip on-route planning.
Comment by Antonio Doria (antuan) - Tuesday, 22 February 2011, 12:17 GMT-7
Ideally, being on route, when the route is activated, OCPN could take and highlight the next wp in route (the active one) as starting position, and use the real-time calculated ETA to it, as the starting Date and time for the rest of the route. So the current leg would be calculated at the real speed, and then take this in account to have a realistic starting point from the active wp, and calculate the rest of route at the planned speeds for each leg. Or alternatively (to keep it simpler), take present position and Date-and-Time as starting point, and calculate directly the rest of the route at planned leg speeds from there (On long ocean passages, estimated speeds for each leg are far more accurate than using present speed for the whole route). This way, while on route, just opening route properties would give the most accurate estimation of the date and time of arrival, which is something OCPN currently lacks.
Deactivating the route would go back to normal display of route, with a manually input starting date, and different leg speeds, for home planning purposes.
Comment by Jean Pierre (ptizef) - Sunday, 06 March 2011, 01:36 GMT-7
Hi Piotr

I am trying to built your patch on Windows Vista but I am stopped on the 001 one with an error
each time there is " m_MarkName.Find("@~~") " . This error is
" error C2664: 'int wxString::Find(wxChar,bool) const' : impossible de convertir le paramètre 1 de 'const char [4]' en 'wxChar' "

means the compiler don't like @~~ characters

Jean Pierre
Comment by Jean Pierre (ptizef) - Sunday, 06 March 2011, 01:54 GMT-7
Hi Piotr

I've fixed it by typing " m_MarkName.Find(_T("@~~") " instead of " m_MarkName.Find("@~~") "
It works fine !

I am going on with 002 ....

Jean Pierre
Comment by Jean Pierre (ptizef) - Sunday, 06 March 2011, 09:54 GMT-7

Both patches work fine ! Many thanks for this job

Nevertheless I found some differences between the "next tide event" values and those of the curve
In the shot "test1" attached" my PC is set at GMT+1 , the same meridian as the station and I choose Local at PC
you can see the first "next tide event" gives HW at 17h15 but the curve shows
clearly it at around 18h (my own calculation with patch in  FS#128  gives exactly 18h00)
In the same way,the second "next tide event" gives LW at 22h42 , but the curve shows it at much more than 23h (also my own calculation gives 23h48)

In the second shot "test 2" I choose LMT@location and I get others figures I don't understand

Jean Pierre
   test1.jpg (167.6 KiB)
   test2.jpg (169.3 KiB)
Comment by PjotrC (pjotrc) - Friday, 25 March 2011, 03:55 GMT-7
Many thanks for all comments and your patience.
I was sure that - having selected "Watch this Task" - I shall receive an email, when a comment appears...
So I did not even look here since the original posting.

I shall be integrating this into 0324, so a next round is due soon.

Thanks again.