Eindimensionale Weltkarte?


59

Eine seltsame Frage, aber ich hoffe, das ist in Ordnung, hier zu stellen.

Hat jemand von einer 'eindimensionalen' Projektion der Weltkarte gehört - das heißt, alle Punkte auf dem Globus auf eine einzige Linie abzubilden?

Ich habe darüber nachgedacht, Städte, die auf dem Globus „nah“ sind, „nah“ an der Linie zu halten.

Bevor ich das tue, habe ich mich gefragt, wie der Stand der Technik in diesem Bereich sein könnte.


Gute Idee, aber ich möchte sagen, dass die Linie ein zweidimensionales Merkmal ist.
Vent Lam

16
Linien sind eindimensional, da nur eine Koordinate erforderlich ist, um einen Punkt entlang der Linie zu lokalisieren. Punkte sind 0-dimensional und Polygone sind 2-dimensional.
blah238

5
die Apple Peel Projektion: t1.thpservices.com/fotos/thum4/013/881/sfd-362035.jpg , obwohl ich keine gebrauchsfertigen Algorithmen dafür gefunden habe ... ;-)
matt wilkie

2
@Matt Das ist süß. In guter Näherung bildet diese Projektion Punkte in der Nähe von (lat, lon) = (f, l) bis (Int ((90-f) / e), l) ab, wobei e die Anzahl der "Spiralen" in der Schale ist. (Ich fummele ein bisschen, aber das ist der Kern.) Das Problem ist, dass die Punkte der Diskontinuität dichter werden, wenn e groß wird, was bedeutet, dass es genau das Gegenteil des gewünschten Verhaltens hat: fast alle Punktpaare die auf der Erde nah sind, werden weit voneinander entfernt abgebildet.
whuber

Antworten:


49

Eine allgemeine Technik zum Abbilden einer Sammlung von Punkten (für die Abstände angegeben sind) in einen euklidischen Raum (z. B. einen Dreiraum, eine Ebene oder sogar eine Linie) mit minimaler Verzerrung der Abstände wird als Multidimensional Scaling (MDS) bezeichnet. Es gibt verschiedene Algorithmen. Lösungen sind in R frei verfügbar und werden häufig mit kommerziellen Statistikpaketen geliefert.

Die 20 größten Städte in den USA werden hier mit den Standard-MDS-Einstellungen von Stata 11 zugeordnet. Die Zecken kennzeichnen 100 km Intervalle.

Eindimensionales US


Genial - ja das war genau das, was ich vorhatte - obwohl ich gehofft hatte, den MDS-Algorithmus mit dem Namen "Stochastic Neighbor Embedding" zu verwenden, aber ja, im Wesentlichen dasselbe. Ich sehe jedoch, dass Sie dies bereits getan haben. Hauptsache ich finde, es sieht für mich ganz logisch / gut aus! Ich meine interessant, es ist ein eigener Weg. Vielen Dank!
utunga

Multidimensionales Skalieren ist 2D!
Huckfinn

@huckfinn Es kann in beliebig vielen Dimensionen gemacht werden; 2 ist lediglich eine übliche Anwendung. Siehe, unter anderem , Buja et al. die der Dimension k keine Grenzen setzen und deren erstes Beispiel (Abbildung 1, links) eindeutig in einer Dimension funktioniert. Oder schauen Sie sich einfach meine 1D MDS-Lösung an!
Whuber

Ja, das stimmt, aber unter 2D IMO macht es keinen Sinn, dass MDS auf normale Distanzmessung und Neuprojektion auf den Zahlenstrahl reduziert wird. Ordination wird zur Sortierung Ich bin nicht sicher?
Huckfinn

Wollen Sie wirklich behaupten, dass die Karte, die ich in dieser Antwort präsentiere, "keinen Sinn ergibt"? Das wird erhebliche Erklärung von Ihrer Seite benötigen, wie jemand klar , dass (1) sieht es tut nützliche geographische Informationen und (2) vermitteln sie nicht nicht reduzieren zu „normaler Entfernungsmessung.“
Whuber

17

Vielen Dank an @whuber für die erste Antwort. dachte ich sollte die ergebnisse von mir hochladen tun ähnlich ...

Was es wert ist, ist die spezielle Form von MDS, die ich verwendet habe, t-SNE (auch bekannt als "t-Distributed Stochastic Neihbor Embedding" ), um die folgenden Bilder zu erzielen.

Hier ist ein Bild aller Städte in der Reihenfolge - auf der linken Achse ist der tatsächliche 1-D-Standort für diese Stadt und die Städte in der Reihenfolge von oben nach unten, von links nach rechts über diese Achse angeordnet. Farbe = Land Städte in Ordnung

Hier ist ein weiteres Bild, in dem ich die Linie der Städte aufgenommen, aber auf der Weltkarte eingezeichnet habe. Unter dem Strich reduziert sich dieses Problem auf etwas, das dem Problem der reisenden Verkäufer sehr nahe kommt - mit dem Unterschied, dass es nicht nur eine Reihenfolge der Städte ist, sondern eine Zuordnung von Städten zu einer 1-d-Linie ...

Weg durch die Weltkarte

Wenn jemand die vollständigen Ausgabedaten oder die hier verwendete Methodik haben möchte, schreibe mir bitte eine Nachricht.

-

BEARBEITEN:

Als Antwort auf @ whubers Kommentar ..

Ja, Sie haben Recht, wenn Sie die lokale Entfernung hervorheben (dh, die lokalen Entfernungen der unmittelbaren Nachbarn sollten so nah wie möglich an den tatsächlichen Entfernungen auf der Weltkarte liegen). Das MDS-Problem reduziert sich auf das Problem des Handlungsreisenden. Wenn Sie jedoch die Optimierung (oder Anpassung) von Entfernungen über einen größeren / moderateren Bereich betonen, können Sie unterschiedliche Ergebnisse erzielen. Zum Beispiel ist hier, was der t-sne-Algorithmus gibt, wenn Sie einen höheren Wert für 'Ratlosigkeit' verwenden:Bildbeschreibung hier eingeben


Danke für das Teilen. Dies ähnelt eher einem reisenden Verkäufer: Es ist kein MDS. Eine MDS-Lösung hätte viel mehr Verzerrungen, aber viel mehr eine regelmäßige, vorhersehbare Beziehung zwischen der Welt und der Karte. Insofern ist Ihre Antwort eine weitere Lösung für das ursprüngliche Problem.
whuber

Ich habe meine Antwort aktualisiert, um eine weitere Variation anzugeben.
utunga

Die zweite ist in der Tat eine merkwürdige und interessante Lösung. Es scheint, dass Ihr "t-sne" -Algorithmus versucht, jeden Punkt genau zu besuchen . Dies ist im 2D-Fall eine Art Analogie zum Erstellen einer hochgenauen lokalen Projektion um jeden Punkt und zum anschließenden Unterbrechen der Projektion zwischen den Punkten, wodurch deren Abstände und Ausrichtungen erheblich verzerrt werden und die nahezu perfekte lokale Wiedergabetreue erhalten bleibt. Ich nehme an, das könnte eine spezielle Verwendung haben, aber in der Praxis lässt man normalerweise ein wenig Projektionsfehler zu, weil es genügend Spielraum erlaubt, um die globale Lösung erheblich zu verbessern.
whuber

12

Sie können Ihren 2-D-Raum mit einer 1-D-Raumfüllungskurve wie einer Peano-Kurve oder einer Hilbert-Kurve abdecken. Anschließend ordnen Sie Ihre Punkte dem nächstgelegenen Punkt auf der Kurve zu. Wickeln Sie die Kurve aus und Sie sollten bis zu einem gewissen Grad eine Linie mit den nächstgelegenen Städten im nächstgelegenen Raum auf der Linie erhalten.

Es ist nicht perfekt (ich glaube nichts kann es sein), aber ich habe gesehen, dass es als Grundlage für einen Algorithmus für reisende Verkäufer verwendet wird - die Idee ist, dass es eine gute Annäherung ist, wenn Sie Ihre Verkäuferreise entlang der Linie machen die beste Lösung.


4
Dies funktioniert, aber seien Sie vorsichtig: Die nächstgelegenen Städte, in denen sich die Linie im Raum befindet, befinden sich im Allgemeinen nicht in der Nähe der Städte im Raum (die Kurvenkarte ℝ-> ℝ² wird fortlaufend angezeigt, wenn nicht eine kontinuierliche Inverse haben).
linksum den

2
Diese Antwort würde von einem grafischen Beispiel profitieren, wie eine Peano / Hilbert-Kurve aussieht (und / oder Links zu Definitionen)
matt wilkie

1
oder Sie könnten selbst zu Wikipedia gehen ... es ist alles da, ich sehe nicht wirklich den Sinn darin, Wikipedia hier zu oft zu wiederholen ...
Spacedman

1
Nun, ich denke du kannst es ein bisschen wiederholen! Wie wäre es mit einem Link oder zwei und einem Bild?
blah238

Zu Illustrationszwecken kann man sich Randall Munroes XKCD-Karte des Internets ansehen , die genau diese Technik verwendet (obwohl umgekehrt, dh eine Linie einer Ebene
zuordnen

9

Merkwürdige Fragen sind oft die interessantesten!

Wenn Sie nach dem neuesten Stand der Technik bei der Verwendung von Dimensionen in der Kartografie suchen, können Sie mit Bertins Grafikseminarologie beginnen . Laut Bertin hat ein Stück Papier (oder eine iPad-Oberfläche) drei Dimensionen: Die zwei ebenen Dimensionen plus den Wert / die Textur. Die Grafik-Semiologie bietet Regeln zum Zuordnen von Informationsabmessungen zu diesen Repräsentationsabmessungen. Wenn die zwei ebenen Dimensionen die räumlichen Dimensionen sind, ist die Grafik eine Karte, und die dritte Dimension wird zur Darstellung der Informationen verwendet.

Wenn Sie eine eindimensionale Karte erstellen möchten, bedeutet dies, dass Sie einschränken möchten, keine der Abmessungen des Papiers zu verwenden, um die gewünschten Informationen darzustellen (die Nähe zwischen Städten). Ist es wirklich notwendig, eine solche Einschränkung aufzuerlegen und keine normale Karte zu erstellen?

Wenn es wirklich gebraucht wird, wie in anderen Antworten gesagt, kann es nicht getan werden! Die Nachbarschaftsbeziehung zwischen Städten kann nicht in einer Dimension dargestellt werden. Dafür könnten Sie:

  • Verwenden Sie einen "benutzerzentrierten Ansatz": Befindet sich das Kartenpublikum an einem Ort oder gibt es einen bestimmten Ort, auf den Sie sich konzentrieren können, kann dieser Ort als Ursprung verwendet werden, und alle anderen Städte können nach ihrer Entfernung zu diesem Ursprung sortiert werden.
  • Sortieren Sie die Städte nicht nur nach ihrer relativen Entfernung, sondern auch nach anderen Ähnlichkeitskriterien (Bevölkerung, Kontinent, Anzahl der Autos pro Einwohner usw.). Dann könnten einige statistische Behandlungen, wie die Analyse der Hauptkomponenten , eine eindimensionale Linie ergeben, entlang der die Städte angeordnet werden könnten.

Alle Antworten hier sind bisher sehr interessant und aufschlussreich. Die erste Kugel in dieser einen, wählen Sie einen Ursprungspunkt und alle anderen sind "Abstand vom Ursprung", scheint am unmittelbarsten praktikabel zu sein.
Matt Wilkie

Eine Projektion in zwei Dimensionen ist bekanntlich auch nicht möglich! Übrigens gibt es eine Vielzahl von Anwendungen für 1D-Projektionen, wie z. B. Streifenkarten für die Tourenplanung.
whuber

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

Stellen Sie sich drei Städte im gleichen Abstand voneinander vor, z. B. an den Eckpunkten eines gleichseitigen Dreiecks. Wie würden Sie das in einer Zeile darstellen? Einige Informationen gehen verloren.

Entweder verwerfen Sie eine Dimension vollständig, indem Sie z. B. alle Städte parallel oder auf einen Meridian projizieren (letzteres wäre interessant, da wir nicht zum Vergleichen der relativen Nord / Süd-Position von Städten zwischen verschiedenen Ländern verwendet werden), oder Sie wählen eine bestimmte Dimension aus Maß, zB "Entfernung von New York".

Die von Spacedman vorgeschlagene Peano-Kurve ist sehr interessant und würde eine originelle Karte ergeben, aber nahe gelegene Städte könnten sehr weit auf dieser Kurve landen .


5
... halten Sie Ihre Städte in der Nähe und Ihre Globen näher ...
Thomas

1
+1 Gute Bemerkungen. Es ist jedoch kein Entweder-Oder-Vorschlag: Sie müssen nicht auf eine Linie projizieren oder sie auf die Entfernung von einem Basispunkt reduzieren. Es stehen nichtlineare Lösungen zur Verfügung, so wie sie für (die üblichen) 2D-Projektionen verwendet werden. Das Ziel ist es, ein gewisses Maß für die Unterschiede zwischen den projizierten Entfernungen und den tatsächlichen Entfernungen zu minimieren. In dieser Hinsicht wird die Peano-Kurve besonders schlecht sein, aber Varianten davon (die so angepasst sind, dass sie in einem frühen Stadium ihrer Konstruktion alle gewünschten Punkte durchlaufen) könnten funktionieren.
whuber

3

Ich habe es noch nie benutzt, aber ich denke, ein GeoHash könnte dafür funktionieren.

Geohashes bieten Eigenschaften wie willkürliche Genauigkeit und die Möglichkeit, Zeichen schrittweise vom Codeende zu entfernen, um die Größe zu verringern (und die Genauigkeit schrittweise zu verringern).

Infolge der allmählichen Verschlechterung der Präzision weisen nahe gelegene Orte häufig (aber nicht immer) ähnliche Präfixe auf. Umgekehrt sind die beiden Orte umso näher, je länger ein gemeinsames Präfix ist.


Diese Hashes funktionieren in der Regel, indem verfeinerte Unterteilungen der Kugeloberfläche in Wörter codiert werden, und sind daher von Natur aus zweidimensional. Es ist nicht klar, wie man aus ihnen eine eindimensionale Koordinate extrahieren würde (in irgendeiner sinnvollen Weise).
whuber

@whuber Wenn ich also eine Liste von Städten hätte und Hashes für sie generieren würde, indem ich ihre lat / long-Werte an geohash.org weitergebe, dann würden die Städte nach dem Hash sortiert, würde die Reihenfolge der Städte keine eindimensionale Zuordnung darstellen ( egal wie genau es ist)?
Kirk Kuykendall

1
Es hängt ganz vom Hash ab. Eine bloße Bestellung ist nicht eindimensional, sondern nur eine Bestellung. Außerdem benötigen Sie eine aussagekräftige numerische Koordinate. Wenn das auch aus dem Hash kommt, dann haben Sie zwar eine 1D-Projektion, aber es hat wahrscheinlich schreckliche Eigenschaften. Der springende Punkt bei Projektionen ist, die Verzerrungen, die für die Visualisierung oder Analyse keine Rolle spielen, zu ignorieren und die Verzerrungen zu minimieren, die dies tun. Es ist sehr unwahrscheinlich, dass irgendein Hash für die meisten Zwecke als Projektion nützlich sein wird.
whuber
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.