Domanda

Sono a capo di un programma che viene utilizzato per creare un insieme di nodi e percorsi per il consumo da parte di un veicolo terrestre autonomo. Il programma registra le posizioni di tutti gli elementi della sua mappa indicando la posizione della voce come x metri a nord e metri y est di un punto di origine di 0,0. Nel mondo reale, il veicolo conosce la posizione dell'origine del lat e lungo, in quanto è determinata da un sistema DGPS ed è preciso fino a un paio di centimetri. Il mio programma è ignorante di eventuali lunghi coordinate lat.

E 'uno dei miei obiettivi per modificare il programma per tenere traccia delle lunghe coordinate lat di elementi in aggiunta a un punto di origine e x articoli, posizione y in relazione a tale origine. A prima vista, sembra che sto andando a modificare il programma per consentire le lunghe coordinate lat della provenienza da passare in, e dopo che io desidero che il programma calcolerà automaticamente il lat lunga di ogni elemento attualmente in una mappa. Da quello che ho studiato finora, credo che avrò bisogno di capire la matematica dietro la conversione in lunghe coordinate lat da un UTM come proiezione dove possibile specificare i punti di origine e meridiani, ecc al contrario di ciò che è definito già per UTM.

Sono venuto a chiedere di voi Gis programmatori, io sono sulla strada giusta? Mi sembra che ci sia così tanto da avvolgere quelle testa in giro, e non sono sicuro se la risposta non è qualcosa di semplice come, "oh sì theres una conversione da metri a lungo lat, qui"

Al momento, a causa della natura del DGPS, il sistema in realtà non ha bisogno di preoccuparsi sedi più di Oh, che ... 40 km? raccordare distanza dall'origine. Dato questo, e il fatto che ho bisogno di fare in modo che l'errore sul mio coordinate è non superiore a 0,5 metri, ho bisogno di qualcosa di più complesso di un semplice / lungo da metri costante conversione lat?

Sono profondità in ginocchio materiali qui. Potrei usare alcune indicazioni su ciò che i concetti alla ricerca.

Grazie mille!

È stato utile?

Soluzione

Dato un punto di inizio in latitudine / longitudine e la distanza e la direzione, trovando il punto finale è un calcolo geodetica. C'è una grande sintesi di calcoli geodetici ed errori sul proj.4 sito . Vengono alla conclusione che l'utilizzo di un modello sferico può ottenere risultati per la distanza tra i punti con al massimo errore 0,51%. Questo, combinato con una formula per tradurre tra WGS -84 e ECEF (vedi la "LLA a ECEF" e "ECEF a LLA" sezioni, sembra che si ottiene quello che ti serve.

Se si vuole davvero ottenere gli errori inchiodato dalla inversa proiettando la vostra mappa piatta per WGS-84, proj .4 è un pacchetto software di proiezione. Ha codice sorgente, e viene con linea utenze tre comando - proj, che converte da / proiezione cartografica e dati cartesiani; cs2cs, che converte tra diverse proiezioni cartografiche; e geod, che calcola i rapporti geodetiche.

L'USGS pubblica un trattamento molto completa di proiezioni cartografiche .

Altri suggerimenti

mi piacerebbe fare un calcolo completo-up, se possibile. In questo modo sarai sempre così preciso come si può essere.

Se vi capita di essere in C ++ il GDAL è una buona biblioteca.

Per una gamma di 40 km, si potrebbe scoprire che approssima il mondo ad una superficie piana 2D può funzionare, anche se un UTM trasformare sarebbe il modo ideale per andare - in ogni caso, mi piacerebbe sostengo con il co-WGS84 reale ordinate e ellissoide per i calcoli come distanza grande cerchio, o cuscinetti calcolo.

Se ti annoi, si potrebbe andare verso il basso una linea simile a qualcosa che ho lavorato su, che può essere utilizzata come classe base per origini diverse, come OSGB36 o WGS84 ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top