03 Waarom bestaat de interne coördinatenparser?

De coördinaatparser hoort bij de coördinaatfuncties. Het wordt gebruikt samen met de functie om coördinaten in te voegen en met het Variabele coordinaten. De taak ervan is om nuttige coördinaten (zoals breedte- en lengtegraden) uit een tekst te halen.

Waarom is de coördinaatparser nodig?

Coördinaten kunnen op verschillende manieren worden geschreven. Veel van die formaten lijken op elkaar. Neem bijvoorbeeld SwissGrid en Gauss-Krüger. Op het eerste gezicht lijken ze veel op elkaar en zijn ze moeilijk te onderscheiden aan de hand van een vast patroon.

Verschillende notaties van coördinaatformaten

Coördinaten hebben veel verschillende notaties. Neem bijvoorbeeld het “geocaching-formaat” DEG. Je kunt het vinden met of zonder letters zoals N of O, of met een minteken in plaats van Z of W. Soms worden graden, minuten en seconden aangegeven, soms niet. Het kan worden gescheiden door een komma of een punt, met of zonder spaties, en met of zonder nullen aan het begin.

Hieronder zie je wat voorbeelden:

N 52° 12.312′ E 20° 12.312′
N 52° 12. 312′ E 020° 12. 312′
N 52 12.312 E 20 12.312
N52 12.312, E20 12.312
North 52 12.312, East 20 12.312
52 06.312 S 20 06.312 W
-52 12.312 -20 12.312
52 12.312 20 12.312

Flexibiliteit van de parser

Om problemen voor de gebruikers van GCWizard te verminderen, is de parser heel flexibel gemaakt. Maar soms kunnen zelfs kleine foutjes ervoor zorgen dat een coördinaat niet goed wordt gelezen. Hoewel de parser veel typfouten kan accepteren, is het toch belangrijk voor de gebruiker om heel nauwkeurig te zijn. Als de parser een fout maakt, moet de gebruiker goed kijken welk karakter het probleem veroorzaakt.Here are some more random valid examples:

DEC

00.12312 S 000.12312 W
52.12312N, 20.12312E
52. 12312 20. 12312
52 n 20 o
92 West 0
+2.12312 -020.12312

DEG

52° 12.312′ N 20° 12.312′ E
52 06 S 20 6 W
N 051° 39.688′ E 006° 27.336′
52 12 20 12
N52 12 E20 12
-052 6 -20 06

DMS

52° 12′ 30.15″ N, 20° 12′ 30.15″ E
52 12 45 S, 20 12 45 W
North 52 6 30.15, East 20 06 30.15
52 6 9 20 6 9
N52 12 30.15, E20 12 30.15