Skip navigation

OK2RKB | ENG · GER · RUS · FRA · POL · HUN · ITA · SPA | Main · Pos · Neg · IE+ · IE- · Prn · Pda · CSSoff

OK2PPK » Texty » Programy » Loc | ---

Loc

offline program

Loc - výpočet vzdálenosti lokátorů

v1.2 (2013/12), v2.3 (2025/4), konzolová aplikace Win32Api

autor OK2PPK

Loc v1.x

Program Loc vypočítá vzdálenost a azimut mezi dvěma lokátory. Pracuje ve třech režimech. V prvním se mu zadají dva lokátory (v rozmezí AA00AA až RR99XX, může být použito malé i velké písmo) a program vypíše jejich souřadnice, azimuty mezi oběma lokátory, jejich vzdálenost, vzdálenost zaokrouhlenou dle doporučení (IARU-R1 VHF Handbook 10.02, bod 9.11.1) pro vyhodnocování VKV závodů a azimuty zaokoruhlené na celá čísla.

Do druhého režimu se program přepne použitím příkazu silent a opět zadáním dvou lokátoru. Program provádí vnitřně stejný výpočet jako v prvním režimu, ale vypíše pouze vzdálenost zaokrouhlenou dle doporučení pro vyhodnocování VKV závodů. V případě chyby program vypíše pouze nulu.

Ve třetím režimu se programu zadá výchozí lokátor, jméno souboru se vstupními daty a jméno souboru, do kterého se má uložit výsledek. Program čte lokátory ze vstupního souboru, provádí výpočet vzdálenosti a azimutu proti výchozímu lokátoru, a výsledky zapisuje do souboru. Vstupní soubor musí být textový, na každém jeho řádku musí být přesně a pouze jeden lokátor, pro který se má výpočet provést. Celkový počet řádků - tj. najednou zpracovatelných lokátorů - není omezen, ale při větším rozsahu dat může zpracování trvat dlouho - program má sice zabudované vyrovnávací paměti pro zrychlení práce se soubory, ale vlastní výpočty byly optimalizovány na přesnost na úkor rychlosti. Výstupní soubor je opět textový, každý řádek obsahuje výsledky výpočtu pro jeden lokátor načtený ze vstupního souboru, lokátory jsou ve stejném pořadí jako byly ve vstupním souboru, jeden výstupní řádek je ve tvaru výchozí lokátor, středník, lokátor načtený ze souboru, středník, zaokrouhlená vzdálenost, středník, zaokrouhlený azimut z výchozího do načteného lokátoru.

Pro výpočty ortodromy jsou použity běžné funkce ze standardní matematické knihovny pro C a čísla s plovoucí řádovou čárkou s přesností "double". Protože se pracuje s goniometrickými a cyklometrickými funkcemi, může to způsobit odchylky vypočítaných a očekávaných výsledků - v blízkosti limitních hodnot dochází, díky zaokrouhlování způsobenému konečným počtem číslic, ke vzniku chyb - např. azimut lokátorů na stejné rovnoběžce nebo na stejném poledníku by měl být celistvým násobkem 90°, ale výpočtem vychází odchylka od očekávaného údaje běžně i na druhém desetinném místě. Podobně výpočty vzdáleností a azimutů v oblasti zemských pólů, kde je rozměr lokátorů ve směru rovnoběžky velmi malý, mohou být zatíženy značnou chybou. Proto byl pro výpočet použit tzv. Vincentyho algoritmus, který je optimalizovaný pro numerické výpočty na strojích s omezenou přesností čísel. V oblasti střední Evropy, kde má nejmenší čtverec - ve VKV závodech používaném systému lokátorů - rozměr cca 5x6km, toto nemá velký význam, a uvádím to spíše pro ty, koho by zajímal důvod, proč nejsou výpočty zcela přesné.

Vzdálenost je zaokrouhlena dle doporučení pro vyhodnocování VKV závodů, tj. oříznutím na celé číslo a přičtením jedničky, pro výpočet je dle doporučení použita převodní konstanta 111,2km/stupeň (tj. poloměr Země 6371,3km). Pro spojení ve vlastním lokátoru se vzdálenost zaokrouhluje na 1km a azimut ztrácí smysl. Souřadnice lokátorů se počítají v jejich středech.

Syntaxe v1.2:
  LOC loc1 loc2 ... vypočítá vzdálenost, azimut a souřadnice
  
  LOC silent loc1 loc2 ... vypočítá zaokrouhlenou vzdálenost

  LOC loc1 soubor1 soubor2 ... vypočítá vzdálenost a azimut loc1 proti
                               loc načteným ze souboru1 a výsledek uloží
                               do souboru2

    silent - je vypsána pouze zaokrouhlená vzdálenost nebo nula při chybě
    loc1 - výchozí lokátor (AA00AA až RR99XX)
    loc2 - protější lokátor (AA00AA až RR99XX)
    v lokátorech mohou být kombinovány znaky velké i malé abecedy
    soubor1 - vstupní soubor
    soubor2 - výstupní soubor

  Příklad použití: loc jn89gf jn88jx
Loc v2.x

V roce 2022 jsem především kvůli deníkům z Moon contestu potřeboval doplnit funkcionality v programu LOC a současně i v jednom pomocném programu na export dat z EDI souborů. Používal jsem pod DosBoxem log Atalanta Locator v12.29, který sice uměl zapsat log z Moon contestu, ale počítal chybně body. Data jsem pak musel za pomoci programu LOC přepočítat, což znamenalo nenulové množství ruční práce navíc, nebo při méně spojeních jsem log zapisoval přímo ručně v textovém editoru a body dopočítal pomocí LOC. Program jsem musel kvůli přechodu na jiné vývojové prostředí stejně přepsat, a tak nakonec obdobně jako u programu Prekod jsem ho napsal úplně celý znovu a podstatně jsem rozšířil jeho možnosti. Současně jsem do něj integroval i exportní funkce ze souborů EDI, abych nemusel při zpracování logů používat ještě pomocný exportní program, kterých bych jinak stejně musel ještě upravit. Vznikla tedy nová verze LOC v2.0, která byla sice kompletně funkční a poprvé jsem ji použil na přepočítání logu z Moon contestu z 3.8.2022, ale při dalších testech jsem v ní našel chybu v načítání poznámek ze souborů EDI, která mi předtím unikla, takže po ještě nějakých dalších drobných úpravách je první finální verze LOC v2.1.

Program LOC ve verzi 2.1 byl doplněn o schopnost pracovat kromě s 6 znakovými lokátory i se 4 znakovými, 8 znakovými a 10 znakovými a u 10 znakových s oběma variantami, tj. jak s uspořádáním čtverců 24x24 tak i 25x25. Navíc umí pracovat i se starým systémem QRA čtverců.

Kromě původních režimů s jednorázovým výpočtem a s výpočtem nad více daty načtenými ze souboru byl přidán interaktivní režim, kdy je možné při jednom spuštění zadávat postupně další vstupní data na základě výzvy programu. Tento režim je možný jen u převodů mezi souřadnicemi a lokátory a v módu výpočtu vzdáleností a azimutů.

K původnímu módu výpočtu vzdálenosti (nyní mód dist) byly přidány další. V módu gcs2loc se převádí zadané zeměpisné souřadnice na lokátor. V módu loc2gcs se pro zadaný lokátor určí souřadnice rohů i středu a pro ně se spočítají odpovídající lokátory. V módu recount je možné nechat přepočítat body v souboru EDI jak podle kilometrů, tak podle pásem velkých čtverců. Módy expstd, expmoon a exploc umožňují vyexportovat některé údaje ze souboru EDI do textového souboru do jiného tvaru.

Oproti LOC v1.2 byly rozšířeny možnosti výpočtu vzdáleností a azimutů. Je možné použít jak algoritmus z LOC v1.2, tak i starší, který jsem používal v DOSovské verzi V1.0. Byly rozšířeny možnosti volby zaokrouhlování vzdáleností i azimutů.

V módu dist byla přidána možnost načítat lokátory i ze souboru EDI a přímo se soubory EDI lze pracovat i v módu loc2gcs. Podrobnější informace k použití programu najdete v plném textu nápovědy. Upozorňuji, že plná nápověda je dost dlouhá a při výpisu na konzoli se nemusí do ní celá vejít. Buď si ji pak musíte přesměrovat do souboru, nebo použít volbu helpfile pro uložení do souboru nebo si celý text stáhnout z odkazu níže.

V době, kdy sem novou verzi programu LOC dávám (srpen 2022), je to hodně horká novinka, která neprošla dlouhodobým používáním. Sice jsem při jejím vývoji dělal velké množství testů, ale byl to jen omezený soubor dat. Nevylučuji tedy, že v programu mohou být chyby, o kterých zatím nevím. Doporučuji tedy program používat opatrně a především s ním nikdy nepracovat přímo na originálech dat, ale na kopiích a nejlépe v samostatném adresáři, kde nebude hrozit, že si něco přepíšete nebo smažete.

V prosinci 2024 jsem po více jak ročním bezproblémovém používání programu ve verzi 2.1 přešel na novou verzi 2.2, do které jsem přidal možnost přepočtu bodů podle podmínek závodu CQ Budapest a související nový typ exportu logu i se sloupcem druhu provozu do textového souboru.

V průběhu ledna až dubna 2025 jsem provedl další úpravu programu na verzi 2.3. Poprvé jsem ji po rozsáhlých úpravách a testech výpočetní části použil na přepočítání logu z Moon Contestu 12.2.2025. Nejpodstatnější změnou bylo přepsání všech výpočtů v programu tak, že je bylo možné nyní provádět s čísly v plovoucí řádové čárce s volitelnou přesností kromě výchozích 64bit i 80bit, 128bit a 32bit. Byla přidána možnost přepínat mezi dvěma postupy převodů mezi lokátory a souřadnicemi a v souvislosti s přepínáním přesnosti čísel byly nově pro výpočty vzdáleností použity souřadnice nekorigované o malý posun prováděný kvůli převodům z lokátoru na lokátor, tak jako tomu bylo u předchozích verzí programu. Zůstala zachována možnost na starší postup přepnout volbou gcsalg1old.

Do programu byl přidán třetí algoritmus výpočtu vzdáleností kmalg3, který provádí výpočet iteračním postupem na povrchu elipsoidu WGS84. Byly přidány volby pro zaokrouhlení vzdáleností na centimetry a stupňů na milistupně. V režimu recount bylo přidáno provádění kontroly EDI souborů na některé chyby v odeslaných číslech spojení, časech spojení a reportech a v souvislosti s tím byly rozšířeny a upraveny informace zapisované během přepočtu do logu. Byl přidán nový režim mrecount umožňující provést více přepočtů souborů EDI najednou podle předloženého seznamu a generující sumární přehled ze všech provedených přepočtů do jednoho výstupního souboru.

V režimu loc2gcs jsou nyní vypisovány rozměry lokátoru i v kilometrech. V režimu dist je nyní možné v interaktivním režimu změnit vlastní lokátor bez nutnosti znovu spustit program a z textového souboru lze načítat pro výpočet i dvojice lokátorů. V režimu recount byl výchozí formát tabulky s výsledky přepočtu spojení změněn ze sloupců oddělených středníky na sloupce zarovnané na stejné pozice mezerami a na formát se středníky lze přepnout volbou tblsemicol. Lokátory lze nyní zadávat i ve zkrácené 2 znakové podobě a obdobně i čtverce ve starém systému QRA lze zadat i 4 znakově nebo 2 znakově (tyto zkrácené tvary se ale musí při zadávání doplnit zprava hvězdičkami u lokátorů na 4 znaky a u QRA čtverců na 5 znaků).

Do módu recount byly přidány volby onlyloc6 a onlyloc46 umožňující omezit rozpoznávané tvary lokátorů jen na šestiznakové a čtyřznakové. Do módů recount a loc2gcs byly přidány volby toloc6 a toqra, které umožňují při přepočtu deníků změnit tvar lokátorů na šestiznakové nebo na QRA čtverce včetně jejich uložení v tomto tvaru do výstupního EDI souboru, a v módu převodu lokátorů umožňují omezit výstupní data jen na tvary lokátorů převedené na šestiznakové lokátory nebo na QRA čtverce. Interaktivní režimy v módech gcs2loc, loc2gcs a dist byly doplněny o nápovědu a o další příkazy umožňující např. přeskočit opakované zadání stejného parametru nebo změnit výstupní tvar dat, atd. V módu gcs2loc bylo nově umožněno zadávat souřadnice i formou kladných nebo záporných čísel bez písmen N, S, E nebo W na konci. V závěru úprav jsem ještě přidal možnost používat u voleb gcs2loc, locgcs, dist, recount, expstd a ptsmulownloc zkrácené jednopísmenné tvary g, l, d, r, e a p a do balíku ZIP s programem jsem přidal soubory s příklady použití.

V průběhu úprav programu na verzi 2.3 a během jejího zkoušení jsem narazil i na některé chyby pocházející z předchozích verzí programu a zpětně je ve verzích 2.1 a 2.2 také opravil. Během testování verze 2.3 jsem zkoušel přepočítávat více jak 250 souborů EDI obsahujících přes 27 tisíc spojení a porovnával výsledky s výstupy ze starší verze programu a s původními údaji v souborech a nenarazil jsem na nějaké zjevné chyby, které by v2.3 produkovala, nicméně vzhledem k tomu, že změny v programu byly oproti verzi 2.2 velmi rozsáhlé, tak nevylučuji, že se nějaká zapomenutá chyba časem neprojeví.

Následně uvedená syntaxe se týká pouze aktuální verze programu 2.3 a je ve zkráceném znění. Plnou verzi popisu nebo popis od starší verze programu si můžete stáhnout na odkazech níže nebo si ho můžete nechat vygenerovat přímo programem zadáním příkazu helpfile. Pro verzi 2.3 jsou pak do balíku zip přiloženy i příklady použití s ukázkami vstupních a výstupních souborů.

Syntaxe (zkrácená verze) v2.3:
  LOC
  LOC ?|h|hlp|help
  LOC helpfile
  
  LOC v|version
  
  LOC g|gcs2loc [options1]
  LOC g|gcs2loc [options1] latitude longitude
  LOC g|gcs2loc [options1] filein.txt [fileout.txt]
  
  LOC l|loc2gcs [options2]
  LOC l|loc2gcs [options2] loc
  LOC l|loc2gcs [options2] filein.txt [fileout.txt]
  LOC l|loc2gcs [options2] filein.edi [fileout.txt]
  
  LOC d|dist [options3] [loc1]
  LOC d|dist [options3] loc1 loc2
  LOC d|dist [options3] [loc1] filein.txt [fileout.txt]
  LOC d|dist [options3] [loc1] filein.edi [fileout.txt]
  
  LOC r|recount [options4] filein.edi [fileout.edi]
  
  LOC mrecount [options4] filein.txt [fileout.txt]

  LOC e|expstd filein.edi [fileout.txt]
  
  LOC expmoon [options5] filein.edi [fileout.txt]
  
  LOC expcqbp [oth description] filein.edi [fileout.txt]
  
  LOC exploc filein.edi [fileout.txt]

  Options1:

    gcsalg1old|gcsalg1|gcsalg2
    precs32|precs64|precs80|precs128
    usecomma

  Options2:

    gcsalg1old|gcsalg1|gcsalg2
    kmalg1|kmalg2|kmalg3
    precs32|precs64|precs80|precs128
    usecomma
    toloc6|toqra

  Options3:

    gcsalg1old|gcsalg1|gcsalg2
    kmalg1|kmalg2|kmalg3
    precs32|precs64|precs80|precs128
    noroundkm|roundkm|rounddkm|roundm|roundcm|roundiaru|roundoth
    norounddeg|rounddeg|roundddeg|roundmdeg
    myloc10y
    loc10y
    oldfrm
    dbgiter
    usecomma

  Options4:

    ptskm|ptsloc|ptsmulloc|p|ptsmulownloc|ptscqbp
    gcsalg1old|gcsalg1|gcsalg2
    kmalg1|kmalg2|kmalg3
    precs32|precs64|precs80|precs128
    roundkm|roundiaru|roundoth
    myloc10y
    loc10y
    nochkrst
    nochknr
    dbgiter
    usecomma
    tblsemicol|tblboth
    noaddmm
    onlyloc6|onlyloc46
    toloc6|toqra

  Options5:
  
    colindept
    oth description

  Default options:

    ptskm gcsalg2 kmalg2 precs64 roundiaru rounddeg

  Formát dat:

    latitude:  0-90deg (decimal, xx.xxxxxxxxxx[N]|S, -xx.xxxxxxxxxx)
    longitude: 0-180deg (decimal, xxx.xxxxxxxxx[E]|W, -xxx.xxxxxxxxx)
    loc:       RR**, RR99, RR99XX, RR99XX99, RR99XX99XX, RR99XX99YY*,
               ZZNNj (QRA), ZZNN*, ZZ***

  Zadávání voleb a parametrů:

    Před jednopísmennými jmény voleb lze uvést znak pomlčka nebo lomítko a před
    víceznakovými jmény voleb lze kromě pomlčky a lomítka použít i dvě pomlčky.

    Pokud je potřeba zadat parametr, který se shoduje s některým jménem volby,
    ale nemá být jako volba vyhodnocován, tak se na jeho začátek umístí znak
    rovnítko.

  Popis hlavních voleb:

    bez parametru  ... vypsat krátkou nápovědu
    ?|-?|h|-h|help ... vypsat nápovědu
    helpfile       ... nápovědu uložit do textového souboru "loc21.txt"
    
    v|version      ... vypsat informaci o versi a sestavení programu

    g|gcs2loc      ... převod souřadnic na lokátor
    l|loc2gcs      ... převod lokátoru na souřadnice nebo jiný tvar lokátoru
    d|dist         ... výpočet vzdálenosti mezi lokátory
    r|recount      ... přepočet bodů v souboru EDI
    mrecount       ... přepočet bodů více souborů EDI najednou
    e|expstd       ... export standardních údajů o spojení ze souboru EDI
    expmoon        ... export údajů o spojení z Moon contestu ze souboru EDI
    expcqbp        ... export údajů o spojení z CQ Budapest contestu ze souboru EDI
    exploc         ... export lokátorů ze souboru EDI

  Popis ostatních voleb:

    ptskm        ... 1bod = 1km
    ptsloc       ... body dle sousedních pásem velkých lokátoru, bez násobiče
    ptsmulloc    ... jako ptsloc, násobič je počet velkých lokátorů
    p|ptsmulownloc . jako ptsmulloc, násobič je i vlastní čtverec (dle PA VKV)
    ptscqbp      ... body dle CQ Budapest (1km = 1bod, vlastní loc = 5bodů,
                     násobiče SSB = x2, CW = 3x, 70cm = x2, 23cm = x3, MW = x4)
    gcsalg1old   ... totéž jako gcsalg1 + korekce shodné s verzí Loc 2.1 a 2.2
    gcsalg1      ... převod lokátor - souřadnice pomocí reálnych čísel
    gcsalg2      ... převod lokátor - souřadnice pomocí celých čísel
    kmalg1       ... standardní výpočet vzdálenosti na kouli (111.2km/deg)
    kmalg2       ... přesnější výpočet vzdálenosti na kouli (111.2km/deg)
    kmalg3       ... iterační výpočet vzdálenosti na elipsoidu WGS84
    precs32      ... přesnost reálných čísel při výpočtu 32bit
    precs64      ... přesnost reálných čísel při výpočtu 64bit
    precs80      ... přesnost reálných čísel při výpočtu 80bit
    precs128     ... přesnost reálných čísel při výpočtu 128bit
    noroundkm    ... vzdálenost nezaokrouhlovat
    roundkm      ... zaokrouhlit na kilometry (na sudo)
    rounddkm     ... zaokrouhlit na desetiny kilometru (na sudo)
    roundm       ... zaokrouhlit na metry (na sudo)
    roundcm      ... zaokrouhlit na centimetry (na sudo)
    roundiaru    ... zaokrouhlit dle IARU pro výpočet bodů z VHF závodů
    roundoth     ... zaokrouhlit jiným postupem
    norounddeg   ... nezaokrouhlovat azimut
    rounddeg     ... zaokrouhlit azimut na stupně (na sudo)
    roundddeg    ... zaokrouhlit azimut na desetiny stupně (na sudo)
    roundmdeg    ... zaokrouhlit azimut na milistupně (na sudo)
    myloc10y     ... vlastní lokátor je ve tvaru RR99XX99YY
    loc10y       ... lokátor je ve tvaru RR99XX99YY
    oldfrm       ... data vypsat ve formátu jako LOC v1.2
    nochkrst     ... nekontrolovat TXRST, RXRST a souhlas s MODECODE
    nochknr      ... nekontrolovat TXNR a RXNR
    dbgiter      ... u kmalg3 vypisovat ladící informace o iteraci
    usecomma     ... použít desetinnou čárku místo tečky ve výstupech
    tblsemicol   ... tabulky s oddělením sloupců středníky 
    tblboth      ... tabulky s oddělením sloupců středníky i zarovnáním mezerami
    colindept    ... všechny sloupce ve výstupu samostatně oddělit středníkem
    noaddmm      ... při výpočtu nedoplňovat 4-místny lokátor o MM
    onlyloc6     ... povolit pouze 6-místne lokátory
    onlyloc46    ... povolit pouze 4-místne a 6-místne lokátory
    toloc6       ... vlastní i přijaté lokátory převést na 6-místne lokátory
    toqra        ... vlastní i přijaté lokátory převést na QRA čtverce

    oth description ... u modecode=0 místo textu OTH použít text z description

  Popis parametrů:

    latitude     ... zeměpisná šírka
    longitude    ... zeměpisná délka
    loc          ... lokátor nebo QRA čtverec
    loc1         ... vlastní lokátor nebo QRA čtverec
    loc2         ... lokátor nebo QRA čtverec protistanice
    filein.txt   ... jméno vstupního textového souboru
    filein.edi   ... jméno vstupního souboru pro načtení dat ve formátu EDI
    fileout.txt  ... jméno výstupního textového souboru
    fileout.edi  ... jméno výstupního souboru pro uložení dat ve formátu EDI
    
  Režimy práce:
  
    interaktivní režim       ... jen v módech gcs2loc, loc2gcs a dist
    jednorázový režim        ... jen v módech gcs2loc, loc2gcs a dist
    režim zpracování souboru ... ve všech módech    
  
  Příklady použití:

    Program je konzolová Win32 aplikace, nejde ho spustit pod DOSem. Příklady
    předpokládají, že program byl přejmenován na loc.exe a buď je uložený
    v pracovní adresáři se zpracovávanými soubory nebo je k němu nastavena
    cesta v proměnné prostředí PATH. 

    loc ?
    loc /?
    loc -?
    loc hlp
    loc helpfile
    loc v
    loc version
    loc --version
    loc gcs2loc
    loc g
    loc gcs2loc 49.232108N 16.690335E
    loc gcs2loc 5s 6w
    loc gcs2loc vstup.txt
    loc loc2gcs
    loc l
    loc loc2gcs IJ65b
    loc loc2gcs JN89
    loc loc2gcs JN89BB
    loc loc2gcs gcsalg1 JN89BB
    loc loc2gcs JN89BB03
    loc loc2gcs JN89BB03UH
    loc loc2gcs JN89BB03UH*
    loc loc2gcs vstup.txt
    loc dist
    loc -dist
    loc d
    loc dist noroundkm norounddeg
    loc dist -noroundkm -norounddeg
    loc dist oldfrm
    loc dist JN89FH
    loc dist oldfrm JN89FH
    loc dist kmalg1 rounddkm roundddeg JN89FH JO60DE
    loc --dist roundm roundddeg JN89FH JO60DE
    loc --dist -roundm --roundddeg JN89FH JO60DE
    loc -dist --roundm -roundddeg JN89FH JO60DE
    loc /dist /roundm /roundddeg JN89FH JO60DE
    loc dist JN89FH22 IJ65c
    loc dist -oldfrm JN89FH22 IJ65c
    loc dist JN89FH vstup.txt
    loc dist vstup.txt
    loc dist vstup.edi
    loc dist oldfrm vstup.edi
    loc dist JO70KA vstup.edi
    loc dist vstup.edi vystup.txt
    loc dist =roundoth
    loc dist gcsalg1 vstup.edi
    loc dist precs32 vstup.edi
    loc dist kmalg3 dbgiter precs128 usecomma vstup.edi
    loc recount vstup.edi
    loc r vstup.edi
    loc recount vstup.edi vystup.edi
    loc recount roundoth vstup.edi
    loc recount ptsmulloc vstup.edi
    loc recount ptsmulownloc vstup.edi
    loc recount p vstup.edi
    loc recount ptscqbp vstup.edi
    loc recount nochkrst nochknr vstup.edi
    loc recount tblsemicol vstup.edi
    loc recount tblboth vstup.edi
    loc mrecount seznam.txt
    loc mrecount kmalg1 gcsalg1old seznam.txt
    loc expstd vstup.edi
    loc e vstup.edi
    loc expstd vstup.edi vystup1.txt
    loc expmoon vstup.edi
    loc expmoon oth C4FM vstup.edi
    loc expmoon colindept oth C4FM vstup.edi
    loc expmoon -oth C4FM vstup.edi
    loc expmoon /oth C4FM vstup.edi
    loc expcqbp vstup.edi
    loc exploc vstup.edi
Stažení:

loc12.exe - program v1.2 (52kB), loc12.txt - popis v1.2 (2kB), loc12.zip - program+popis+příklad v1.2 (27kB)

loc21.exe - program v2.1.3 (117kB), loc21.txt - popis v2.1.3 (28kB), loc21.zip - program+popis v2.1.3 (61kB)

loc22.exe - program v2.2.2 (121kB), loc22.txt - popis v2.2.2 (31kB), loc22.zip - program+popis v2.2.2 (63kB)

loc23.exe - program v2.3 (455kB), loc23.txt - popis v2.3 (71kB), loc23.zip - program+popis+příklady v2.3 (294kB)

Kontrolní součty SHA1:
b0470160df1156af89f5aa3b1508b96cde2712e3  loc12.exe
5ed04cd9d711563d272419d2b49167f229a3985c  loc12.zip
81571574e3cb22f6e5557d228f9990b901d65b9d  loc21.exe
9c4cb4ca53381ab1d56846060c895e08be1e4f07  loc21.zip
2552056f217d9fca8495a7719b23036968dee811  loc22.exe
7b27f91629301a656e30d1f6a55baea516be0ee7  loc22.zip
ac701b6fd869db068867e583c1dd37109426f214  loc23.exe
69a240b4f013cd77d72335c3579b69f17534efbf  loc23.zip
Změny:

v1.0 2004/9 - verze pro DOS

v1.1 2013/12 - první verze pro WIN, konzolová aplikace pro Win32 API, oproti původní verzi pro DOS nakonec použit jiný algoritmus výpočtu - tzv. Vincentyho, změněn způsob výpočtu souřadnic z původně optimalizovaného na rychlost na jiný optimalizovaný na co nejmenší ztrátu přesnosti v důsledku zaohrouhlování.

v1.2 2013/12 - ve výpočtech změněny zbylé konstanty typu integer na double a některé výpočty s více konstantami, které byly kvůli testům zatím podrobně rozepsány, byly optimalizovány sloučením konstant dohromady.

v2.0 2022/8 - přechod na kompilaci pomocí MinGW32, program od základu přepsán, přidána možnost pracovat s lokátory s 8 znaky, s 10 znaky (obě varianty 24x24 i 25x25 čtverců) i s původními čtverci QRA. Přidán převod ze souřadnic na lokátor a z lokátoru na souřadnice rohů a jejich lokátory. Výpočet vzdálenosti rozšířen o volbu dvou postupů výpočtu a více možností zaokrouhlování a o schopnost přímo pracovat s lokátory v souboru EDI. Přidána možnost přepočítat soubor EDI jak podle vzdáleností, tak i podle pásem velkých čtverců a výsledky uložit přímo do souboru EDI. Přidána možnost exportovat data ze soubor EDI do jiného tvaru v textovém souboru a možnost vyexportovat ze souboru EDI jen seznam lokátorů. U převodů souřadnic a lokátorů a u výpočtu vzdálenosti byl přidán interaktivní režim.

v2.1 2022/8 - opravena chyba v načítání řádků ze sekce [Remarks] souboru EDI, do výstupních souborů přidána varování na případné nesrovnalosti zjištěné při načítání dat ze souborů EDI. 29.8.2022 aktualizováno na v2.1.1 (označení pro web zůstalo v2.1) - lépe ošetřeny souřadnice 180E, 90S a 90N. 5.2.2025 aktualizováno na v2.1.2 (opravena chyba, kdy v módu recount byl místo parametru loc10y používán i pro přijaté lokátory parametr myloc10y). 9.4.2025 aktualizováno na v2.1.3 (opravena chyba v rutině detekce lokátorů).

v2.2 2024/12 - v módu recount doplněn parametr ptscqbp umožňující provést přepočet bodů dle podmínek CQ Budapest VHF/UHF/SHF activity contestu (vlastní loc za 5 bodů, násobení počtu bodů za spojení u SSB a cross mode CW/SSB a SSB/CW 2x, u CW 3x, násobení počtu bodů za spojení na pásmu 70cm 2x, na 23cm 3x a na vyšších pásmech 4x). Přidán mód expcqbp, ve kterém se narozdíl od módu expstd do textových souborů exportuje i sloupec s druhem provozu. 5.2.2025 aktualizováno na v2.2.1 (opravena chyba, kdy v módu recount byl místo parametru loc10y používán i pro přijaté lokátory parametr myloc10y). 9.4.2025 aktualizováno na v2.2.2 (opravena chyba v rutině detekce lokátorů).

v2.3 2025/4 - přidána možnost přepínat přesnost výpočtu 32/64/80/128bit, přidáno přepínání algoritmů převodu mezi lokátory a souřadnicemi včetně změny práce s korekcemi souřadnic tak, aby nebyly korekce použity i při výpočtu vzdálenosti, přidán iterační výpočet vzdálenosti na elipsoidu, přidán režim pro přepočet více EDI souborů najednou, přidáno kontrolování některých chyb při přepočtu a byl změněn a rozšířen log s výsledky přepočtu, přidán sumární log při vícenásobném přepočtu.

Nahoru