Przejdź do treści

random-location-generator

Natychmiastowe generowanie losowych współrzędnych geograficznych. Darmowy generator losowych lokalizacji tworzy prawidłowe wartości szerokości i długości geograficznej z interaktywną mapą. Idealny do testowania aplikacji.

Generator Losowych Lokalizacji

Kalkulator załadunku...
📚

Dokumentacja

Generator losowych lokalizacji to narzędzie, które tworzy losową parę współrzędnych geograficznych: szerokość i długość geograficzną. Każdy wynik wskazuje punkt, który może znajdować się w dowolnym miejscu na powierzchni Ziemi — na otwartym oceanie, na ulicy miasta lub na szczycie górskim.

Co generuje narzędzie

Każde kliknięcie generuje jedną wartość szerokości geograficznej między -90° a 90° oraz jedną wartość długości geograficznej między -180° a 180°. Narzędzie wyświetla obie liczby w stopniach dziesiętnych, na przykład 60,0000° N, 90,0000° W, i zaznacza punkt na prostej mapie świata. Ujemna szerokość geograficzna oznacza, że punkt leży na południe od równika; ujemna długość geograficzna oznacza, że znajduje się na zachód od południka zerowego, który przebiega przez Greenwich w Wielkiej Brytanii.

Jak korzystać z generatora losowych lokalizacji

  1. Naciśnij przycisk Generuj.
  2. Odczytaj współrzędne wyświetlone pod przyciskiem, wraz z kierunkami N/S i E/W.
  3. Sprawdź znacznik na mapie świata, aby zobaczyć w przybliżeniu, gdzie znajduje się punkt.
  4. Naciśnij Kopiuj, aby skopiować współrzędne i użyć ich w innym miejscu.
  5. Naciśnij ponownie Generuj, aby uzyskać nowy punkt. Nie ma ograniczenia liczby powtórzeń tej czynności.
  6. Naciśnij Resetuj, aby wyczyścić wynik i zacząć od nowa.

Jak obliczane są współrzędne (wzór)

Długość geograficzna jest obliczana w prosty sposób: jest wybierana jednostajnie, co oznacza, że każda wartość między -180° a 180° jest jednakowo prawdopodobna. Wzór ma postać:

λ=v×360−180\lambda = v \times 360 - 180

gdzie λ oznacza długość geograficzną w stopniach, a v jest liczbą losową z przedziału od 0 do 1.

Szerokość geograficzna działa inaczej i właśnie ten element jest często obliczany nieprawidłowo. Stosowany wzór to:

φ=arcsin⁡(2u−1)\varphi = \arcsin(2u - 1)

gdzie φ oznacza szerokość geograficzną przeliczoną z radianów na stopnie, u jest odrębną liczbą losową z przedziału od 0 do 1, a arcsin jest funkcją odwrotną do funkcji sinus.

Dlaczego szerokość geograficzna nie jest wybierana za pomocą zwykłej liczby losowej

Równoleżnik w pobliżu biegunów jest krótki. Równoleżnik na równiku jest długi i opasuje większą część planety. Gdyby szerokość geograficzna była wybierana za pomocą zwykłej liczby losowej między -90 a 90, każdy stopień szerokości geograficznej otrzymywałby taką samą część wyników, mimo że obszary przy biegunach obejmują znacznie mniejszą część powierzchni Ziemi niż obszary równikowe. Zbyt wiele punktów skupiałoby się wtedy w pobliżu biegunów.

Wzór z funkcją arcus sinus naprawia ten problem. Rozmieszcza punkty tak, aby każdy fragment powierzchni Ziemi miał jednakową szansę wyboru, niezależnie od odległości od bieguna. Ideę tę określa się mianem losowania punktów na sferze; wynika ona z reguły znanej czasem jako twierdzenie Archimedesa o kapeluszu i pudełku: pole powierzchni pasa między równoleżnikami zależy od różnicy sinusów jego krawędzi, a nie od różnicy ich wartości wyrażonych w stopniach.

Przykład obliczeniowy

Załóżmy, że generator losuje dwie liczby: u = 0,9330127 dla szerokości geograficznej oraz v = 0,25 dla długości geograficznej.

  • szerokość geograficzna = arcsin(2 × 0,9330127 − 1) = arcsin(0,8660254) = 60°
  • długość geograficzna = 0,25 × 360 − 180 = -90°

Wynik to 60,0000° N, 90,0000° W — punkt w pobliżu Zatoki Hudsona w północnej Kanadzie.

Przykład kodu

Te same dwa kroki działają w każdym języku programowania: należy wylosować dwie liczby między 0 a 1, zastosować wzór z funkcją arcus sinus do pierwszej z nich, aby uzyskać szerokość geograficzną, a drugą przeskalować, aby uzyskać długość geograficzną.

Python

1import random
2import math
3
4def generate_random_coordinates():
5    u = random.random()
6    v = random.random()
7    latitude = math.degrees(math.asin(2 * u - 1))
8    longitude = v * 360 - 180
9    return latitude, longitude
10

JavaScript

1function generateRandomCoordinates() {
2  const u = Math.random();
3  const v = Math.random();
4  const latitude = Math.asin(2 * u - 1) * (180 / Math.PI);
5  const longitude = v * 360 - 180;
6  return { latitude, longitude };
7}
8

Prostsza wersja, która pomija obliczenie arcus sinusa i wybiera szerokość geograficzną jako random.uniform(-90, 90), jest łatwiejsza do napisania, ale skupia punkty przy biegunach zamiast równomiernie rozprowadzać je po powierzchni Ziemi.

Typowe zastosowania

Programiści używają losowych współrzędnych do testowania funkcji GPS, renderowania map i aplikacji opartych na lokalizacji bez konieczności ręcznego wybierania danych testowych. Projektanci gier wykorzystują je do rozmieszczania punktów odradzania lub lokalizacji skarbów. Nauczyciele stosują je do ćwiczenia z uczniami odczytywania szerokości i długości geograficznej. Naukowcy wykorzystują je do bezstronnego wyboru miejsc pobierania próbek w badaniach terenowych, ponieważ metoda z funkcją arcus sinus nie faworyzuje żadnego regionu globu.

Często zadawane pytania

W jakim formacie są podawane współrzędne?

Stopnie dziesiętne (DD), na przykład 40,7128° N, 74,0060° W. Tego formatu używa większość usług mapowych, w tym Mapy Google, a także urządzenia GPS.

Dlaczego tak wiele losowych współrzędnych wskazuje ocean?

Woda pokrywa około 71% powierzchni Ziemi, więc naprawdę losowy punkt z większym prawdopodobieństwem znajdzie się na oceanie niż na lądzie. Jest to oczekiwane i potwierdza równomierne rozmieszczenie współrzędnych, a nie stanowi wady narzędzia.

Czy mogę generować współrzędne tylko dla jednego kraju lub kontynentu?

Nie. To narzędzie wybiera punkty z dowolnego miejsca na Ziemi. Aby ograniczyć wyniki do danego regionu, po wygenerowaniu trzeba dodatkowo odfiltrować współrzędne albo użyć narzędzia z ograniczeniami wyznaczonymi przez granice regionu.

Jak dokładne są współrzędne?

Każda wartość ma 4 cyfry po przecinku. W przypadku szerokości geograficznej oznacza to dokładność około 11 metrów (36 stóp) w dowolnym miejscu na Ziemi. W przypadku długości geograficznej te same 4 cyfry odpowiadają około 11 metrom w pobliżu równika; odległość ta zmniejsza się bliżej biegunów, ponieważ południki zbliżają się tam do siebie.

Czy współrzędne wskazują rzeczywiste lokalizacje?

Tak. Każdy wynik jest matematycznie poprawnym punktem na powierzchni Ziemi, choć może znajdować się na otwartym oceanie, lodzie lub w innym miejscu bez pobliskich zabudowań.

Jak przeliczyć stopnie dziesiętne na stopnie, minuty i sekundy (DMS)?

Potraktuj część całkowitą jako stopnie. Pomnóż część dziesiętną przez 60, aby uzyskać minuty. Weź część dziesiętną otrzymanego wyniku i ponownie pomnóż ją przez 60, aby uzyskać sekundy.