From e4f2c86c8259f9cba3c3b7f32a6262a51cb03b91 Mon Sep 17 00:00:00 2001 From: Miika Turkia Date: Sun, 12 Jan 2014 07:37:12 +0200 Subject: Improving matching of ISO 6709 GPS format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Dirk Hohndel --- qthelper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'qthelper.cpp') diff --git a/qthelper.cpp b/qthelper.cpp index 9d503cb6a..cd4720908 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])") -- cgit v1.2.3-70-g09d2