Hopp til innhold

random-location-generator

Generer tilfeldige geografiske koordinater umiddelbart. Gratis tilfeldig lokasjons generator lager gyldige bredde- og lengdegrads verdier med interaktivt kart. Perfekt for testing av apper.

Tilfeldig lokasjons generator

Lastekalkulator...
📚

Dokumentasjon

En tilfeldig posisjonsgenerator er et verktøy som produserer et tilfeldig par geografiske koordinater: en breddegrad og en lengdegrad. Hvert resultat markerer et punkt som kan ligge hvor som helst på jordoverflaten, fra åpent hav til bygater og fjelltopper.

Hva verktøyet genererer

Hvert klikk produserer én breddegrad mellom -90° og 90° og én lengdegrad mellom -180° og 180°. Verktøyet viser begge tallene i desimalgrader, for eksempel 60,0000° N, 90,0000° V, og markerer punktet på et enkelt verdenskart. En negativ breddegrad betyr at punktet ligger sør for ekvator; en negativ lengdegrad betyr at det ligger vest for nullmeridianen, linjen som går gjennom Greenwich i Storbritannia.

Slik bruker du generatoren for tilfeldige steder

  1. Trykk på knappen Generer.
  2. Les koordinatene som vises under knappen, med retningene N/S og Ø/V.
  3. Se på markøren på verdenskartet for å se omtrent hvor punktet ligger.
  4. Trykk på Kopier for å kopiere koordinatene og bruke dem et annet sted.
  5. Trykk på Generer igjen for å få et nytt punkt. Det er ingen grense for hvor mange ganger dette kan gjøres.
  6. Trykk på Tilbakestill for å fjerne resultatet og begynne på nytt.

Slik beregnes koordinatene (formel)

Lengdegraden er enkel: Den velges uniformt, det vil si at alle verdier mellom -180° og 180° er like sannsynlige. Formelen er:

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

der λ er lengdegraden i grader, og v er et tilfeldig tall mellom 0 og 1.

Breddegraden fungerer annerledes, og det er her mange gjør feil. Formelen som brukes, er:

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

der φ er breddegraden, konvertert fra radianer til grader, u er et separat tilfeldig tall mellom 0 og 1, og arcsin er den inverse funksjonen til sinus.

Hvorfor breddegraden ikke velges med et vanlig tilfeldig tall

En breddegradssirkel nær polene er kort. En breddegradssirkel ved ekvator er lang og går rundt det meste av planeten. Hvis breddegraden ble valgt med et vanlig tilfeldig tall mellom -90 og 90, ville hver breddegrad få en like stor andel av resultatene, selv om breddegradssirklene nær polene dekker langt mindre av jordoverflaten enn sirklene ved ekvator. Det ville samlet for mange punkter nær polene.

Arcsin-formelen løser dette. Den fordeler punktene slik at hver del av jordoverflaten har like stor sjanse for å bli valgt, uansett hvor nær en pol den ligger. Denne ideen kalles punktvalg på en kule, og følger av en regel som noen ganger kalles Arkimedes' hattboksteorem: Arealet av et breddegradsbelte avhenger av forskjellen mellom sinusverdiene til kantene, ikke av forskjellen i grader.

Regneeksempel

Anta at generatoren trekker to tilfeldige tall: u = 0,9330127 for breddegrad og v = 0,25 for lengdegrad.

  • breddegrad = arcsin(2 × 0,9330127 − 1) = arcsin(0,8660254) = 60°
  • lengdegrad = 0,25 × 360 − 180 = -90°

Resultatet er 60,0000° N, 90,0000° V, et punkt nær Hudsonbukta i Nord-Canada.

Kodeeksempel

De samme to trinnene fungerer i alle programmeringsspråk: trekk to tilfeldige tall mellom 0 og 1, bruk arcsin-formelen på det første for å få breddegraden, og skaler det andre for å få lengdegraden.

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

En enklere versjon som hopper over arcsin-trinnet og velger breddegraden som random.uniform(-90, 90), er lettere å skrive, men samler punktene nær polene i stedet for å spre dem jevnt over jordoverflaten.

Vanlige bruksområder

Programvareutviklere bruker tilfeldige koordinater til å teste GPS-funksjoner, kartvisning og stedsbaserte apper uten å velge testdata manuelt. Spilldesignere bruker dem til å plassere startpunkter eller steder for skattejakter. Lærere bruker dem til å øve på å lese breddegrad og lengdegrad sammen med elever. Forskere bruker dem til å velge upartiske utvalgssteder for feltstudier, siden arcsin-metoden unngår å favorisere bestemte områder av kloden.

Ofte stilte spørsmål

Hvilket format har koordinatene?

Desimalgrader (DD), for eksempel 40,7128° N, 74,0060° V. Dette er formatet som brukes av de fleste karttjenester, blant annet Google Maps, og av GPS-enheter.

Hvorfor havner så mange tilfeldige koordinater i havet?

Vann dekker omtrent 71 % av jordoverflaten, så et virkelig tilfeldig punkt vil sannsynligvis havne i havet i stedet for på land. Dette er forventet og bekrefter at koordinatene er jevnt fordelt, ikke at det er en feil ved verktøyet.

Kan jeg generere koordinater bare for ett land eller ett kontinent?

Nei. Dette verktøyet velger punkter hvor som helst på jorden. For å begrense resultatene til en region måtte koordinatene filtreres etter genereringen, eller verktøyet måtte bygges med grenser for området.

Hvor nøyaktige er koordinatene?

Hver verdi har 4 sifre etter desimaltegnet. For breddegrad tilsvarer det en presisjon på omtrent 11 meter (36 fot) hvor som helst på jorden. For lengdegrad dekker de samme 4 sifrene omtrent 11 meter nær ekvator, og avstanden blir mindre nærmere polene fordi lengdegradslinjene ligger tettere der.

Er koordinatene gyldige steder i den virkelige verden?

Ja. Hvert resultat er et matematisk gyldig punkt på jordoverflaten, selv om det kan ligge i åpent hav, på is eller et annet sted uten bosetninger i nærheten.

Hvordan konverterer jeg desimalgrader til grader, minutter og sekunder (DMS)?

Bruk heltallsdelen som grader. Multipliser desimaldelen med 60 for å få minutter. Ta desimaldelen av dette resultatet og multipliser den med 60 igjen for å få sekunder.