Salve.
Sto lavorando su una procedure su Visual Basic che permette di fare una conversione da Coordinate in formato DMS (Degree Minutes Seconds) in Pixels.
Comunque i primi risultati che ho ottenuto quando ho provato a disegnare dei punti geografici non é stato cosi' ottimale.
Insomma quando per esempio inserisco nella procedure le coordinate di una pista, che ha come prua per es.. 175°, me disegna una retta che non é proprio 175 ma 180. Quindi manca di precisione.
bisogna calcolare altri fattori per avere una precisione al 100% ?
Coordinate Geografiche
Moderatore: Staff md80.it
-
- 00500 ft
- Messaggi: 67
- Iscritto il: 26 dicembre 2005, 12:15
Coordinate Geografiche
CIAO,
Ale
Ale
Re: Coordinate Geografiche
Non ci ho capito nulla. Prova a spiegare che cosa vuoi fare e come lo hai fatto. Prima parli di convertire dei singoli pixels, poi dei segmenti. Fai l'approssimazione di terra piana con scalamento delle distanze di longitudine secondo il coseno della latitudine?maverick2005 ha scritto:Salve.
Sto lavorando su una procedure su Visual Basic che permette di fare una conversione da Coordinate in formato DMS (Degree Minutes Seconds) in Pixels.
Comunque i primi risultati che ho ottenuto quando ho provato a disegnare dei punti geografici non é stato cosi' ottimale.
Insomma quando per esempio inserisco nella procedure le coordinate di una pista, che ha come prua per es.. 175°, me disegna una retta che non é proprio 175 ma 180. Quindi manca di precisione.
bisogna calcolare altri fattori per avere una precisione al 100% ?
-
- 00500 ft
- Messaggi: 67
- Iscritto il: 26 dicembre 2005, 12:15
Re: Coordinate Geografiche
No. Ho fatto una proporzione dell'area in coordinate geografiche che comprende i punti da disegnare, con l'area in pixels che si vuole usare.
Faccio un esempio:
mettiamo che io voglio disegnare il seguente punto :
50°30'10''N 012°30'25''E
su una scala in pixels 525 lunghezza * 625 larghezza.
Per vedere il punto devo quindi dare alla procedure anche i limiti in coordinate geografiche ,in questo caso da :
50°00'00''N a 51°00'00''N
e da :
012°00'00''E a 013°00'00''E .
Quindi ho fatto i seguenti calcoli :
la Latitudine é lunga 1° quindi 60'' :
se divido 625 per 60 ricavo quanto é lungo 1 minuto in pixels,in questo caso é : 1 min = 10,416 px; 1 sec = 10,416px / 60sec = 0,1736 px
la Lat. del punto é 50°30'10''N.
quindi dy = (30'' * 10,416) + (10'' * 0,1736) = 314,216px
visto che la latitudine aumenta dal basso verso l'alto, per sapere la Y del punto sottraggo da 625px 314,316px e ottengo
Y = 310,684px
la Longitudine é lunga 1° quindi 60'' ( faccio la stessa cosa) :
1 min = 525px / 60 = 8,75px
1 sec = 8,75px / 60 = 0,145px
la Long. del punto era di 12°30'25''E :
dx = (30'' * 8,75px) + (25'' * 0,145) = 266,125px
la Longitudine aumenta regolarmente da sinistra verso destra quindi X = 266,125px
Spero di essere stato chiaro. Comunque questo sistema non funziona alla grande come già detto,
Faccio un esempio:
mettiamo che io voglio disegnare il seguente punto :
50°30'10''N 012°30'25''E
su una scala in pixels 525 lunghezza * 625 larghezza.
Per vedere il punto devo quindi dare alla procedure anche i limiti in coordinate geografiche ,in questo caso da :
50°00'00''N a 51°00'00''N
e da :
012°00'00''E a 013°00'00''E .
Quindi ho fatto i seguenti calcoli :
la Latitudine é lunga 1° quindi 60'' :
se divido 625 per 60 ricavo quanto é lungo 1 minuto in pixels,in questo caso é : 1 min = 10,416 px; 1 sec = 10,416px / 60sec = 0,1736 px
la Lat. del punto é 50°30'10''N.
quindi dy = (30'' * 10,416) + (10'' * 0,1736) = 314,216px
visto che la latitudine aumenta dal basso verso l'alto, per sapere la Y del punto sottraggo da 625px 314,316px e ottengo
Y = 310,684px
la Longitudine é lunga 1° quindi 60'' ( faccio la stessa cosa) :
1 min = 525px / 60 = 8,75px
1 sec = 8,75px / 60 = 0,145px
la Long. del punto era di 12°30'25''E :
dx = (30'' * 8,75px) + (25'' * 0,145) = 266,125px
la Longitudine aumenta regolarmente da sinistra verso destra quindi X = 266,125px
Spero di essere stato chiaro. Comunque questo sistema non funziona alla grande come già detto,
CIAO,
Ale
Ale
Re: Coordinate Geografiche
Ok. Se vuoi solo fare una proiezione coordinate -> pixel va bene, ma sfortunatamente non serve a nullamaverick2005 ha scritto:No. Ho fatto una proporzione dell'area in coordinate geografiche che comprende i punti da disegnare, con l'area in pixels che si vuole usare.

Probabilmente vuoi una proiezione conforme che conservi anche gli angoli. In questo caso, per fare la proiezione con la terra piana devi considerare che un grado di longitudine e` piu` piccolo di un grado di latitudine di un fattore COS(latitudine). Inoltre se il numero di pixel e` diverso in orizzontale e verticale, non puoi attribuire alle due lunghezze dello schermo la stessa variazione di angolo.
Con il tuo esempio definisci un grado di latitudine pari a 525 pixels. Vuol dire che i 625 pixels in orizzontale coprono una distanza angolare pari a 625/(525*COS(lat))*1 grado=25/(21*COS(50.5))*1 grado=1.87 gradi
Il rapporto 625/525 mette a posto la metrica per quanto riguarda le dimensioni dello schermo (pixel quadrati), e il secondo fattore compensa il fatto che un grado di longitudine e` piu` corto (come distanza sulla superficie terrestre) di un grato di latitudine. Long e lat non formano delle coordinate cartesiane

Con la proporzione indicata mantieni la scala e quindi gli angoli, per rappresentazioni piccole, in cui si possa considerare la terra piana.
-
- 00500 ft
- Messaggi: 67
- Iscritto il: 26 dicembre 2005, 12:15
Re: Coordinate Geografiche
Ciao.
É più complicato di quanto pensassi all'inizio
Infatti anche quando voglio disegnare una pista, la prua della pista é sempre un po' fuori misura. Ma allora come posso ottenere una proiezione esatta al 100% ?
Si deve lavorare con coseni e roba del genere.. E poi bisogna anche mettere in ballo la declinazione magnetica che é variabile a seconda della zona .
É più complicato di quanto pensassi all'inizio

Infatti anche quando voglio disegnare una pista, la prua della pista é sempre un po' fuori misura. Ma allora come posso ottenere una proiezione esatta al 100% ?
Si deve lavorare con coseni e roba del genere.. E poi bisogna anche mettere in ballo la declinazione magnetica che é variabile a seconda della zona .
CIAO,
Ale
Ale