Viac

Hľadáte vzdialenosť v metroch medzi bodom a cestou v lat / lon pomocou GeoTools?


Potrebujem nájsť vzdialenosť v metroch medzi niektorým bodom s danou zemepisnou šírkou a dĺžkou a priamkou (na Zemi) definovanou niekoľkými bodmi so súradnicami zemepisnej šírky / dĺžky.

Čítal som tieto otázky:

V druhom sa hovorí, že to je u JTS nemožné a autor sa rozhodol použiť nejaký iný nástroj.

Ak je to tak, mohli by ste odporučiť inú podobnú knižnicu Java pre takéto problémy?

Najskôr kód v prijatej odpovedi nefunguje pre mňa, možno preto, že nerozumiem, ktorú transformáciu si mám zvoliť (a bod môže byť vo veľkej vzdialenosti od čiary, takže transformácia nemusí byť presná. výsledkov).

Môj kód na testovanie kódu z prvej otázky:

GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory (); Bod spb = geometryFactory.createPoint (nová súradnica (30,3; 59,95)); Bod msk = geometryFactory.createPoint (nová súradnica (37,6167, 55,75)); Bod khabarovsk = geometryFactory.createPoint (nová súradnica (135.0667, 48.4833)); Bod syktyvkar = geometryFactory.createPoint (nová súradnica (50,8167, 61,6667)); Coordinate [] coords = new Coordinate [] {spb.getCoordinate (), msk.getCoordinate (), khabarovsk.getCoordinate ()}; LineString route = geometryFactory.createLineString (coords); System.out.println (route.distance (syktyvkar)); // výsledok: 6,881897419667442 try {CoordinateReferenceSystem auto = CRS.decode ("AUTO: 42001,13,45,52.3"); MathTransform transformácia = CRS.findMathTransform (DefaultGeographicCRS.WGS84, auto); Geometria g3 = JTS.transform (trasa, transformácia); Geometria g4 = JTS.transform (syktyvkar, transformácia); System.out.println (g3.distance (g4)); // výsledok: 619842.1091396079} úlovok (výnimka e) {}}

Výsledok musí byť dosť blízko 170 000 metrov.


Kód z predchádzajúcej otázky tento problém v skutočnosti rieši, akonáhle tento problém trochu preskúmate.

Vaša čiara v zásade nemá dostatok bodov, takže „prerezáva“ roh cez viac lokalizovanú projekciu, ktorá sa používa na umožnenie postupu JTS, akoby bola Zem plochá. Potrebujete ďalší riadok kódu:

route = (LineString) Densifier.densify (route, .01);

Hnedá čiara je vaša pôvodná trojbodová čiara a modrá čiara je zhustená čiara (ktorá má pridané body, aby správne premietla), ktorá sa zobrazuje v miestnej projekcii (EPSG: 2470). Ako vidíte, vzdialenosť od hnedej čiary k bodu je oveľa kratšia, ako by mala byť.

Tu je teda niekoľko vhodne upravených kódov:

public double getDistance (Point point, LineString line) {double dist = -1.0; vyskúšajte {String code = "AUTO: 42001," + point.getX () + "," + point.getY (); CoordinateReferenceSystem auto = CRS.decode (kód); // auto = CRS.decode ("epsg: 2470"); MathTransform transformácia = CRS.findMathTransform (DefaultGeographicCRS.WGS84, auto); Geometria g3 = JTS.transform (čiara, transformácia); Geometria g4 = JTS.transform (bod, transformácia); Súradnica [] c = DistanceOp.nearestPoints (g4, g3); Súradnica c1 = nová súradnica (); //System.out.println (c [1] .distance (g4.getCoordinate ())); JTS.transforma (c [1], cl, transform.inverzia ()); //System.out.println(geometryFactory.createPoint(c1)); dist = JTS.orthodromicDistance (point.getCoordinate (), c1, DefaultGeographicCRS.WGS84); } catch (Výnimka e) {e.printStackTrace (); } návrat dist;

}

A v prípade, že by vás zaujímalo, aký je rozdiel medzi „plochou vzdialenosťou“ (c [1] .distance (g4.getCoordinate ())) je 760 731 km a „zakrivená vzdialenosť“ (JTS.orthodromicDistance (point.getCoordinate (), c1, DefaultGeographicCRS.WGS84);) je 760 980 km. Pre porovnanie, vzdialenosťový nástroj v QGIS dáva 760,919 km.


Trieda QGeoCoordinate

QGeoCoordinate je definovaný zemepisnou šírkou, dĺžkou a voliteľne nadmorskou výškou.

Použite type () na určenie, či je súradnica 2D súradnica (má iba zemepisnú šírku a dĺžku) alebo 3D súradnica (má zemepisnú šírku, zemepisnú dĺžku a nadmorskú výšku). Na výpočet vzdialenosti a smeru medzi súradnicami použite distanceTo () a azimuthTo ().

Hodnoty súradníc by sa mali zadávať pomocou referenčného bodu WGS84. Viac informácií o geografických podmienkach nájdete v tomto článku o súradniciach a v ďalšom o geodetických systémoch vrátane WGS84.

Azimut je v tejto súvislosti ekvivalentom kompasu na skutočnom severe.

Táto trieda je Q_GADGET od Qt 5,5. Môže byť priamo použitý z C ++ a QML.


Preveďte zemepisnú šírku, dĺžku a nadmorskú výšku na súradnice x, y, z:

Existuje však otázka výšky elipsoidu oproti ortometrickej výške:

Ďalej preveďte súradnice x, y, z na u, v, w:

Pólový bod prvého bodu však musí byť držaný pre ďalšie body v rovnakom poli. Napríklad ako ortografická projekcia namiesto jedného vektora medzi dvoma bodmi.

Potom vzdialenosť = druhá odmocnina z (u '^ 2 + v' ^ 2 + w '^ 2) s u' = u2 - u1, v '= v2 - v1 a w' = w2 - w1.

Alebo tu je približná metóda používajúca stupne a metre:

x = (Lon2 - Lon1) * Cos (Lat) * 60 * 1852

Potom vzdialenosť = Druhá odmocnina z (x ^ 2 + y ^ 2 + z ^ 2).

Tiež x a y každého bodu možno vypočítať osobitne. Stačí najskôr započítať konštantu s pozdĺžnymi dĺžkami tak, aby obkročili nulu.

Namiesto použitia 1852 metrov na 1 minútu zemepisnej šírky vyskúšajte Tan (1/60) * (6366707 + nadmorská výška v metroch). Použite tiež presnejší polomer Zeme, ak je známy v konkrétnej zemepisnej šírke.


Hľadáte vzdialenosť v metroch medzi bodom a cestou v lat / lon pomocou GeoTools? - Geografické informačné systémy

Geocalc je jednoduchá java knižnica zameraná na vykonávanie aritmetiky so súradnicami Zeme. Je navrhnutý tak, aby sa dal ľahko vložiť do svojich existujúcich aplikácií a ľahko sa používal.

  1. Vypočítajte vzdialenosť medzi dvoma súradnicami (zákon kosínov, haversínov a vincentov)
  2. Nájdite bod vo vzdialenosti X od bodu s daným zameraním
  3. Vypočítajte súradnice obdĺžnikovej oblasti okolo bodu
  4. Určte, či je bod v tejto oblasti
  5. Vypočítajte azimut, počiatočné a konečné ložisko medzi dvoma bodmi (vincenty)

Táto knižnica sa používa na rentbarometer.com.

Táto knižnica implementuje v Jave veľa nápadov od Movable-Type. Veľká vďaka.

Ďalšie informácie nájdete na jitpack.io/#grumlimited/geocalc/0.6

Konverzia medzi systémami

Umožňuje prevod súradnice medzi stupňami, radiánmi, D-M-s a GPS systémami,

Vzdialenosť medzi 2 bodmi

Nájdenie bodu vo vzdialenosti „v metroch“ od bodu, ktorému je dané ložisko

otherPoint bude vzdialený 1000 m od Kew

Výpočet obdĺžnikovej oblasti (BoundingArea) okolo bodu

To je užitočné, keď musíte mať referenčný bod a veľkú skupinu ďalších bodov, aby ste zistili, ktoré z nich sú vzdialené, napríklad, 3 000 metrov.

Aj keď to poskytuje iba aproximáciu, je to o niekoľko rádov rýchlejšie ako pri výpočte vzdialeností od každého bodu v súbore k referenčnému bodu.

Teraz, vzhľadom na obdĺžnik ohraničený znakmi „nw“ a „se“, môžete určiť, ktoré body vašej množiny sú v týchto hraniciach.

Určenie, či je bod obsiahnutý v oblasti BoundingArea

Teraz povedzte, že máte oblasť BoundingArea,

či je bod v tejto oblasti obsiahnutý, môžete určiť pomocou:

Ložisko medzi dvoma bodmi

Azimutové ložisko - veľká kruhová cesta

Azimutové ložisko - vincentský vzorec

Konečné ložisko - vincentský vzorec

Stredný bod - toto je polovičný bod pozdĺž cesty veľkého kruhu medzi týmito dvoma bodmi.


Hľadáte vzdialenosť v metroch medzi bodom a cestou v lat / lon pomocou GeoTools? - Geografické informačné systémy

Rozhranie súboru GPS.js je rovnako jednoduché ako nasledujúcich pár riadkov. Na dokončenie úlohy musíte pridať poslucháča udalostí a vyvolať metódu aktualizácie vetou, ktorú chcete spracovať. V priečinku s príkladmi je oveľa viac príkladov.

Je tiež možné pridať poslucháčov udalostí iba na jeden z nasledujúcich protokolov, napríklad uvedením súboru gps.on („GGA“,.).

Skutočnou výhodou oproti iným implementáciám NMEA je, že informácie GPS sú interpretované a normalizované. Najvyššou úrovňou API je stavový objekt, ktorý sa mení s každou novou udalosťou. Tieto informácie môžete použiť s:

Inštalácia GPS.js je rovnako jednoduchá ako klonovanie tohto repo programu alebo použitie nasledujúceho príkazu:

Na linuxových sériových zariadeniach majú zvyčajne názvy ako / dev / ttyS1, na OSX /dev/tty.usbmodem1411 po nainštalovaní USB na sériový ovládač a na Windows ste pravdepodobne v pohode, ak použijete najvyššie COM zariadenie, ktoré nájdete v správcovi zariadení . Upozorňujeme, že ak máte vo svojom počítači viac portov USB a používate ich náhodne, musíte cestu alebo zariadenie vyhľadať znova.

Zaregistrujte zariadenie na BeagleBone

Ak sa ocitnete na BeagleBone, sériové zariadenie musí byť zaregistrované manuálne. Našťastie sa to dá v rámci uzla urobiť celkom jednoducho pomocou octalbonescript:

GPS.js prichádza s niekoľkými príkladmi, napríklad s nakreslením aktuálnej zemepisnej šírky a dĺžky do služby Mapy Google, zobrazením pretrvávajúceho stavu a zobrazením analyzovaných nespracovaných údajov. V niektorých prípadoch musíte upraviť sériovú cestu k vlastnému prijímaču GPS, aby fungoval.

Prejdite do priečinka examples / dashboard a server spustite pomocou

Potom môžete otvoriť prehľadávač a prejsť na adresu http: // localhost: 3000. Výsledok by mal vyzerať nasledovne, čo je v zásade iba vizualizácia stavu objektu gps.state

Prejdite do priečinka examples / maps a spustite server pomocou

Potom môžete otvoriť prehliadač a prejsť na adresu http: // localhost: 3000 Výsledok by mal vyzerať takto

Confluence je projekt, ktorý sa snaží cestovať a dokumentovať všetky celočíselné GPS súradnice. GPS.js môže pomôcť pri dosiahnutí tohto cieľa. Prejdite do priečinka s príkladmi a spustite:

Mali by ste vidieť niečo ako nasledovné a aktualizovať sa, keď sa budete pohybovať

V systémoch bez RTC - napríklad Raspberry PI - si musíte čas za behu sami aktualizovať. Ak má zariadenie pripojenie na internet, je použitie servera NTP celkom jednoduché. Alternatívou pre odpojené projekty s prístupom k prijímaču GPS môže byť vysoko presný časový signál vysielaný satelitmi. Prejdite do priečinka s príkladmi a vykonaním nasledujúcich krokov aktualizujte čas:

Najdôležitejšou funkciou je metóda aktualizácie, ktorá analyzuje vetu NMEA a vynúti spustenie spätných volaní

Zavolá update (), keď dôjde celá veta NMEA

Pridá poslucháča udalostí k výskytu protokolu (pozri implementované protokoly, jednoducho použite názov - veľké písmená) alebo pre všetky vety s údajmi. Pretože GPS.js by mal byť všeobecnejší, nezdedí EventEmitter, ale jednoducho vyvolá spätné volanie.

Odstráni poslucháča udalosti

Získava údaje, ktoré pravdepodobne hľadáte: zemepisná šírka a dĺžka

Analyzovaný objekt bude mať nasledujúce atribúty:

  • typ: „GGA“
  • čas: čas uvedený ako objekt dátumu JavaScript
  • lat: Zemepisná šírka
  • lon: Zemepisná dĺžka
  • alt: Nadmorská výška
  • kvalita: Oprava kvality (neplatná, opravená alebo rozdielna)
  • satelity: Počet sledovaných satelitov
  • hdop: Horizontálne zriedenie presnosti
  • geoidal: Výška geoidu v metroch (priemerná hladina mora)
  • vek: čas v sekundách od poslednej aktualizácie DGPS
  • stationID: identifikačné číslo stanice DGPS
  • valid: Označuje, či je kontrolný súčet v poriadku

RMC - vlastná verzia základných údajov GPS od spoločnosti NMEA

Podobné ako GGA, ale dáva tiež rýchlosť

Analyzovaný objekt bude mať nasledujúce atribúty:

  • typ: „RMC“
  • čas: čas uvedený ako objekt dátumu JavaScript
  • stav: Stav aktívny alebo neplatný
  • lat: Zemepisná šírka
  • lon: Zemepisná dĺžka
  • rýchlosť: Rýchlosť nad zemou v km / h
  • stopa: Uhol stopy v stupňoch
  • variácia: magnetická variácia
  • faa: Režim FAA zavedený s NMEA 2.3
  • valid: Označuje, či je kontrolný súčet v poriadku

Analyzovaný objekt bude mať nasledujúce atribúty:

  • typ: „GSA“
  • režim: Automatický výber 2D alebo 3D opravy (automatický alebo manuálny)
  • oprava: Vybraný režim opravy (2D alebo 3D)
  • satelity: Pole ID satelitov
  • pdop: Polohové zriedenie presnosti
  • vdop: Vertikálne zriedenie presnosti
  • hdop: Horizontálne zriedenie presnosti
  • valid: Označuje, či je kontrolný súčet v poriadku

GLL - Geografická poloha - Zemepisná šírka / dĺžka

Analyzovaný objekt bude mať nasledujúce atribúty:

  • typ: "GLL"
  • lat: Zemepisná šírka
  • lon: Zemepisná dĺžka
  • stav: Stav aktívny alebo neplatný
  • čas: čas zadaný ako objekt dátumu JavaScript
  • valid: Označuje, či je kontrolný súčet v poriadku

GSV - Zoznam zobrazených satelitov

Správy GSV sú stránkované. msgNumber označuje aktuálnu stránku a msgsTotal je celkový počet stránok.

Analyzovaný objekt bude mať nasledujúce atribúty:

  • typ: "GSV"
  • msgNumber: aktuálna stránka
  • msgsTotal: Počet stránok
  • satelity: Pole satelitných objektov s týmito atribútmi:
    • prn: Číslo satelitu PRN
    • nadmorská výška: nadmorská výška
    • azimut: Azimut v stupňoch
    • snr: Pomer signálu k šumu (vyšší je lepší)

    VTG - vektorová dráha a rýchlosť nad zemou

    Analyzovaný objekt bude mať nasledujúce atribúty:

    • typ: "VTG"
    • stopa: Stopa v stupňoch
    • rýchlosť: Rýchlosť nad zemou v km / h
    • faa: Režim FAA zavedený s NMEA 2.3
    • valid: Označuje, či je kontrolný súčet v poriadku

    ZDA - UTC deň, mesiac a rok a posun miestneho časového pásma

    Analyzovaný objekt bude mať nasledujúce atribúty:

    Analyzovaný objekt bude mať nasledujúce atribúty:

    • typ: „HDT“
    • nadpis: Nadpis v stupňoch
    • trueNorth: Označuje smerovanie k severu True
    • valid: Označuje, či je kontrolný súčet v poriadku

    GST - štatistika chýb polohy

    Analyzovaný objekt bude mať nasledujúce atribúty:

    • typ: „GST“
    • čas: čas zadaný ako objekt dátumu JavaScript
    • rms: RMS hodnota zvyškov pseudorange zahŕňa zvyšky nosnej fázy počas období RTK (float) a RTK (fixed)
    • ellipseMajor: Chyba elipsy hlavná os 1, chyba sigma, v metroch
    • ellipseMinor: Chyba elipsy polovičná os 1, chyba sigma, v metroch
    • ellipseOrientation: Chyba orientácie elipsy, stupňov od skutočného severu
    • latitudeError: Chyba sigma zemepisnej šírky 1, v metroch
    • longitudeError: Chyba sigma zemepisnej dĺžky 1, v metroch
    • heightError: Chyba výšky 1 sigma, v metroch
    • valid: Označuje, či je kontrolný súčet v poriadku

    Ak streamovacie API nie je potrebné, ale je to solídny stav systému, možno použiť objekt gps.state. Má nasledujúce vlastnosti:

    • čas: Aktuálny čas
    • lat: Latitude
    • lon: Zemepisná dĺžka
    • alt: Nadmorská výška
    • satsActive: Pole aktívnych satelitov
    • rýchlosť: Rýchlosť nad zemou v km / h
    • stopa: Stopa v stupňoch
    • satsVisible: Pole všetkých viditeľných satelitov

    Pridanie nových protokolov je otázkou niekoľkých minút. Ak potrebujete protokol, ktorý nie je implementovaný, som rád, že vidím požiadavku na stiahnutie alebo nový lístok.

    Ak po zapnutí prijímača nedostanete platné informácie o polohe, je veľká šanca, že budete musieť jednoducho počkať, pretože oprava trvá nejaký čas.

    GPS.js prichádza s niekoľkými statickými funkciami, ktoré uľahčujú prácu s geo-súradnicami.

    Analyzuje jeden riadok a vráti výsledný objekt v prípade, že systém spätného volania nie je potrebný / požadovaný

    GPS. Vzdialenosť (latFrom, lonFrom, latTo, lonTo)

    Vypočíta vzdialenosť medzi dvoma geo-súradnicami pomocou Haversinho vzorca

    Vypočíta dĺžku prejdenej trasy uvedenú ako pole bodové objekty

    GPS.Heading (latFrom, lonFrom, latTo, lonTo)

    Vypočíta uhol z jednej súradnice na druhú. Nadpis je vyjadrený ako súradnice vetra (N = 0, E = 90, S = 189, W = 270). Výsledok je možné použiť ako argument metódy angles compass ():

    Používanie GPS.js s prehliadačom

    Prípady použitia by mali byť zriedkavé pri analýze NMEA priamo vo vnútri prehliadača, ale funguje to tiež.

    Ak plánujete vylepšiť knižnicu, nezabudnite pridať testovacie prípady a všetky predchádzajúce testy vyhovujú. Knižnicu môžete otestovať pomocou

    Copyright (c) 2016, Robert Eisele Dual licencovaný na základe licencií MIT alebo GPL verzie 2.


    Výpočet zamerania medzi bodmi v aplikáciách závislých od polohy

    Začiatkom tohto týždňa som písal o tom, ako vypočítať vzdialenosť medzi dvoma bodmi v aplikácii orientovanej na polohu. Dnes budem diskutovať o súvisiacej téme: ako vypočítať ložisko medzi dvoma bodmi.

    Rovnako ako problém s najkratšou vzdialenosťou, aj ložisko medzi dvoma bodmi na zemeguli sa počíta pomocou oblúka veľkej kružnice, ktorý ich spája. S výnimkou línií zemepisnej šírky a dĺžky veľké oblúky veľkého kruhu nesledujú konštantný smer voči skutočnému severu, čo znamená, že pri cestovaní po oblúku sa váš smer bude líšiť.

    Toto je zrejmé z obrázku nižšie, ktorý predstavuje gnomonickú projekciu Zeme, ktorá ukazuje našu cestu z Portlandu do Londýna (gnomonická projekcia má veľmi zvláštnu vlastnosť: priame čiary na mape zodpovedajú veľkým kruhovým oblúkom). Ako vidíte, smer jazdy sa pozdĺž trasy mení. Počiatočné ložisko alebo dopredný azimut je asi 33,6 °, ale konečné ložisko, keď prichádzame do Londýna, je asi 141,5 °.

    Keď cestujete po veľkej kružnici, mení sa váš smer k cieľu. Bodkované čiary predstavujú smer skutočného severu vo vzťahu k počiatočnému a koncovému bodu.

    Na výpočet počiatočného ložiska použijeme nasledujúci vzorec. Všimnite si použitie dvoj argumentového tvaru arkustangensu, atan2 (y, x), ktorý zaisťuje, že výsledný uhol je v správnom kvadrante:

    Táto funkcia vráti uhol v radiánoch od -π do π, ale čo chceme, je uhol v stupňoch od 0 do 360. Aby sme to dosiahli, prevedieme na stupne, pridáme 360 ​​a vezmeme modulo 360:

    Θd = (Θ * 180 / π + 360)% 360

    Aby ste dosiahli konečné ložisko, otočíte zemepisné šírky a dĺžky a potom použijete uhol, ktorý je v opačnom smere (okolo 180 stupňov).

    Na rozdiel od nášho výpočtu vzdialenosti veľkej kruhu, výpočet ložiska využíva atan a obsahuje singularitu: keď sa dva body zbiehajú, uhol sa stáva nedefinovaným. Toto dáva vo fyzickom svete dokonalý zmysel, akoby zdroj a cieľ boli úplne rovnaké, potom medzi nimi nie je žiadny súvis. V praxi by chyby zaokrúhlenia pravdepodobne zabránili vzniku dokonalej rovnosti, ale stále by bola dobrá forma predpokladať, že body sú zhodné, ak je ich vzdialenosť pod prahovou vzdialenosťou jeden alebo dva metre.

    Ďalej uvádzame niektoré útržky kódu, ktoré možno použiť na výpočet smeru medzi dvoma bodmi. Zemepisnú šírku a dĺžku (v desatinných stupňoch) miniete ako prvý bod ako lat1 a long1 a pre druhý bod ako lat2 a long2.

    Pre vývojárov Windows je tu implementácia v C #:

    A pre vývojárov systému Android implementácia v prostredí Java:

    Rovnako ako v prípade našich výpočtov vzdialeností, predpokladom týchto vzorcov je sférická zem. To je na bežné použitie dostatočne presné, ale vedecké aplikácie budú vyžadovať sofistikovanejší model.


    Asistent Land Nav

    Aplikácia Land Nav Assistant prijíma súradnice MGRS (vojenská sieť) alebo zemepisná šírka / dĺžka a vizuálne vás naviguje do každého bodu.

    Táto aplikácia bola navrhnutá s ohľadom na armádu, námorníctvo a ďalší vojenský personál. Použite ho na opravu techniky Land Nav analýzou počtu a tempa otáčania doľava a doprava.

    K dispozícii vstup: 8-miestny MGRS, 10-miestny MGRS, desatinné číslo zemepisnej šírky / dĺžky, dms zemepisnej šírky / dĺžky, a mapový vstup.

    Vzdialenosť: metre / km alebo stopy / míle

    Pomocou jednoduchého rozhrania so šípkou alebo mapy vás nasmerujeme na svoje miesta. Pri navigácii sa zobrazuje vaša vzdialenosť, smer, rýchlosť a smer.

    Dlhým klepnutím na ľubovoľné miesto na mape získate súradnicu pre dané miesto. Ľahko pridávajte polohy pomocou rozhrania mapy.

    Naplánujte si kurz objednávaním bodov alebo použite nástroj na optimalizáciu kurzu, ktorý vám pomôže vypočítať čo najkratšiu cestu!

    Vzdialenosť / smer medzi dvoma bodmi získate klepnutím na cestu vedenú medzi nimi.

    Satelitné, terénne, cestné a základné topografické mapy zobrazujú vás, vaše polohy a umožňujú vám zadávať nové.

    Prekryte mriežku MGRS 1 000 alebo 100 m kdekoľvek na mape.

    Zobrazuje vzdialenosť / smer od vašej aktuálnej polohy ku všetkým bodom alebo medzi ľubovoľnými dvoma bodmi.

    Stiahnite si svoje miesta ako tabuľku, aby ste ich mohli kdekoľvek uložiť alebo zdieľať s kýmkoľvek, koho ste vybrali.

    Importujte veľkú skupinu miest pomocou nástroja na import z webu, ktorý je k dispozícii na: https://www.gammonapplications.com/land-navigation-services/import

    Táto aplikácia používa referenčný systém vojenskej siete (MGRS) a zemepisnú šírku a dĺžku.

    Vyberte, či sa majú vaše miesta zobrazovať ako 10-miestne MGRS, 8-miestne MGRS alebo ako desatinné miesto LatLon.

    D: M: S je možné zadať vo formáte DD: MM: SS, za ktorým nasleduje príslušný smer (NSWE). Predvolený smer je N, W.

    Túto aplikáciu NEPOUŽÍVAJTE pri učení sa pozemnej navigácie. Pozemná navigácia je cenná zručnosť a pred použitím tejto aplikácie by ste si ju mali osvojiť. Pri navigácii sa nespoliehajte iba na túto aplikáciu, najmä keď ste stratení. Vždy majte na pamäti svoje okolie.


    Hľadáte vzdialenosť v metroch medzi bodom a cestou v lat / lon pomocou GeoTools? - Geografické informačné systémy

    Prevod súradníc mapy

    Použite Prevodník súradníc máp ako kalkulačka na prevod dvojice hodnôt v jednom súradnicovom systéme do nového súradnicového systému.

    Poznámka: Ak chcete skopírovať súradnice z okna Hodnota kurzora alebo z textového súboru, ktorý sa má použiť v prevádzači, skopírujte súradnice skôr, ako otvoríte dialógové okno Prevodník súradníc mapy.

    1. Na paneli s nástrojmi vyberte ikonu Geometrická korekcia> Prevodník súradníc mapy. Zobrazí sa dialógové okno Prevodník súradníc mapy.
    2. V Súradnicový systém 1 oblasti dialógového okna kliknite na Vyberte súradnicový systém. Zobrazí sa dialógové okno Vybrať súradnicový systém.
    3. Vyberte preddefinovaný súradnicový systém alebo vytvorte nový súradnicový systém a potom kliknite na Ok pre návrat do dialógového okna Prevodník súradníc mapy.
    4. Zadajte súradnice známeho bodu.
      • Ak ste skopírovali súradnice z okna Hodnota kurzora alebo z textového súboru, pred prepájaním vyberte prepínač správnych jednotiek (napríklad pri prilepovaní jednotiek v desatinných stupňoch vyberte Desatinné stupne), potom kliknite na ikonu Vložiť tlačidlo.
      • Použi Kópia tlačidlo na kopírovanie existujúcich hodnôt z aplikácie Coordinate System 2.

    Pre manuálne zadanie súradníc: ak ste vybrali geografický súradnicový systém, zadajte dvojicu hodnôt do Desatinné stupne (lon / lat) alebo Stupne Minúty Sekundy (lon / lat). Napríklad:

    [23.711473E, 37.960425N] = [23.711473, 37.960425] východ a sever sú kladné.

    [35.045254E, 18.611708S] = [35.045254, -18.611708]

    [105.21762W, 40.000072N] = [-105.21762, 40.000072]

    [51.189371W, 29.914483S] = [-51.189371, -29,914483] západ a juh sú záporné.

    Stupne Minúty Sekundy

    Pre manuálne zadanie súradníc: ak ste vybrali súradnicový systém, ktorý sa má premietať, zadajte dvojicu hodnôt do Desatinné stupne (lon / lat), Stupne Minúty Sekundy (lon / lat) alebo Lineárne jednotky (zvyčajne sú metre alebo stopy zadané ako x, y). Napríklad:

    Kliknite Vpred previesť bod v projekcii Súradnicový systém 1 na typ projekcie Súradnicový systém 2. Alebo kliknite Obrátiť previesť bod v projekcii Súradnicový systém 2 na typ projekcie Súradnicový systém 1.

    Ak potrebujete vymazať súradnice a resetovať hodnotu páru na 0, kliknite na Resetovať.


    Argumenty výstupu

    Arclen & # 8212 Dĺžka oblúka numerický skalárny | číselný vektor | numerické pole

    Dĺžka oblúka, vrátená ako numerický skalár alebo pole rovnakej veľkosti ako vstupné polia zemepisnej šírky a dĺžky, lat1, lon1, lat2 a lon2. Keď sú súradnice určené pomocou súradnicových polí pt1 a pt2, potom arclen je číselný vektor dĺžky N.

    Ak elipsoid nie je zadaný, arclen sa vyjadruje v stupňoch alebo radiánoch oblúka, v súlade s hodnotou jednotiek.

    Keď je zadaný elipsoid, arclen, je vyjadrený v rovnakých dĺžkových jednotkách ako polovičná os elipsoidu.

    Typy údajov: dvojitý

    Az & # 8212 Azimut numerický skalárny | číselný vektor | numerické pole

    Azimut druhého bodu v každej dvojici vzhľadom na prvý, sa vrátil ako numerický skalár alebo pole rovnakej veľkosti ako vstupné polia zemepisnej šírky a dĺžky, lat1, lon1, lat2 a lon2. Keď sú súradnice určené pomocou súradnicových polí pt1 a pt2, potom arclen je číselný vektor dĺžky N. az sa meria v smere hodinových ručičiek od severu.

    Typy údajov: slobodný | dvojitý

    Veľkosť nekalárnych súradníc zemepisnej šírky a dĺžky, lat1, lon1, lat2 a lon2, musí byť konzistentná. Keď je daná kombinácia skalárnych a maticových vstupov, funkcia vzdialenosti automaticky rozširuje skalárne vstupy tak, aby zodpovedali veľkosti polí.

    Ak chcete vyjadriť výstupný arclen ako dĺžku oblúka v stupňoch alebo radiánoch, vynechajte argument elipsoidu. To je možné iba na sfére. Ak je dodaný elipsoid, arclen je vzdialenosť vyjadrená v rovnakých jednotkách ako polovičná os elipsoidu. Zadajte elipsoid ako [R 0], aby ste vypočítali arclen ako vzdialenosť na guli s polomerom R, pričom arclen má rovnaké jednotky ako R.


    vis = los2 (Z, R, lat1, lon1, lat2, lon2)
    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1)
    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2)
    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2, alt1opt)
    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2, alt1opt, alt2opt)
    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2, alt1opt,.
    alt2opt, actualradius)
    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2, alt1opt,.
    alt2opt, actualradius, effectiveradius)
    [vis, visprofile, dist, H, lattrk, lontrk] = los2 (.)
    los2 (.)

    los2 počíta vzájomnú viditeľnosť medzi dvoma bodmi na zobrazenej digitálnej výškovej mape. los2 používa aktuálny objekt, ak ide o regulárnu dátovú mriežku alebo o prvú regulárnu dátovú mriežku nájdenú na aktuálnych osiach. Pre profil sa použije zdata mriežky. Farebné údaje sa použijú pri absencii údajov v z. Dva body sa vyberajú kliknutím na mapu. Výsledok sa zobrazí na novom obrázku. Značky označujú viditeľné a skryté body pozdĺž profilu. Profil je zobrazený v karteziánskom súradnicovom systéme s počiatkom v mieste pozorovateľa. Zobrazené súradnice z zodpovedajú výške terénu a zakriveniu tela.

    vis = los2 (Z, R, lat1, lon1, lat2, lon2) vypočítava vzájomnú viditeľnosť medzi pármi bodov na digitálnej výškovej mape. Nadmorské výšky sú poskytované ako pravidelná dátová mriežka Z obsahujúca nadmorské výšky v jednotkách metrov. Tieto dva body sú poskytované ako vektory zemepisných šírok a dĺžok v jednotkách stupňov. Výsledná logická premenná vis sa rovná jednej, keď sú tieto dva body navzájom viditeľné, a nule, ak je línia pohľadu zakrytá terénom. Ak je niektorý zo vstupných argumentov prázdny, los2 sa pokúsi zhromaždiť údaje z aktuálnych osí. S jedným alebo viacerými výstupnými argumentmi sa nevytvárajú žiadne čísla a vracajú sa iba údaje.

    R môže byť referenčný objekt geografického rastra, referenčný vektor alebo referenčná matica. Ak R je referenčný objekt geografického rastra, jeho vlastnosť RasterSize musí byť v súlade s veľkosťou (Z).

    Ak je R referenčný vektor, musí to byť 1: 3 s prvkami:

    Ak je R referenčná matica, musí byť 3-na-2 a transformovať rastrové indexy riadkov a stĺpcov na alebo z geografických súradníc podľa:

    Ak je R referenčná matica, musí definovať (nerotačný, neošikmený) vzťah, v ktorom každý stĺpec dátovej mriežky spadá pozdĺž poludníka a každý riadok pozdĺž rovnobežky. Predvolene sa používa interpolácia najbližších susedov. NaN sa vracia za body mimo limitov siete alebo pre ktoré lat alebo lon obsahujú NaN. Všetky uhly sú v jednotkách stupňov.

    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1) umiestni prvý bod v stanovenej nadmorskej výške v metroch nad povrchom (napríklad na veži). To sa rovná položeniu bodu na vežu. Ak sa vynechá, predpokladá sa, že bod 1 je na povrchu. alt1 môže byť buď skalár, alebo vektor s rovnakou dĺžkou ako lat1, lon1, lat2 a lon2.

    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2) umiestňuje oba body do určených nadmorských výšok v metroch nad povrchom. alt2 môže byť buď skalár, alebo vektor s rovnakou dĺžkou ako lat1, lon1, lat2 a lon2. Ak je alt2 vynechaný, predpokladá sa, že bod 2 je na povrchu.

    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2, alt1opt) riadi interpretáciu alt1 buď ako relatívnu nadmorskú výšku (alt1opt sa rovná 'AGL', predvolená hodnota), alebo ako absolútna nadmorská výška (alt1opt sa rovná ' MSL '). Ak je možnosť nadmorskej výšky „AGL“, alt1 sa interpretuje ako nadmorská výška bodu 1 v metroch nad terénom („nad úrovňou terénu“). Ak je alt1opt 'MSL', alt1 sa interpretuje ako nadmorská výška nad nulou („priemerná hladina mora“).

    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2, alt1opt, alt2opt) riadi interpretáciu ALT2.

    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2, alt1opt,.
    alt2opt, actualradius) vykoná výpočet viditeľnosti na guli so zadaným polomerom. Ak sa vynechá, predpokladá sa polomer Zeme v metroch. Nadmorské výšky, nadmorské výšky a polomer by mali byť v rovnakých jednotkách. Táto volacia forma je najužitočnejšia na výpočty na telesách iných ako Zem.

    vis = los2 (Z, R, lat1, lon1, lat2, lon2, alt1, alt2, alt1opt,.
    alt2opt, actualradius, effectiveradius) predpokladá väčší polomer pre šírenie priamky pohľadu. To môže zodpovedať zakriveniu signálnej cesty v dôsledku lomu v atmosfére. Napríklad rádiové šírenie v atmosfére sa bežne považuje za priame šírenie na sfére s polomerom Zeme 4/3. V takom prípade by posledné dva argumenty boli R_e a 4/3 * R_e, kde R_e je polomer Zeme. Použite Inf ako efektívny polomer pre výpočty viditeľnosti na plochú zem. Nadmorské výšky, nadmorské výšky a polomery by mali byť v rovnakých jednotkách.

    [vis, visprofile, dist, H, lattrk, lontrk] = los2 (.), pre skalárne vstupy (lat1, lon1 atď.), vráti vektory bodov pozdĺž cesty medzi dvoma bodmi. visprofile je logický vektor obsahujúci true (logický (1)), kde sú medzičlánky viditeľné a nepravdivé (logický (0)), inak. dist je vzdialenosť pozdĺž cesty (v metroch alebo jednotkách polomeru). H obsahuje profil terénu vzhľadom na zvislý údaj pozdĺž cesty. lattrk a lontrk sú zemepisné šírky a dĺžky bodov pozdĺž cesty. Pre vektorové vstupy los2 vráti visprofile, dist, H, lattrk a lontrk ako bunkové polia, s jednou bunkou na prvok lat1, lon1 atď.

    los2 (.), bez výstupných argumentov, zobrazí profil viditeľnosti medzi dvoma bodmi na novom obrázku.


    Pozri si video: UTM to Lat Long by QGIS Software English (Október 2021).