[PATCH] Improving matching of ISO 6709 GPS format

Tim Wootton tim at tee-jay.demon.co.uk
Sun Jan 12 23:28:55 UTC 2014


does the google maps format separate lat from long with a comma? if so
that might be the better differentiator as the ISO format requires
space.not comma. i.e. anything not containing a comma must be ISO?

On 13/01/14 04:36, Miika Turkia wrote:
> Decimal format that Google maps uses does not have the NSEW
> characters, just pure numbers (with minus sign in the front if
> needed). And we really need to support the copy-paste format from
> Google maps, IMO.
>
> To re-enable the side-effect feature you ask for would require
> changing the degree sign to '. (Patch attached)
>
> miika
>
> On Sun, Jan 12, 2014 at 11:17 PM, Tim Wootton <tim at tee-jay.demon.co.uk
> <mailto:tim at tee-jay.demon.co.uk>> wrote:
>
>     The decimal format we had before seemed to want N, S, E or W as
>     the 1st non-whitespace character which is why I used the absence
>     of that as the selector, or did I miss something? If you continue
>     to do that ISO doesn't break the old decimal.
>
>     This breaks what seemed a nice side-effect in the ISO format
>     decoding which was if you leave spaces where the awkward degree
>     symbols belong subsurface added them for you.
>
>
>
>
>     On 12/01/14 05:37, Miika Turkia wrote:
>
>         ISO 6709 format dictates that the format includes characters °
>         (degree),
>         ' and ". If we only test for the coordinates starting with
>         decimal, we
>         match also the decimal notation on this test. Thus adding test
>         for the
>         degree sign not to match input as ISO 6709 when coordinates
>         are given in
>         decimal notation.
>
>         Signed-off-by: Miika Turkia <miika.turkia at gmail.com
>         <mailto:miika.turkia at gmail.com>>
>         ---
>           qthelper.cpp | 2 +-
>           1 file changed, 1 insertion(+), 1 deletion(-)
>
>         diff --git a/qthelper.cpp b/qthelper.cpp
>         index 9d503cb..cd47209 100644
>         --- a/qthelper.cpp
>         +++ b/qthelper.cpp
>         @@ -119,7 +119,7 @@ bool parseGpsText(const QString& gps_text,
>         double *latitude, double *longitude)
>
>                 // ISO 6709 Annex D representation
>                 //
>         http://en.wikipedia.org/wiki/ISO_6709#Representation_at_the_human_interface_.28Annex_D.29
>         -       if (gps_text.at <http://gps_text.at>(0).isDigit()) {
>         +       if (gps_text.at <http://gps_text.at>(0).isDigit() &&
>         gps_text.count(UTF8_DEGREE) > 0) {
>                         gpsStyle = ISO6709D;
>                         regExp = QString("(\\d+)[" UTF8_DEGREE
>         "\\s](\\d+)[\'\\s](\\d+)([,\\.](\\d+))?[\"\\s]([NS%1%2])"
>                                                  "\\s*(\\d+)["
>         UTF8_DEGREE
>         "\\s](\\d+)[\'\\s](\\d+)([,\\.](\\d+))?[\"\\s]([EW%3%4])")
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hohndel.org/pipermail/subsurface/attachments/20140113/78631466/attachment-0001.html>


More information about the subsurface mailing list