PDA

View Full Version : Conversione lat/lon in x y (Mapcruncher)


xalien
24-07-2009, 16:49
Ciao a tutti, la mia domanda sebbene abbia a che fare con la calibrazione di una mappa è più una domanda di tipo matematico...
ho calibarto una mappa con Microsoft MapCruch, questo software salva i punti di calibrazione in un file xml. ora vorrei convertire i punti in un altro formato. Più che altro vorrei ricondurre i punti a pixel. Il problema sembra semplice ma forse mi sfugge qualcosa. Nel file c'è una "sezione" in cui vengono "censiti" i vertici dell'immagine:
<RenderRegion>
<LatLon lat="0.631067961165049" lon="0" />
<LatLon lat="0" lon="0" />
<LatLon lat="0" lon="1" />
<LatLon lat="0.631067961165049" lon="1" />
</RenderRegion>
il valore 0.631067961165049 è il rapporto fra il lato minore dell'immagine e il lato maggiore(nel mio caso l'immagine è 927x585)
Ora, i punti di calibrazione sono così definiti:
<PositionAssociation pinId="0" associationName="0">
<SourcePosition>
<LatLonZoom zoom="7">
<LatLon lat="0.31689453125" lon="0.5" />
</LatLonZoom>
</SourcePosition>
<GlobalPosition>
<LatLonZoom zoom="1">
<LatLon lat="29.5352295629485" lon="9.14062499999999" />
</LatLonZoom>
</GlobalPosition>
</PositionAssociation>
lat="29.5352295629485" lon="9.14062499999999" sono la latitudine e la longitudine mentre lat="0.31689453125" lon="0.5" sono le coordinate sull'immagine
Ecco non riesco a convertire queste ultime coordinate in pixel, sembra che non sia sufficiente moltiplicare la lat per l'altezza e la lon per la lunghezza... Qualche suggerimento?
Grazie

banryu79
24-07-2009, 17:13
Ciao,
hai notato che i valori LatLon di SourcePosition
<PositionAssociation pinId="0" associationName="0">
<SourcePosition>
<LatLonZoom zoom="7">
<LatLon lat="0.31689453125" lon="0.5" />
</LatLonZoom>
</SourcePosition>
<GlobalPosition>
<LatLonZoom zoom="1">
<LatLon lat="29.5352295629485" lon="9.14062499999999" />
</LatLonZoom>
</GlobalPosition>
</PositionAssociation>
sembrano identificare (circa) il centro della RenderRegion:
<RenderRegion>
<LatLon lat="0.631067961165049" lon="0" />
<LatLon lat="0" lon="0" />
<LatLon lat="0" lon="1" />
<LatLon lat="0.631067961165049" lon="1" />
</RenderRegion>
Non ho idea se questa osservazione può esserti utile in qualche modo...

xalien
24-07-2009, 17:19
è vero, invatti avevo fatto un esperimento provando a mettere un punto proprio in mezzo...
dato che sembrano percentuali ho provato a moltiplicare:
0.31689453125 * altezza immagine e 0.5 * lunghezza, sembra che per gli altri punti non vada bene, c'è sempre quel rapporto fra lato maggiore e minore che mi da da pensare...:muro:

banryu79
24-07-2009, 17:29
Forse perchè se:

il valore 0.631067961165049 è il rapporto fra il lato minore dell'immagine e il lato maggiore(nel mio caso l'immagine è 927x585)

allora non è detto che lat corrisponda all'altezza e lon alla larghezza dell'immagine, bensì il contrario?