Mappa monodimensionale del mondo?


59

Un po 'di una domanda strana ma spero che sia OK fare qui.

Qualcuno ha sentito parlare di una proiezione "monodimensionale" della mappa del mondo - che sta mappando tutti i punti del globo su una sola linea?

Stavo pensando di fare una cosa del genere: cercare di mantenere le città "vicine" sul globo "vicine" sulla linea.

Prima di farlo, mi chiedevo quale potesse essere lo stato dell'arte in quest'area?


Buona idea, ma vorrei dire che la linea è caratteristica "bidimensionale".
Vent Lam,

16
Le linee sono monodimensionali perché sono necessarie solo una coordinata per individuare qualsiasi punto lungo di essa. I punti sono 0-dimensionali e i poligoni sono 2-dimensionali.
blah238,

5
la proiezione di Apple Peel: t1.thpservices.com/fotos/thum4/013/881/sfd-362035.jpg , anche se non ho riscontrato alcun algoritmo pronto per l'uso ... ;-)
matt wilkie

2
@Matt Questo è carino. Per una buona approssimazione, questa mappa di proiezione punta vicino (lat, lon) = (f, l) a (Int ((90-f) / e), l) dove e è il numero di "spirali" nella buccia. (Sto sfumando un po ', ma questo è l'essenza di esso.) Il problema è che quando e diventa grande, i punti di discontinuità diventano densi, implicando che ha esattamente l'opposto del comportamento desiderato: quasi tutte le coppie di punti che sono vicini sulla terra vengono mappati lontano l'uno dall'altro.
whuber

Risposte:


49

Una tecnica generale per mappare una raccolta di punti (per i quali sono indicate le distanze) in uno spazio euclideo (come tre spazi, un piano o persino una linea) con una distorsione minima delle distanze è chiamata Multidimensional Scaling (MDS). Esistono diversi algoritmi. Le soluzioni sono disponibili gratuitamente in R e spesso vengono fornite con pacchetti di statistiche commerciali.

Le più grandi 20 città degli Stati Uniti sono mappate qui con le impostazioni MDS predefinite di Stata 11. Le zecche indicano intervalli di 100 km.

Stati Uniti monodimensionali


geniale - sì, questo era esattamente quello che stavo pianificando di fare - sebbene sperassi di usare l'algoritmo MDS chiamato "Stochastic Neighbor Embedding", ma sì lo stesso in sostanza. Vedo che l'hai già fatto, comunque. La cosa principale che penso è che mi sembra abbastanza logico / buono! Intendo interessante, è a modo suo. Grazie!
utunga,

Il ridimensionamento multidimensionale è roba 2D!
huckfinn,

@huckfinn Può essere fatto in qualsiasi numero di dimensioni; 2 è semplicemente un'applicazione comune. Vedi, tra l'altro , Buja et al. che non forniscono limiti alla dimensione k e il cui primo esempio (Figura 1, a sinistra) funziona chiaramente in una dimensione. O cerca la mia soluzione MDS 1D!
whuber

Sì, è vero, ma al di sotto dell'IMO 2D non ha senso, l'MDS sarà degradato alla normale misurazione della distanza e riproiettando il raggio numerico. L'ordinazione si trasforma in ordinamento, non sono sicuro?
huckfinn,

Stai davvero sostenendo che la mappa che presento in questa risposta "non ha senso"? Che sta andando ad avere bisogno di una notevole spiegazione da parte vostra, come chiunque può vedere chiaramente che (1) si fa trasmettere utili informazioni geografiche e (2) esso non riduce a "misura di normale distanza."
whuber

17

Grazie mille a @whuber per la risposta iniziale. ho pensato che avrei dovuto caricare i risultati facendo lo stesso ...

Per quello che vale la particolare forma di MDS che ho usato è qualcosa chiamato t-SNE (noto anche come "Incorporamento stocastico distribuito nei tbor" ) per ottenere le seguenti immagini.

Ecco un'immagine di tutte le città in ordine: sull'asse sinistro è l'effettiva posizione 1-d per quella città e le città disposte in ordine dall'alto verso il basso, da sinistra a destra attraverso quell'asse. Color = country città in ordine

Ecco un'altra foto in cui ho preso la linea delle città ma l'ho tracciata sulla mappa del mondo .. Immagino che questo problema si riduca a qualcosa di molto vicino al problema del personale di vendita itinerante - ma con la differenza che non è solo un ordinamento di città ma una mappatura delle città su una linea 1-d ...

percorso attraverso la mappa del mondo

Se qualcuno desidera utilizzare tutti i dati o la metodologia di output qui, inviami un messaggio.

-

MODIFICARE:

In risposta a @ whuber's commment ..

Sì, hai ragione quando enfatizzi la distanza locale (ovvero che le distanze locali dei vicini immediati dovrebbero essere il più vicino possibile alle distanze reali sulla mappa del mondo) il problema MDS si riduce al problema del venditore ambulante. Tuttavia, se si enfatizza l'ottimizzazione (o la corrispondenza) delle distanze su un intervallo più ampio / moderato, è possibile ottenere risultati diversi. Ad esempio, ecco cosa fornisce l'algoritmo t-sne quando si utilizza un valore più elevato per "perplessità":inserisci qui la descrizione dell'immagine


Grazie per la condivisione. Questo è più simile al commesso viaggiatore: non è MDS. Una soluzione MDS avrebbe molta più distorsione ma molto più di una relazione regolare e prevedibile tra il mondo e la mappa. Pertanto, la tua risposta costituisce l'ennesima soluzione al problema originale.
whuber

ho aggiornato la mia risposta per dare un'altra variante, essere interessato alle tue opinioni.
utunga,

La seconda è una soluzione curiosa e interessante, anzi. Sembra che il tuo algoritmo "t-sne" tenti di visitare esattamente ogni punto . Questo è analogo, nel caso del 2D, alla creazione di una proiezione locale altamente accurata attorno a ciascun punto e quindi alla rottura della proiezione tra i punti, distorcendo gravemente le loro distanze e orientamenti mantenendo una fedeltà locale quasi perfetta. Suppongo che potrebbe avere un uso specializzato, ma in pratica uno di solito consente un po 'di errore di proiezione perché consente un gioco abbastanza lento da migliorare notevolmente la soluzione globale.
whuber

12

Quello che puoi fare è coprire il tuo spazio 2-d con una curva di riempimento dello spazio 1-d, come una curva di Peano o una curva di Hilbert. Quindi si mappano i punti sul punto più vicino sulla curva. Disimballare la curva e in una certa misura si dovrebbe ottenere una linea con le città più vicine nello spazio più vicino sulla linea.

Non è perfetto (non credo che nulla possa essere), ma l'ho visto usato come base per un algoritmo di viaggio saleseperson - l'idea è che se fai il tuo viaggio di venditore lungo la linea sarà una buona approssimazione a la migliore soluzione.


4
Funziona, ma fai attenzione: le città più vicine una la linea saranno vicine nello spazio, ma in genere le città vicine nello spazio non saranno vicine l'una all'altra sulla linea (la mappa delle curve ℝ-> ℝ² continuamente, non farlo avere un inverso continuo).
lasciato circa l'

2
questa risposta trarrebbe beneficio da un esempio grafico di come appare una curva di Peano / Hilbert (e / o collegamenti alle definizioni)
matt wilkie,

1
o potresti andare su Wikipedia te stesso ... è tutto lì, non vedo davvero il punto di ripetere troppo Wikipedia qui ...
Spacedman,

1
Beh, penso che puoi ripeterlo un po '! Che ne dici di un link o due e un'immagine?
blah238,

A scopo illustrativo, si può guardare la mappa XKCD di Internet di Randall Munroe , che usa esattamente questa tecnica (anche se al contrario, cioè mappando una linea su un piano)
waldyrious

9

Le domande strane sono spesso le più interessanti!

Se stai cercando uno stato dell'arte nel modo in cui le dimensioni vengono utilizzate nella cartografia, potresti iniziare con la semiologia grafica di Bertin . Secondo Bertin, un pezzo di carta (o una superficie ipad) ha 3 dimensioni: le due dimensioni planari, più il valore / la trama. La semiologia grafica fornisce regole per mappare le dimensioni delle informazioni a queste dimensioni della rappresentazione. Quando le due dimensioni planari sono le dimensioni spaziali, il grafico è una mappa e la terza dimensione viene utilizzata per rappresentare le informazioni.

Se si desidera creare una mappa monodimensionale, significa che si sceglie di non utilizzare una delle dimensioni del documento per rappresentare le informazioni che si desidera (la vicinanza tra le città). È davvero necessario imporre tale vincolo e non creare una mappa normale?

Se è davvero necessario, come detto in altre risposte, non può essere fatto! La relazione di prossimità tra città non può essere rappresentata in una dimensione. Per questo, potresti:

  • Usa un "approccio incentrato sull'utente": se il pubblico della mappa si trova da qualche parte o c'è un luogo specifico su cui concentrarsi, questo posto può essere preso come origine e tutte le altre città possono essere ordinate in base alla loro distanza da questa origine.
  • Ordinare le città non solo in base alla loro distanza relativa, ma secondo altri criteri di somiglianza (popolazione, continente, numero di auto per abitante, ecc.). Quindi, alcuni trattamenti statistici come l' analisi delle componenti principali potrebbero fornire una singola linea dimensionale su cui le città potrebbero essere classificate.

Tutte le risposte qui finora sono molto interessanti e illuminanti. Il primo proiettile in questo, scegliere un punto di origine e tutti gli altri sono "distanza dall'origine", sembra essere il più immediatamente pratico.
Matt Wilson

Neanche la proiezione in due dimensioni "può essere fatta", come è noto! A proposito, ci sono un sacco di applicazioni per le proiezioni 1D, come le mappe a strisce per la pianificazione dei viaggi.
whuber

7
trying to keep cities that are 'close' on the globe 'close' on the line

Immagina tre città alla stessa distanza l'una dall'altra, ad esempio ai vertici di un triangolo equilatero. Come lo rappresenteresti su una linea? Alcune informazioni andranno perse.

O scartate completamente una dimensione, ad esempio proiettando tutte le città su un parallelo o su un meridiano (quest'ultima sarebbe interessante in quanto non siamo abituati a confrontare la posizione relativa nord / sud delle città tra i diversi paesi) o selezionate una specifica misura dimensionale, ad es. "distanza da New York".

La curva di Peano suggerita da Spacedman è molto interessante e costituirebbe una mappa originale, ma le città vicine potrebbero finire molto lontano su quella curva.


5
... tieni le tue città vicine e i tuoi globi più vicini ...
Thomas,

1
+1 buone osservazioni. Tuttavia, non è una delle due o una proposta: non è necessario proiettare su una linea o ridurla alla distanza da un punto base. Sono disponibili soluzioni non lineari, così come vengono utilizzate per (le solite) proiezioni 2D. L'obiettivo è ridurre al minimo alcune misure delle differenze tra le distanze previste e le distanze effettive. A questo proposito, la curva di Peano sarà particolarmente povera, ma le sue varianti (adattate per attraversare tutti i punti desiderati nelle prime fasi della sua costruzione) potrebbero funzionare - una sorta di.
whuber

3

Non l'ho mai usato, ma penso che un GeoHash potrebbe funzionare per questo.

I geohash offrono proprietà come la precisione arbitraria e la possibilità di rimuovere gradualmente i caratteri dalla fine del codice per ridurne le dimensioni (e perdere gradualmente la precisione).

Come conseguenza del graduale degrado della precisione, i luoghi vicini presenteranno spesso (ma non sempre) prefissi simili. Al contrario, più lungo è un prefisso condiviso, più i due posti sono vicini.


Questi hash tendono a funzionare codificando in parole raffinate suddivisioni della superficie della sfera, e quindi sono intrinsecamente bidimensionali. Non è chiaro come si estrae da esse una coordinata unidimensionale (in alcun modo significativo).
whuber

@whuber Quindi, se avessi un elenco di città e generassi hash per loro passando il loro lat / long a geohash.org, quindi ordinando le città in base all'hash, l'ordinamento delle città non rappresenterebbe una mappatura unidimensionale ( indipendentemente da quanto sia preciso)?
Kirk Kuykendall,

1
Dipende interamente dall'hash. Un semplice ordinamento non è monodimensionale, è solo un ordinamento. Inoltre, è necessaria una coordinata numerica significativa. Se anche questo viene fuori dall'hash, allora in effetti hai una proiezione 1D, ma probabilmente ha proprietà terribili. Il punto centrale delle proiezioni è ignorare le distorsioni che non contano per la visualizzazione o l'analisi e minimizzare quelle che lo fanno. È altamente improbabile che qualsiasi hash possa essere utile come proiezione per la maggior parte degli scopi.
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.