[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