[PATCH] Improving matching of ISO 6709 GPS format

Miika Turkia miika.turkia at gmail.com
Sun Jan 12 20:36:47 UTC 2014


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>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>
>> ---
>>   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(0).isDigit()) {
>> +       if (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/59753a58/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Use-character-to-recognize-ISO-6709-GPS-format.patch
Type: text/x-patch
Size: 1192 bytes
Desc: not available
URL: <http://lists.hohndel.org/pipermail/subsurface/attachments/20140113/59753a58/attachment.bin>


More information about the subsurface mailing list