Zoom per adattare punti sulla superficie

1

Sto tentando di sviluppare una funzionalità utilizzando un controllo mappa di terze parti in un'applicazione che esplora / ingrandisce automaticamente la superficie della mappa per ottenere la migliore visualizzazione possibile dei punti sulla mappa. La mappa dovrebbe essere centrata e ingrandita il più vicino possibile senza tagliare alcun punto sulla mappa.

Per determinare il punto centrale delle mappe, ho calcolato la media di tutti i punti sulla superficie della mappa. Questo sembra funzionare bene, ma potrebbe esserci un approccio migliore. Il problema che sto incontrando è come appropriatamente ingrandire o rimpicciolire per accogliere tutti i punti sulla mappa nella "migliore" possibile vista.

Non ho molta familiarità con le tecniche 3D, quindi qualsiasi terminologia relativa a questo problema sarà probabilmente nuova per me. Non sono necessariamente alla ricerca di un algoritmo specifico (anche se di certo non ne abbasserei uno). Per lo più, vorrei capire la teoria alla base di un simile problema in modo da poterlo implementare.

    
posta senfo 27.09.2011 - 16:57
fonte

1 risposta

1

Non sono sicuro di cosa questa domanda abbia a che fare con il 3D. Suppongo che tu stia specificando punti in 2 dimensioni: latitudine e longitudine.

Trova la latitudine e la longitudine massima e minima tra tutti i punti. La casella più piccola che li contiene è (min lat, min long), (min lat, max long), (max lat, max long), (lat max, min long). Ciò presuppone che i punti relativamente locali non siano vicini alla linea di data internazionale o ai poli.

Diciamo che i tuoi punti sono (1,5), (2,8) e (3,2). La tua latitudine minima è 1, la latitudine massima è 3, la longitudine minima è 2, la longitudine massima è 8. Il riquadro di limitazione più piccolo è (1, 2), (1, 8), (3, 8), (3, 2). Regalati un po 'di margine in modo che i punti non siano proprio al limite e tu stia bene.

    
risposta data 27.09.2011 - 17:52
fonte

Leggi altre domande sui tag