Questo è il comando RhumbSolve che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
RhumbSolve -- esegue calcoli lossodromici
SINOSSI
RhumbRisolvi [ -i | -l lat1 lon1 azi12 ] [ -e a f ] [ -d | -: ] [ -w ] [ -p preciso ] [ -s ] [
--delimitatore-commento commentodelim ] [ --versione | -h | --Aiuto ] [ --file di input infilare |
--stringa-input instringa ] [ --separatore di riga lineep ] [ --file di uscita file di uscita ]
DESCRIZIONE
Il percorso con direzione costante tra due punti dell'ellissoide a (lat1, lon1) e
(lat2, lon2) è chiamato lossodromia o lossodromia. La sua lunghezza è s12 e la lossodromia
ha un azimut in avanti azi12 lungo la sua lunghezza. Anche calcolato è S12 è l'area tra
la lossodromica dal punto 1 al punto 2 e l'equatore; cioè, è l'area, misurata
antiorario, del quadrilatero geodetico con angoli (lat1,lon1), (0,lon1),
(0,lon2), e (lat2,lon2). Un punto in corrispondenza di un polo viene trattato come un punto a una piccola distanza
dal polo sulla linea di longitudine data. La longitudine diventa indeterminata quando a
lossodromica passa attraverso un palo, e RhumbRisolvi riporta i NaN per la longitudine e il
zona in questo caso.
NOTA: la lossodromia è non è un il percorso più breve tra due punti; questa è la geodetica e
è calcolato da Geod Risolvi(1).
RhumbRisolvi opera in una delle tre modalità:
1. Per impostazione predefinita, RhumbRisolvi accetta righe sullo standard input contenenti lat1 lon1 azi12
s12 e stampe lat2 lon2 S12 sull'uscita standard. Questo è il calcolo diretto.
2. Argomenti della riga di comando -l lat1 lon1 azi12 specificare una lossodromia. RhumbRisolvi poi
accetta una sequenza di s12 valori (uno per riga) su input standard e stampe lat2 lon2
S12 per ciascuno. Questo genera una sequenza di punti su una lossodromia.
3. Con il -i argomento della riga di comando, RhumbRisolvi esegue il calcolo inverso. Esso
legge le righe che contengono lat1 lon1 lat2 lon2 e stampa i valori di azi12 s12 S12 per
le corrispondenti lossodromie più corte. Se i punti finali sono su meridiani opposti,
ci sono due lossodromie più corte e viene scelta quella in direzione est.
VERSIONI
-i eseguire un calcolo inverso (vedi 3 sopra).
-l modalità linea (vedi 2 sopra); generare una sequenza di punti lungo la lossodromia specificata
by lat1 lon1 azi12. -w flag può essere utilizzato per scambiare l'ordine predefinito del 2
coordinate geografiche, purché appaia prima -l.
-e specificare l'ellissoide tramite a f; il raggio equatoriale è a e l'appiattimento è f.
Configurazione f = 0 risulta in una sfera. Specificare f < 0 per un ellissoide prolato. Un semplice
frazione, ad es. 1/297, è consentita per f. Per impostazione predefinita, viene utilizzato l'ellissoide WGS84, a =
6378137 m, f = 1/298.257223563.
-d angoli di output come gradi, minuti, secondi invece di gradi decimali.
-: piace -d, eccetto l'uso : come separatore invece dei delimitatori d, ' e ".
-w in input e output, la longitudine precede la latitudine (tranne che in input può essere
sovrascritto da un designatore di emisfero, N, S, E, W).
-p imposta la precisione di output su preciso (predefinito 3); preciso è la precisione relativa a 1 m.
Vedi "PRECISIONE".
-s Per impostazione predefinita, i calcoli lossodromici vengono eseguiti esattamente in termini di ellittica
integrali. Ciò include l'uso del teorema di addizione per integrali ellittici a
calcolare la differenza divisa delle latitudini isometriche e rettificatrici. Se -s is
ammesso che questa differenza divisa sia calcolata usando la serie di Krueger per la trasversa
Proiezione di Mercatore che è accurata solo per |f| < 0.01. Vedere "ACCURATEZZA".
--delimitatore-commento
imposta il delimitatore di commento su commentodelim (ad es. "#" o "//"). Se impostato, l'ingresso
le righe verranno scansionate per questo delimitatore e, se trovato, il delimitatore e il resto di
la riga verrà rimossa prima dell'elaborazione e successivamente aggiunta all'output
riga (separata da uno spazio).
--versione
stampa la versione ed esci.
-h stampa utilizzo ed esci.
--Aiuto
stampare la documentazione completa ed uscire.
--file di input
leggere l'input dal file infilare invece che dall'input standard; un nome file di "-"
sta per ingresso standard.
--stringa-input
leggi l'input dalla stringa instringa invece che dall'input standard. Tutte le occorrenze
del carattere separatore di riga (l'impostazione predefinita è un punto e virgola) in instringa vengono convertiti in
nuove righe prima dell'inizio della lettura.
--separatore di riga
imposta il carattere separatore di riga su lineep. Per impostazione predefinita, questo è un punto e virgola.
--file di uscita
scrivi l'output nel file file di uscita invece che all'output standard; un nome di file "-"
sta per uscita standard.
INGRESSO
RhumbRisolvi misura tutti gli angoli in gradi, tutte le lunghezze (s12) in metri e tutte le aree
(S12) in metri^2. Sugli angoli di input (latitudine, longitudine, azimut, lunghezza dell'arco) possono essere come
gradi decimali o gradi, minuti, secondi. Ad esempio, "40d30", "40d30'", "40:30",
"40.5d" e 40.5 sono tutti equivalenti. Per impostazione predefinita, la latitudine precede la longitudine per ciascuno
punto (il -w flag cambia questa convenzione); tuttavia in ingresso o può essere dato per primo
aggiungendo (o anteponendo) N or S alla latitudine e E or W alla longitudine. azimut
sono misurati in senso orario da nord; tuttavia questo può essere sovrascritto con E or W.
Per i dettagli sui formati consentiti per gli angoli, vedere la sezione "COORDINATE GEOGRAFICHE" di
GeoConverti(1).
PRECISIONE
preciso fornisce la precisione dell'output con preciso = 0 che fornisce una precisione di 1 m, preciso = 3 dando 1
precisione mm, ecc. preciso è il numero di cifre dopo la virgola decimale per le lunghezze. Per
gradi decimali, il numero di cifre dopo la virgola è preciso + 5. Per DMS
(gradi, minuti, secondi), il numero di cifre dopo la virgola nel
il componente dei secondi è preciso + 1. Il valore minimo di preciso è 0 e il massimo è 10.
ERRORI
Una riga di input non valida stamperà un messaggio di errore sullo standard output che inizia con
"ERRORE:" e cause RhumbRisolvi per restituire un codice di uscita di 1. Tuttavia, un errore non lo fa
causare RhumbRisolvi terminare; le righe seguenti verranno convertite.
PRECISIONE
L'algoritmo utilizzato da RhumbRisolvi utilizza formule esatte per la conversione tra latitudine,
latitudine rettificatrice (mu), e la latitudine isometrica (psi). Queste formule sono accurate per
qualsiasi valore dell'appiattimento. Il calcolo delle lossodromie coinvolge il rapporto (psi1 -
psi2) / (mu1 - mu2) e questo è soggetto a grandi errori di arrotondamento se lat1 è vicino a
lat2. Quindi questo rapporto viene calcolato utilizzando differenze divise utilizzando uno dei due metodi: by
default, usa il teorema di addizione per integrali ellittici (preciso per tutti i valori di
f); tuttavia, con il -s opzioni, viene calcolato utilizzando gli sviluppi in serie utilizzati da
TransverseMercatorProj(1) per le conversioni tra latitudini rettificatrici e latitudini conformi
(preciso per |f| < 0.01). Per l'ellissoide WGS84, l'errore è di circa 10 nanometri
utilizzando entrambi i metodi.
ESEMPI
Percorso dall'aeroporto JFK all'aeroporto di Singapore Changi:
echo 40:38:23N 073:46:44W 01:21:33N 103:59:22E |
RhumbSolve -i -: -p 0
103: 34: 58.2 18523563
NB Questo è non è un il percorso tipicamente preso dagli aerei perché è considerevolmente più lungo
rispetto alla geodetica data da Geod Risolvi(1).
Waypoint sul percorso a intervalli di 2000 km:
for ((i = 0; i <= 20; i += 2)); fai echo ${i}000000;fatto |
RhumbSolve -l 40:38:23N 073:46:44W 103:34:58.2 -: -p 0
40:38:23.0N 073:46:44.0W
36:24:30.3N 051:28:26.4W
32:10:26.8N 030:20:57.3W
27:56:13.2N 010:10:54.2W
23:41:50.1N 009:12:45.5E
19:27:18.7N 027:59:22.1E
15:12:40.2N 046:17:01.1E
10:57:55.9N 064:12:52.8E
06:43:07.3N 081:53:28.8E
02:28:16.2N 099:24:54.5E
01:46:36.0S 116:52:59.7E
Usa RhumbSolve online utilizzando i servizi onworks.net