Ero sivun ”Maidenhead-lokaattorijärjestelmä” versioiden välillä

Radioamatööriwikistä
Siirry navigaatioon Siirry hakuun
p (kielentarkistus, putsaus ja luokittelu)
(portattu tiedot osittain päällekkäisestä artikkelista)
Rivi 1: Rivi 1:
'''Maidenhead-ruudukko''' on määritelty [[WGS84]]:n kuvaamalle globaalille koordinaatistolle ja se vuorottelee pituusastetta ja leveysastetta koodaavia merkkejä pareittain. ("PiLePiLePiLe...")
'''Maidenhead-lokaattorijärjestelmä''' on maailmanlaajuinen ruutukoordinaatisto, joka kuvaa paikkaa halutulla tarkkuusasteella. Esimerkiksi lokaattori 'KP22UF' muistuttaa muodoltaan neliötä ja kattaa suurimman osan Jyväskylän keskustaa.


Esitystapa tuo kompaktissa muodossa radioamatöörikäytössä riittävää tarkkuutta radioasemien sijaintitietoihin ja käyttötarpeesta riippuen sitä esitetään vaihtelevalla merkkimäärällä antaen paikan vähemmän tai enemmän tarkasti. Kompaktiudesta on hyötyä erityisesti sähkötyksellä tapahtuvassa viestinnässä.
Radioamatöörit käyttävät Maidenhead-ruudukkoa etenkin kilpailutoiminnassa kertomaan, kuinka kaukana toisistaan asemat ovat. HF-taajuuksilla käytetään neljän merkin tarkkuutta (esim. 'KP30'), VHF:llä yleensä kuutta merkkiä ('KP30CR'). Suomi on lähes kokonaan kahden merkin tarkkuudella lausuttavassa kentässä 'KP'.


== Esitystavasta ==
Esitystapa tuo kompaktissa muodossa radioamatöörikäytössä riittävää tarkkuutta radioasemien sijaintitietoihin ja käyttötarpeesta riippuen sitä esitetään vaihtelevalla merkkimäärällä antaen paikan vähemmän tai enemmän tarkasti. Kompaktiudesta on hyötyä erityisesti merkkinopeudeltaan hitaassa viestinnässä, esimerkiksi [[sähkötys|sähkötyksessä]].


Näille merkkipareille on seuraavat nimitykset:
== Maidenhead-ruudukon määrittely ==
* Field ("kenttä")
 
* Square ("ruutu")
Maidenhead-ruudukko on määritelty [[WGS84]]:n kuvaamalle globaalille koordinatistolle ja se vuorottelee pituusastetta ja leveysastetta koodaavia merkkejä pareittain ("PiLePiLePiLe..."). Näille merkkipareille on seuraavat nimitykset:
* Sub-Square, tai VHF touhuissa "locator"
 
* Extended-locator
* Kenttä ''(field)''
* Ruutu ''(square)''
* Aliruutu ''(sub-square,'' tai VHF-touhuissa vain ''"locator")''
* Laajennettu lokaattori ''(extended locator)''


   Merkkejä  leveysasteen koko      Pituusasteen koko
   Merkkejä  leveysasteen koko      Pituusasteen koko
     4          1°        111  km          2°
     4          1°        111  km          2°           ruutu
     6      2.5' / 2'30"  4.6  km    5.0' / 5'00"
     6      2.5' / 2'30"  4.6  km    5.0' / 5'00"      aliruutu, "lokaattori"
     8      0.25' / 0'15"  462  m    0.5' / 0'30"
     8      0.25' / 0'15"  462  m    0.5' / 0'30"       laajennettu
     10        0.625"        19.3 m        1.25"
     10        0.625"        19.3 m        1.25"
     12        0.063"        1.9 m        0.125"
     12        0.063"        1.9 m        0.125"
Pituusasteen (itä-länsi) lineaarinen pituus suhtautuu leveysasteen annettuun pituuteen kertoimella: <math>\cos(leveysaste)</math>


Pituusaste koodataan etelänavalta (-90&deg;) alkavana kaarena pohjoisnavalle asti (+90&deg;). Leveysaste koodataan alkaen 180&deg; läntistä pituutta kulkien nollameridiaanin kautta ja päätyen 180&deg; itäiseen pituuteen. Geodeettien tapaan tämä laskee ''positiivisena suuntana itään'', eikä kuten USA:laiset usein: länteen.
[[IARU]] Region 1 on määritellyt brittien [[RSGB]]:n esityksestä kahdeksanmerkkisen "laajennetun lokaattorin" (ns. "extended locator", esim. KP30CR56), mutta siitä eteenpäin ei ole virallisia määrityksiä.
 
Pituusasteen (itä-länsi) lineaarinen pituus suhtautuu leveysasteen annettuun pituuteen kertoimella <math>\cos(leveysaste)</math>.
 
Pituus- ja leveysasteet on myös asetettu alkamaan niin, että kaikki luvut ovat positiivisia. Leveysaste koodataan nollakohtana etelänavalta (-90&deg;) alkavana kaarena pohjoisnavalle asti (+90&deg;). Pituusasteilla nollana on 180 astetta läntistä pituutta ja maksimina (360&deg;) 180 astetta itäistä pituutta, joten nollameridiaani saa arvon 180 astetta ja geodeettien tapaan pituus laskee ''positiivisena suuntana itään''.


Radioamatöörit käyttävät tätä ruudukkoa kilpailutoiminnassaan kertoen kuinka kaukana toisistaan he ovat. HF taajuuksilla käytetään 4 merkin tarkkuutta (KP30), VHF:llä yleensä 6:tta merkkiä (KP30CR), mutta on joitain erityistarpeita joilla tarvitaan tarkempaa tietoa (jos ollenkaan käytetään Maidenheadia). IARU Region 1 on määritellyt Brittien RSGB:n esityksestä 8 merkkisen "extended locator":n (KP30CR56), mutta siitä eteenpäin ei ole mitään määrityksiä ja käytetty menetelmä on vain omaa fantasiaani (joskin myös maanmittauslaitos näyttää käyttävän samaa koodausta).
== Koordinaattien koodaaminen ==
== Koordinaattien koodaaminen ==


Koodausta voi ajatella matemaattisessa mielessä lukuarvona nollan ja ykkösen (jälkimmäistä koskaan saavuttamatta) välillä siten että tekstiesityksestä on jätetty alusta "0." pois ja ollaan koodaamassa luvun "desimaaleja", joskin niin että koodauksen kantaluku vaihtelee:
Koodausta voi ajatella matemaattisessa mielessä lukuarvona nollan ja ykkösen (jälkimmäistä koskaan saavuttamatta) välillä siten että tekstiesityksestä on jätetty alusta "0." pois ja ollaan koodaamassa luvun "desimaaleja", joskin niin että koodauksen kantaluku vaihtelee:
* Ensimmäinen pari koodaa kantaluvulla 18 ja merkkeinä kirjaimet 'A'..'R'.
 
* Toinen koodaa kantaluvulla 10 ja numeroilla ('0'..'9').
* Ensimmäinen pari koodaa kantaluvulla 18 ja merkkeinä kirjaimet A-R.
* Kolmas koodaa kantaluvulla 24 kirjaimilla 'A'..'X'.
* Toinen pari koodaa kantaluvulla 10 ja numeroilla (0-9).
* Kolmas pari koodaa kantaluvulla 24 kirjaimilla A-X.
 
Tämän pidemmälle Maidenhead-ruudukkoa ei ole määritelty, mutta ilmeisiä tapoja jatkaa on
* Neljäs pari koodaa numeroita ja on siis 10
* Neljäs pari koodaa numeroita ja on siis 10
* Viidettä paria ei ole määritelty missään ja niinpä siitä on ainakin kaksi erilaista versiota: kantaluvut 24 ja 20.
* Viidettä paria ei ole määritelty missään ja niinpä siitä on ainakin kaksi erilaista versiota: kantaluvut 24 ja 20.
Rivi 34: Rivi 41:
* jne...  (Viestikallion työkalussa esityksen "lisätarkkuutta" luodaan vuorottelemalla toista ja kolmatta paria)
* jne...  (Viestikallion työkalussa esityksen "lisätarkkuutta" luodaan vuorottelemalla toista ja kolmatta paria)


 
== Koordinaattien koodausalgoritmi ==


Koordinaatin muuntaminen Maidenhead-merkeiksi tapahtuu seuraavin askelin:
Koordinaatin muuntaminen Maidenhead-merkeiksi tapahtuu seuraavin askelin:
Rivi 73: Rivi 80:


Yllä ".=" on PERL-ohjelmointikielen tapa kertoa, että kohdemerkkijonomuuttujan perään lisätään lausekkeen oikealla puolella muodostettu merkki tai merkkijono. Kaiken muun pitäisi olla kaikille ohjelmoijille tuttua.
Yllä ".=" on PERL-ohjelmointikielen tapa kertoa, että kohdemerkkijonomuuttujan perään lisätään lausekkeen oikealla puolella muodostettu merkki tai merkkijono. Kaiken muun pitäisi olla kaikille ohjelmoijille tuttua.
== Koordinaattien parsinta ==
 
== Koordinaattien parsinta-algoritmi ==


Yllä esitetylle koodaamiselle käänteinen toimenpide, joka on helppo tehdä vaikkapa näin:
Yllä esitetylle koodaamiselle käänteinen toimenpide, joka on helppo tehdä vaikkapa näin:
Rivi 116: Rivi 124:
9. Palautetaan tuloksena: pituus, leveys  (asteina)
9. Palautetaan tuloksena: pituus, leveys  (asteina)


Toisenlaisilla skaalauskertoimilla tuloksena on Radiaaneja (trigonometrisiin laskuihin) (Vihje: &pi;/2, &pi; ja 2&pi;)
Toisenlaisilla skaalauskertoimilla tuloksena on radiaaneja (trigonometrisiin laskuihin) (Vihje: &pi;/2, &pi; ja 2&pi;)
 
== Lähteet ==
 
Osa tekstistä on muokattu Viestikallion koordinaattityökalujen yhden lähdemodulin kommenteista.
 
== Aiheesta muualla ==
 
Esimerkkejä muunnoskoodeista ja muusta:


----
* [http://www.arrl.org/locate/gridinfo.html ARRLWeb: Grid Locators and Grid Squares]
Tämä teksti on muokattu Viestikallion koordinaattityökalujen yhden lähdemodulin kommenteista.
* [http://www.arrl.org/locate/grid.html ARRLWeb: Calculate Grid Square]
* [http://www.jonit.com/fieldlist/maidenhead.htm From the field hunter's web page: An explanation of the system and how it came into being.]
* [http://www.amsat.org/amsat/articles/houston-net/grids.html Maidenhead Grid Squares]
* [http://www.koders.com/perl/fidDAB6FD208AC4F5C0306CA344485FD0899BD2F328.aspx Perl module for converting between geographic coordinates and Maidenhead locator and calculating distance and bearing]
* [http://beta.unclassified.de/code/dotnet/maidenheadlocator/ C# class for converting between geographic coordinates and Maidenhead locator and calculating distance and bearing]


Katso myös:
* [http://www.viestikallio.fi/tools/maidenheadfuncs.php?source=1] Lähdekoodi [http://www.viestikallio.fi/tools/ Viestikallion koordinaattityökalujen] Maidenhead-funktioihin.


Viestikallion [http://www.viestikallio.fi/tools/tools.php koodinaattityökaluja].
[[Luokka:Koordinaatit]]
[[Luokka:Koordinaatit]]

Versio 11. kesäkuuta 2021 kello 01.17

Maidenhead-lokaattorijärjestelmä on maailmanlaajuinen ruutukoordinaatisto, joka kuvaa paikkaa halutulla tarkkuusasteella. Esimerkiksi lokaattori 'KP22UF' muistuttaa muodoltaan neliötä ja kattaa suurimman osan Jyväskylän keskustaa.

Radioamatöörit käyttävät Maidenhead-ruudukkoa etenkin kilpailutoiminnassa kertomaan, kuinka kaukana toisistaan asemat ovat. HF-taajuuksilla käytetään neljän merkin tarkkuutta (esim. 'KP30'), VHF:llä yleensä kuutta merkkiä ('KP30CR'). Suomi on lähes kokonaan kahden merkin tarkkuudella lausuttavassa kentässä 'KP'.

Esitystapa tuo kompaktissa muodossa radioamatöörikäytössä riittävää tarkkuutta radioasemien sijaintitietoihin ja käyttötarpeesta riippuen sitä esitetään vaihtelevalla merkkimäärällä antaen paikan vähemmän tai enemmän tarkasti. Kompaktiudesta on hyötyä erityisesti merkkinopeudeltaan hitaassa viestinnässä, esimerkiksi sähkötyksessä.

Maidenhead-ruudukon määrittely

Maidenhead-ruudukko on määritelty WGS84:n kuvaamalle globaalille koordinatistolle ja se vuorottelee pituusastetta ja leveysastetta koodaavia merkkejä pareittain ("PiLePiLePiLe..."). Näille merkkipareille on seuraavat nimitykset:

  • Kenttä (field)
  • Ruutu (square)
  • Aliruutu (sub-square, tai VHF-touhuissa vain "locator")
  • Laajennettu lokaattori (extended locator)
 Merkkejä   leveysasteen koko       Pituusasteen koko
    4           1°        111  km          2°            ruutu
    6       2.5' / 2'30"  4.6  km     5.0' / 5'00"       aliruutu, "lokaattori"
    8      0.25' / 0'15"  462   m     0.5' / 0'30"       laajennettu
   10        0.625"        19.3 m         1.25"
   12        0.063"         1.9 m         0.125"

IARU Region 1 on määritellyt brittien RSGB:n esityksestä kahdeksanmerkkisen "laajennetun lokaattorin" (ns. "extended locator", esim. KP30CR56), mutta siitä eteenpäin ei ole virallisia määrityksiä.

Pituusasteen (itä-länsi) lineaarinen pituus suhtautuu leveysasteen annettuun pituuteen kertoimella .

Pituus- ja leveysasteet on myös asetettu alkamaan niin, että kaikki luvut ovat positiivisia. Leveysaste koodataan nollakohtana etelänavalta (-90°) alkavana kaarena pohjoisnavalle asti (+90°). Pituusasteilla nollana on 180 astetta läntistä pituutta ja maksimina (360°) 180 astetta itäistä pituutta, joten nollameridiaani saa arvon 180 astetta ja geodeettien tapaan pituus laskee positiivisena suuntana itään.

Koordinaattien koodaaminen

Koodausta voi ajatella matemaattisessa mielessä lukuarvona nollan ja ykkösen (jälkimmäistä koskaan saavuttamatta) välillä siten että tekstiesityksestä on jätetty alusta "0." pois ja ollaan koodaamassa luvun "desimaaleja", joskin niin että koodauksen kantaluku vaihtelee:

  • Ensimmäinen pari koodaa kantaluvulla 18 ja merkkeinä kirjaimet A-R.
  • Toinen pari koodaa kantaluvulla 10 ja numeroilla (0-9).
  • Kolmas pari koodaa kantaluvulla 24 kirjaimilla A-X.

Tämän pidemmälle Maidenhead-ruudukkoa ei ole määritelty, mutta ilmeisiä tapoja jatkaa on

  • Neljäs pari koodaa numeroita ja on siis 10
  • Viidettä paria ei ole määritelty missään ja niinpä siitä on ainakin kaksi erilaista versiota: kantaluvut 24 ja 20.
  • Kuudettakaan paria ei ole määritelty missään, mutta siinä vuorossa olisi numerot kantaluvulla 10.
  • jne... (Viestikallion työkalussa esityksen "lisätarkkuutta" luodaan vuorottelemalla toista ja kolmatta paria)

Koordinaattien koodausalgoritmi

Koordinaatin muuntaminen Maidenhead-merkeiksi tapahtuu seuraavin askelin:

1. Skaalataan koordinaatti välille 0..1 (oletetaan lähtökoordinaattien muoto koodatun aluksi asteiksi ja desimaaleiksi)

  • pituus = (pituus + 90)/180
  • leveys = (leveys + 180)/360

2. Koodataan ensimmäinen kantaluku

  • # Kerrotaan koordinaatit esitysaskeleen kantaluvuilla saaden askeleen kokonaisosa
  • pituus = pituus * 18.0
  • leveys = leveys * 18.0
  • MH = chr(ord("A")+TRUNCATE(pituus))
  • MH = chr(ord("A")+TRUNCATE(leveys))
  • # Poistetaan kokonaisosa koordinaateista..
  • pituus = pituus - TRUNCATE(pituus)
  • leveys = leveys - TRUNCATE(leveys)

3. Koodataan toinen kantaluku

  • # Kerrotaan koordinaatit esitysaskeleen kantaluvuilla saaden askeleen kokonaisosa
  • pituus = pituus * 10.0
  • leveys = leveys * 10.0
  • MH .= chr(ord("0")+TRUNCATE(pituus))
  • MH .= chr(ord("0")+TRUNCATE(leveys))
  • # Poistetaan kokonaisosa koordinaateista..
  • pituus = pituus - TRUNCATE(pituus)
  • leveys = leveys - TRUNCATE(leveys)

4. Koodataan kolmas kantaluku

  • # Kerrotaan koordinaatit esitysaskeleen kantaluvuilla saaden askeleen kokonaisosa
  • pituus = pituus * 24.0
  • leveys = leveys * 24.0
  • MH .= chr(ord("A")+TRUNCATE(pituus))
  • MH .= chr(ord("A")+TRUNCATE(leveys))
  • # Poistetaan kokonaisosa koordinaateista..
  • pituus = pituus - TRUNCATE(pituus)
  • leveys = leveys - TRUNCATE(leveys)

5. Mahdollisesti toistetaan kohtia 3 ja 4 kunnes riittävä esityspituus on saatu

6. Palautetaan tuloksena MH-muuttujaan kertynyt merkkijono

Yllä ".=" on PERL-ohjelmointikielen tapa kertoa, että kohdemerkkijonomuuttujan perään lisätään lausekkeen oikealla puolella muodostettu merkki tai merkkijono. Kaiken muun pitäisi olla kaikille ohjelmoijille tuttua.

Koordinaattien parsinta-algoritmi

Yllä esitetylle koodaamiselle käänteinen toimenpide, joka on helppo tehdä vaikkapa näin:

1. Syöte tulee merkkijonomuuttujassa MH, kaikki kirjaimet isoja (KP30CR, ei kp30cr).
2. Asetetaan keruumuuttujat:

  • pituus = 0
  • leveys = 0

3. Asetetaan kertoimet:

  • kerroin = 1.0

4. Parsitaan ensimmäinen merkkipari:

  • kantaluku = 18.0
  • kerroin = kerroin / kantaluku
  • pituusmerkki = substr(MH, 1, 1) # Ensimmäinen merkki
  • leveysmerkki = substr(MH, 2, 1) # Toinen merkki
  • MH = substr(MH, 3) # Kolmannesta merkistä alkaen kaikki loput
  • pituus = pituus + (ord(pituusmerkki)-ord("A")) * kerroin
  • leveys = leveys + (ord(leveysmerkki)-ord("A")) * kerroin

5. Parsitaan toinen merkkipari:

  • Jos MH on tyhjä, mene kohtaan 8.
  • kantaluku = 10.0
  • kerroin = kerroin / kantaluku
  • pituusmerkki = substr(MH, 1, 1) # Ensimmäinen merkki
  • leveysmerkki = substr(MH, 2, 1) # Toinen merkki
  • MH = substr(MH, 3) # Kolmannesta merkistä alkaen kaikki loput
  • pituus = pituus + (ord(pituusmerkki)-ord("0")) * kerroin
  • leveys = leveys + (ord(leveysmerkki)-ord("0")) * kerroin

6. Parsitaan kolmas merkkipari:

  • Jos MH on tyhjä, mene kohtaan 8.
  • kantaluku = 24.0
  • kerroin = kerroin / kantaluku
  • pituusmerkki = substr(MH, 1, 1) # Ensimmäinen merkki
  • leveysmerkki = substr(MH, 2, 1) # Toinen merkki
  • MH = substr(MH, 3) # Kolmannesta merkistä alkaen kaikki loput
  • pituus = pituus + (ord(pituusmerkki)-ord("A")) * kerroin
  • leveys = leveys + (ord(leveysmerkki)-ord("A")) * kerroin

7. Palataan kohtaan 5.
8. MH merkkijono on käsitelty
8.1. Siirretään koordinaatit ruudun keskikohtaan

  • pituus = pituus + kerroin / 2
  • leveys = leveys + kerroin / 2

8.2. Skaalataan tulokset:

  • pituus = 180.0 * pituus - 90.0
  • leveys = 360.0 * leveys - 180.0

9. Palautetaan tuloksena: pituus, leveys (asteina)

Toisenlaisilla skaalauskertoimilla tuloksena on radiaaneja (trigonometrisiin laskuihin) (Vihje: π/2, π ja 2π)

Lähteet

Osa tekstistä on muokattu Viestikallion koordinaattityökalujen yhden lähdemodulin kommenteista.

Aiheesta muualla

Esimerkkejä muunnoskoodeista ja muusta: