Zostań w temacie i policz dalej
Walidator nie ma zastępować konwertera. Jego zadaniem jest wykrywanie błędów przed skopiowaniem współrzędnych do serwisu, aplikacji lub urządzenia.
Co dokładnie sprawdza walidator współrzędnych?
Walidacja to coś więcej niż samo przeliczenie liczb. Narzędzie kontroluje, czy:
- szerokość ma właściwą literę N albo S,
- długość ma właściwą literę E albo W,
- stopnie szerokości mieszczą się w zakresie 0–90,
- stopnie długości mieszczą się w zakresie 0–180,
- minuty są nieujemne i mniejsze niż 60,
- na granicy 90° lub 180° minuty są równe zero,
- wklejony tekst wygląda jak deklarowany format,
- zaokrąglenie do wybranej dokładności nie zmieniło zapisu w sposób niezauważony.
Po poprawnej walidacji powstaje ujednolicony DDM oraz kontrolny zapis DD.
Szybka checklista poprawności DDM
| Element | Poprawnie | Błąd |
|---|---|---|
| Szerokość | N/S + 0–90° | np. N 91° ... |
| Długość | E/W + 0–180° | np. E 181° ... |
| Minuty | 0 ≤ min < 60 | 60.000' lub więcej |
| Biegun 90° | 90° 00.000' | 90° 12.000' |
| Południk 180° | 180° 00.000' | 180° 00.001' |
| Kierunki | N/S dla latitude, E/W dla longitude | N przy długości albo E przy szerokości |
Jak wygląda poprawny zapis DDM?
Typowy zapis stopni i minut dziesiętnych ma postać:
Najpierw występuje szerokość geograficzna, potem długość. Litera określa półkulę, liczba przed symbolem stopni to pełne stopnie, a liczba po nim to minuty dziesiętne.
Wiodące zero w długości, np. `021°`, poprawia czytelność i walidator dodaje je w wyniku znormalizowanym, ale sama wartość `21°` oznacza tę samą liczbę stopni.
Dlaczego 60.000 minut jest błędem?
Jedna pełna godzina kątowa nie istnieje w zapisie minut współrzędnej, ponieważ:
Dlatego poprawny zakres minut to od 0 włącznie do mniej niż 60. Zapis:
powinien zostać znormalizowany do:
Walidator nie poprawia automatycznie takiego błędu w danych wejściowych, ponieważ `60.000` może też oznaczać zwykłą literówkę. Pokazuje błąd, aby użytkownik świadomie sprawdził źródło.
Ciekawostka
Zmiana o 0,001 minuty szerokości geograficznej odpowiada w przybliżeniu 1,85 m w kierunku północ–południe. Dla długości geograficznej odległość zależy od szerokości i maleje w stronę biegunów.
Dlatego trzy miejsca dziesiętne minut dają wygodny poziom zapisu terenowego, ale nie oznaczają automatycznie, że sam pomiar GPS ma dokładność do około dwóch metrów.
N, S, E i W – najprostszy błąd, który przenosi punkt bardzo daleko
Litery półkul nie są ozdobą. Odpowiadają znakowi współrzędnej w zapisie DD:
Szerokość
N = dodatnia
S = ujemna
Długość
E = dodatnia
W = ujemna
Prawidłowe cyfry z błędną literą mogą wskazać punkt po przeciwnej stronie równika albo południka Greenwich. Walidator dlatego traktuje kierunki jako podstawową część danych.
Szczególne granice: 90° szerokości i 180° długości
Zakres `0–90°` nie oznacza, że po wartości 90 można jeszcze dopisać minuty. `90° 00.000'` jest granicą szerokości geograficznej. `90° 00.001'` przekracza już fizyczny zakres.
Analogicznie graniczną wartością długości jest `180° 00.000'`. Przy 180° minuty muszą wynosić zero.
To przypadki, których prosty formularz HTML nie zawsze wychwytuje samym `max="90"` lub `max="180"`, dlatego są kontrolowane również w logice JS.
Tryb ścisły i luźny – kiedy którego użyć?
Ścisły DDM
Najlepszy do sprawdzania zapisu przygotowanego do geocachingu. Oczekuje współrzędnych DDM z kierunkami N/S i E/W.
DD albo DMS zostaną oznaczone jako inny format zamiast udawać poprawny DDM.
Luźny
Pozwala wkleić również DD, HDD albo DMS i znormalizować punkt do DDM.
To funkcja pomocnicza walidatora. Do właściwego przeliczania formatów służy osobny konwerter.
DDM pomylone z DMS – częsty błąd przy przepisywaniu
Te dwa zapisy wyglądają podobnie:
W DDM liczba `13.123` oznacza 13,123 minuty. Nie jest to „13 minut i 123 sekundy”. W DMS sekundy są osobnym trzecim elementem.
Stary parser mógł odczytać początek zapisu DMS jako DDM. W poprawionej wersji DMS jest rozpoznawane przed DDM i w trybie ścisłym zgłaszane jako inny format.
Przykład poprawny krok po kroku
- N jest prawidłowym kierunkiem szerokości.
- 52° mieści się w zakresie 0–90°.
- 13.123' jest mniejsze niż 60'.
- E jest prawidłowym kierunkiem długości.
- 21° mieści się w zakresie 0–180°.
- 00.456' jest mniejsze niż 60'.
Kontrolne DD wynosi około:
Przykład błędny: E 019° 60.000'
Cały zapis może wyglądać wiarygodnie:
Szerokość jest dopuszczalna, ale długość ma dokładnie 60 minut. To błąd DDM. Jeśli wartość rzeczywiście powstała przez zaokrąglenie, matematycznie odpowiada przejściu do kolejnego stopnia, jednak przed zmianą trzeba sprawdzić dane źródłowe.
Przycisk „Przykład z błędem 60.000'” pozwala od razu zobaczyć komunikat walidatora.
Zaokrąglenie DDM – czy zmienia punkt?
Jeżeli źródłowe minuty mają więcej miejsc dziesiętnych niż wynik, część informacji zostaje odrzucona przez zaokrąglenie. Kalkulator wylicza przybliżoną odległość pomiędzy wartością przed i po takim zaokrągleniu.
Przykładowo przy ustawieniu 3 miejsc `13.12349'` stanie się `13.123'`, a `13.12350'` po standardowym zaokrągleniu stanie się `13.124'`.
Wynik „przesunięcie od zaokrąglenia” dotyczy tylko matematycznego formatowania zapisu – nie jest oceną błędu odbiornika GPS.
Wiodące zera w długości – błąd czy tylko format?
`E 21° 00.456'` i `E 021° 00.456'` mają tę samą wartość liczbową. Wiodące zero nie zmienia położenia.
W zapisie DDM często stosuje się dwie cyfry stopni dla szerokości i trzy dla długości. Dzięki temu pary wyglądają regularnie i łatwiej zauważyć przesunięcie cyfr podczas ręcznego przepisywania.
Walidator nie uznaje braku zera za błąd, ale wynik normalizuje do czytelnego układu `N 52° ... E 021° ...`.
Przecinek, kropka i separatory – co może pójść nie tak?
W polskim zapisie dziesiętnym naturalny jest przecinek, natomiast wiele serwisów i urządzeń używa kropki. Walidator akceptuje przecinek w minutach DDM i normalizuje go do kropki.
Przy parze DD najlepiej stosować jednoznaczny zapis:
albo dla przecinka dziesiętnego:
Dwa przecinki pełniące jednocześnie rolę separatorów dziesiętnych i separatora współrzędnych tworzą zapis niejednoznaczny, którego walidator nie powinien zgadywać.
Czy latitude i longitude mogą być zamienione miejscami?
Tak, szczególnie przy kopiowaniu samej pary liczb. Szerokość geograficzna może mieć maksymalnie 90°, a długość maksymalnie 180°. Jeżeli pierwsza wartość ma np. 120°, a druga 50°, to bardzo mocny sygnał, że kolejność została zamieniona.
Jeżeli obie wartości mieszczą się w zakresie ±90°, sama matematyka nie pozwala pewnie rozpoznać zamiany. Walidator nie zamienia wtedy danych automatycznie.
Przed użyciem punktu warto porównać jego ogólny region z oczekiwanym miejscem.
Geocaching.com a format współrzędnych
Geocaching.com akceptuje kilka formatów współrzędnych, w tym DDM, DD/HDD i DMS. W dokumentacji serwisu DDM jest wskazany jako format domyślny. Dlatego walidator koncentruje się przede wszystkim na DDM, ale tryb luźny potrafi rozpoznać również inne popularne zapisy i przygotować znormalizowany DDM.
Źródło: Geocaching HQ – Coordinate formats.
WGS84 a poprawność zapisu – czego walidator nie sprawdza?
Poprawny zakres DD lub DDM nie dowodzi jeszcze, że dane pochodzą z właściwego układu odniesienia. Walidator zakłada szerokość i długość geograficzną używaną jako współrzędne GPS/WGS84.
Nie sprawdza ani nie transformuje współrzędnych projekcyjnych takich jak UTM, PUWG 1992, PUWG 2000 czy pary X/Y podane w metrach.
Jeżeli masz takie dane, potrzebujesz transformacji układu współrzędnych, a nie kontroli formatu DDM. W tym celu przejdź do konwertera WGS84 / PL-1992 / PL-2000.
Dla uczniów i studentów: walidacja to sprawdzenie dziedziny danych
Ten kalkulator jest dobrym przykładem kontroli danych przed obliczeniem. Zanim wykonamy wzór:
sprawdzamy, czy wartości należą do dozwolonych przedziałów. Matematycznie można policzyć `52 + 75/60`, ale zapis `52° 75'` nie jest poprawnym standardowym DDM – powinien zostać znormalizowany do kolejnego stopnia i odpowiedniej liczby minut.
W programowaniu takie sprawdzenie danych wejściowych przed dalszym przetwarzaniem nazywa się walidacją.
Najczęstsze błędy przy współrzędnych geocaching
- minuty równe 60 lub większe,
- DMS wklejone jako DDM,
- brak N/S/E/W w zapisie, który ma korzystać z kierunków,
- S zamiast N albo W zamiast E,
- szerokość większa niż 90° albo długość większa niż 180°,
- 90° lub 180° z niezerowymi minutami,
- zamiana latitude i longitude,
- niejednoznaczne przecinki w parze DD,
- przedwczesne zaokrąglenie minut,
- wpisanie współrzędnych X/Y lub UTM do pól przeznaczonych dla DDM.
Walidator a konwerter – jasny podział funkcji
Walidator odpowiada na pytanie: „czy zapis jest poprawny i czy mogę go bezpiecznie skopiować?”. Wynikiem są status, błędy, ostrzeżenia oraz znormalizowany DDM.
Konwerter odpowiada na pytanie: „jak tę samą współrzędną zapisać w DD, DDM albo DMS?”. Tam główną funkcją jest zmiana formatu.
Dzięki temu oba narzędzia są powiązane, ale nie wykonują dokładnie tego samego zadania.
Wskazówka od KalkulatorXXL
Przed publikacją albo zapisaniem punktu wykonaj trzy szybkie kontrole: kierunki N/S/E/W, minuty < 60 oraz ogólny region kontrolnej pary DD.
Jeżeli współrzędne są poprawne, ale potrzebujesz innego zapisu dla aplikacji lub urządzenia, nie przerabiaj ich ręcznie – przejdź do konwertera DD/DDM/DMS.