Pāriet uz saturu

random-location-generator

Momentāli ģenerējiet nejaušas ģeogrāfiskās koordinātes. Bezmaksas nejaušu atrašanās vietu ģenerators izveido derīgas platuma un garuma vērtības ar interaktīvu karti. Ideāli piemērots lietotņu testēšanai.

Nejaušu atrašanās vietu ģenerators

Ielādes kalkulators...
📚

Dokumentācija

Nejaušas atrašanās vietas ģenerators ir rīks, kas izveido nejaušu ģeogrāfisko koordinātu pāri: platuma grādu un garuma grādu. Katrs rezultāts apzīmē punktu, kas var atrasties jebkur uz Zemes virsmas — atklātā okeānā, pilsētas ielās vai kalna virsotnē.

Ko ģenerē šis rīks

Katrs klikšķis izveido vienu platuma vērtību diapazonā no -90° līdz 90° un vienu garuma vērtību diapazonā no -180° līdz 180°. Rīks abas vērtības parāda decimālajos grādos, piemēram, 60,0000° N, 90,0000° W, un atzīmē punktu vienkāršā pasaules kartē. Negatīva platuma vērtība nozīmē, ka punkts atrodas uz dienvidiem no ekvatora; negatīva garuma vērtība nozīmē, ka tas atrodas uz rietumiem no sākummeridiāna — līnijas, kas šķērso Griniču Apvienotajā Karalistē.

Kā izmantot nejaušas atrašanās vietas ģeneratoru

  1. Nospiediet pogu Ģenerēt.
  2. Izlasiet zem pogas parādītās koordinātas kopā ar ziemeļu/dienvidu un austrumu/rietumu virzienu apzīmējumiem.
  3. Apskatiet atzīmi pasaules kartē, lai aptuveni noteiktu punkta atrašanās vietu.
  4. Nospiediet Kopēt, lai kopētu koordinātas izmantošanai citur.
  5. Nospiediet Ģenerēt vēlreiz, lai iegūtu jaunu punktu. To var izdarīt neierobežotu reižu skaitu.
  6. Nospiediet Atiestatīt, lai notīrītu rezultātu un sāktu no jauna.

Kā aprēķina koordinātas (formula)

Garuma grādu aprēķināt ir vienkārši: tas tiek izvēlēts vienmērīgi, proti, katrai vērtībai diapazonā no -180° līdz 180° ir vienāda iespējamība. Formula ir šāda:

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

kur λ ir garuma grāds grādos, bet v ir nejaušs skaitlis diapazonā no 0 līdz 1.

Platuma grādu aprēķina citādi, un tieši šajā vietā cilvēki bieži kļūdās. Izmanto šādu formulu:

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

kur φ ir platuma grāds, kas pārrēķināts no radiāniem grādos, u ir atsevišķs nejaušs skaitlis diapazonā no 0 līdz 1, bet arcsin ir sinusa funkcijas inversā funkcija.

Kāpēc platuma grādu neizvēlas ar vienkāršu nejaušu skaitli

Platuma riņķa līnija pie poliem ir īsa. Platuma riņķa līnija pie ekvatora ir gara un aptver lielāko daļu planētas apkārtmēra. Ja platuma grādu izvēlētos ar vienkāršu nejaušu skaitli diapazonā no -90 līdz 90, katrs platuma grāds saņemtu vienādu rezultātu daļu, lai gan polārie riņķi aptver daudz mazāku Zemes virsmas laukumu nekā ekvatoriālie. Tā pārāk daudz punktu sakrātos pie poliem.

Arksinusa formula šo problēmu novērš. Tā izkliedē punktus tā, lai katram Zemes virsmas apgabalam būtu vienāda iespēja tikt izvēlētam neatkarīgi no tā, cik tuvu tas atrodas polam. Šo pieeju sauc par punktu izvēli uz sfēras, un tā izriet no likuma, ko dažkārt dēvē par Arhimēda cepures kastes teorēmu: platuma joslas virsmas laukums ir atkarīgs no tās malu sinusu starpības, nevis no starpības grādos.

Aprēķina piemērs

Pieņemsim, ka ģenerators izveido divus nejaušus skaitļus: u = 0,9330127 platuma grādam un v = 0,25 garuma grādam.

  • platuma grāds = arcsin(2 × 0,9330127 − 1) = arcsin(0,8660254) = 60°
  • garuma grāds = 0,25 × 360 − 180 = -90°

Rezultāts ir 60,0000° N, 90,0000° W — punkts netālu no Hadsona līča Kanādas ziemeļos.

Koda piemērs

Tās pašas divas darbības var izmantot jebkurā programmēšanas valodā: izveidot divus nejaušus skaitļus diapazonā no 0 līdz 1, pirmajam piemērot arksinusa formulu, lai iegūtu platuma grādu, un otro mērogot, lai iegūtu garuma grādu.

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

Vienkāršāku versiju, kurā izlaiž arksinusa darbību un platuma grādu izvēlas kā random.uniform(-90, 90), ir vieglāk uzrakstīt, taču tā punktus sakopo pie poliem, nevis vienmērīgi izkliedē pa Zemes virsmu.

Biežākie lietojumi

Programmatūras izstrādātāji izmanto nejaušas koordinātas, lai pārbaudītu GPS funkcijas, karšu attēlošanu un uz atrašanās vietu balstītas lietotnes, manuāli neizvēloties testa datus. Spēļu izstrādātāji tās izmanto sākumpunktu vai dārgumu meklēšanas vietu izvietošanai. Skolotāji tās izmanto, lai kopā ar skolēniem vingrinātos nolasīt platuma un garuma grādus. Pētnieki tās izmanto neietekmētu paraugu atrašanās vietu izvēlei lauka pētījumos, jo arksinusa metode nedod priekšroku nevienam pasaules reģionam.

Biežāk uzdotie jautājumi

Kādā formātā tiek attēlotas koordinātas?

Decimālajos grādos (DD), piemēram, 40,7128° N, 74,0060° W. Šo formātu izmanto lielākā daļa kartēšanas pakalpojumu, tostarp Google Maps, kā arī GPS ierīces.

Kāpēc tik daudzas nejaušas koordinātas atrodas okeānā?

Ūdens klāj aptuveni 71% Zemes virsmas, tāpēc patiesi nejauši izvēlēts punkts, visticamāk, atradīsies okeānā, nevis uz sauszemes. Tas ir sagaidāms un apliecina, ka koordinātas ir vienmērīgi izkliedētas, nevis norāda uz rīka kļūdu.

Vai varu ģenerēt koordinātas tikai vienai valstij vai kontinentam?

Nē. Šis rīks izvēlas punktus jebkur uz Zemes. Lai ierobežotu rezultātus līdz kādam reģionam, pēc ģenerēšanas būtu nepieciešama papildu koordinātu filtrēšana vai arī rīks ar noteiktām robežām.

Cik precīzas ir koordinātas?

Katrai vērtībai aiz komata ir 4 cipari. Platuma grādam tas nozīmē aptuveni 11 metru precizitāti (36 pēdas) jebkur uz Zemes. Garuma grādam tie paši 4 cipari pie ekvatora aptver aptuveni 11 metrus, bet tuvāk poliem šis attālums samazinās, jo tur garuma līnijas atrodas tuvāk cita citai.

Vai koordinātas atbilst reālām atrašanās vietām?

Jā. Katrs rezultāts ir matemātiski derīgs punkts uz Zemes virsmas, lai gan tas var atrasties atklātā okeānā, ledū vai citā vietā, kur tuvumā nav apdzīvotas vietas.

Kā pārrēķināt decimālos grādus grādos, minūtēs un sekundēs (DMS)?

Izmantojiet veselo skaitli kā grādu vērtību. Reiziniet decimāldaļu ar 60, lai iegūtu minūtes. Ņemiet šī rezultāta decimāldaļu un vēlreiz reiziniet to ar 60, lai iegūtu sekundes.