Peta satu dimensi dunia?

59

Sedikit pertanyaan aneh tapi harap ini tidak apa-apa untuk bertanya di sini.

Adakah yang pernah mendengar proyeksi peta dunia 1 dimensi - yaitu memetakan semua titik di dunia menjadi satu garis?

Saya berpikir untuk melakukan hal seperti itu - mencoba menjaga kota yang 'dekat' di dunia 'dekat' di telepon.

Sebelum saya melakukan ini, saya bertanya-tanya seperti apa keadaan seni di bidang ini?

utunga
sumber
Ide bagus, tapi saya ingin mengatakan bahwa garis adalah fitur '2-dimensi'.
Vent Lam
16
Garis adalah 1 dimensi karena hanya membutuhkan satu koordinat untuk menemukan titik di sepanjang itu. Poin 0-dimensi dan poligon 2-dimensi.
blah238
5
proyeksi Apple Peel: t1.thpservices.com/fotos/thum4/013/881/sfd-362035.jpg , meskipun saya belum menemukan algoritma yang siap digunakan untuk itu ... ;-)
matt wilkie
2
@ Matt Itu yang lucu. Untuk perkiraan yang baik, proyeksi ini memetakan titik dekat (lat, lon) = (f, l) ke (Int ((90-f) / e), l) di mana e adalah jumlah "spiral" dalam kulitnya. (Saya fudging sedikit, tapi ini adalah inti dari itu.) Masalahnya adalah bahwa sebagai e mendapat besar, titik-titik diskontinuitas tumbuh lebat, menyiratkan bahwa ia memiliki kebalikan dari perilaku yang diinginkan: hampir semua pasangan poin yang dekat di bumi bisa dipetakan jauh dari satu sama lain.
whuber

Jawaban:

49

Teknik umum untuk memetakan kumpulan titik (yang jaraknya diberikan) ke ruang Euclidean (seperti tiga ruang, pesawat, atau bahkan garis) dengan distorsi minimal jarak disebut Multidimensional Scaling (MDS). Ada beberapa algoritma. Solusi tersedia secara bebas di R dan sering kali dilengkapi dengan paket statistik komersial.

20 kota terbesar di AS dipetakan di sini dengan pengaturan MDS default Stata 11. Kutu menunjukkan interval 100 km.

AS satu dimensi

whuber
sumber
brilian - ya ini persis apa yang saya rencanakan untuk dilakukan - meskipun saya berharap untuk menggunakan algoritma MDS yang disebut "Stochastic Neighbor Embedding" tetapi pada intinya sama. Saya melihat bahwa Anda sudah melakukan ini, sudah. Hal utama yang saya pikirkan, itu terlihat cukup logis / bagus untuk saya! Maksud saya menarik, caranya sendiri. Terima kasih!
utunga
Penskalaan Multidimensi adalah hal 2D!
huckfinn
@ Huckfinn Dapat dilakukan dalam sejumlah dimensi; 2 hanyalah aplikasi umum. Lihat, antara lain , Buja et al. yang tidak memberikan batasan pada dimensi k dan yang contoh pertamanya (Gambar 1, kiri) jelas bekerja dalam satu dimensi. Atau lihat solusi 1D MDS saya!
whuber
Ya itu benar, tetapi di bawah IMO 2D tidak masuk akal, MDS akan terdegradasi ke pengukuran jarak normal dan proyeksi ulang ke balok bilangan. Penahbisan berubah menjadi penyortiran aku tidak shure?
huckfinn
Apakah Anda benar-benar mengklaim bahwa peta yang saya sajikan dalam jawaban ini "tidak masuk akal"? Itu akan membutuhkan penjelasan yang cukup dari pihak Anda, karena siapa pun dapat dengan jelas melihat bahwa (1) itu memang menyampaikan informasi geografis yang berguna dan (2) itu tidak mengurangi menjadi "pengukuran jarak normal."
whuber
17

Terima kasih banyak kepada @whuber atas jawaban awal. pikir saya harus mengunggah hasil saya melakukan hal yang sama ...

Untuk apa nilainya bentuk khusus MDS yang saya gunakan adalah sesuatu yang disebut t-SNE (alias 't-didistribusikan Stochastic Neihbor Embedding' ) untuk mencapai gambar berikut.

Berikut adalah gambar semua kota secara berurutan - pada sumbu kiri adalah lokasi 1-d aktual untuk kota itu, dan kota-kota disusun secara berurutan dari atas ke bawah, kiri ke kanan melintasi sumbu itu .. color = country kota dalam rangka

Berikut adalah gambar lain di mana saya mengambil garis kota tetapi menempatkannya di peta dunia .. Saya kira garis bawah masalah ini berkurang menjadi sesuatu yang cukup dekat dengan masalah orang penjualan bepergian - tetapi dengan perbedaan bahwa ini bukan hanya pemesanan kota tetapi pemetaan kota ke garis 1-d ...

jalan melalui peta dunia

Jika ada yang ingin data output lengkap atau metodologi yang digunakan di sini, silakan pesan saya.

-

SUNTING:

Menanggapi komitmen @ whuber ..

Ya Anda benar ketika Anda menekankan jarak lokal (yaitu jarak lokal tetangga terdekat harus sedekat mungkin dengan jarak aktual pada peta dunia) masalah MDS berkurang menjadi masalah salesman keliling. Namun jika Anda menekankan optimalisasi (atau pencocokan) jarak pada rentang yang lebih luas / lebih moderat Anda bisa mendapatkan hasil yang berbeda. Misalnya inilah yang diberikan oleh algoritma t-sne ketika Anda menggunakan nilai lebih tinggi untuk 'kebingungan':masukkan deskripsi gambar di sini

utunga
sumber
Terima kasih telah berbagi. Ini sebenarnya lebih mirip dengan penjual keliling: ini bukan MDS. Solusi MDS akan memiliki lebih banyak distorsi tetapi lebih banyak dari hubungan yang teratur dan dapat diprediksi antara dunia dan peta. Dengan demikian, balasan Anda merupakan solusi lain untuk masalah awal.
whuber
memperbarui jawaban saya untuk memberikan variasi lain, tertarik dengan pandangan Anda.
utunga
Yang kedua adalah solusi yang aneh dan menarik. Tampaknya algoritme "t-sne" Anda mencoba mengunjungi setiap titik dengan tepat . Ini agak analog, dalam kasus 2D, untuk membuat proyeksi lokal yang sangat akurat di sekitar setiap titik dan kemudian memungkinkan proyeksi untuk menembus di antara titik-titik, dengan menyedihkan mengubah jarak dan orientasi mereka sambil mempertahankan kesetiaan lokal yang nyaris sempurna. Saya kira itu bisa memiliki beberapa penggunaan khusus, tetapi dalam praktiknya satu biasanya memungkinkan sedikit kesalahan proyeksi karena memungkinkan cukup kendur untuk sangat meningkatkan solusi global.
Whuber
12

Yang bisa Anda lakukan adalah menutupi ruang 2-d Anda dengan kurva pengisian-ruang 1-d, seperti kurva Peano atau Hilbert Curve. Kemudian Anda memetakan poin Anda ke titik terdekat pada kurva. Buka gulungan kurva dan Anda harus sampai batas tertentu mendapatkan garis dengan kota terdekat di ruang terdekat pada garis.

Itu tidak sempurna (saya tidak berpikir apa pun bisa menjadi), tetapi saya telah melihatnya digunakan sebagai dasar untuk algoritma salesperson perjalanan - ide adalah bahwa jika Anda melakukan perjalanan tenaga penjual Anda sepanjang garis itu akan menjadi pendekatan yang baik untuk solusi terbaik.

Spacedman
sumber
4
Ini memang berhasil, tapi hati-hati: kota terdekat satu garis akan dekat di luar angkasa, tetapi dekat kota di luar angkasa pada umumnya tidak akan berdekatan satu sama lain pada garis (kurva kurva ℝ-> ℝ² terus menerus, dengan tidak memiliki kebalikan yang berkelanjutan).
leftaroundabout
2
jawaban ini akan mendapat manfaat dari contoh grafis seperti apa bentuk Peano / Hilbert Curve (dan / atau tautan ke definisi)
matt wilkie
1
atau Anda bisa pergi ke wikipedia sendiri ... semuanya ada di sana, saya tidak terlalu melihat gunanya mengulangi wikipedia di sini terlalu banyak ...
Spacedman
1
Baiklah, saya pikir Anda bisa mengulanginya sedikit! Bagaimana dengan satu atau dua tautan dan satu gambar?
blah238
Untuk keperluan ilustrasi, orang dapat melihat peta XKCD dari Randall Munroe di Internet , yang menggunakan teknik ini secara tepat (meskipun secara terbalik, yaitu memetakan garis ke pesawat)
waldyrious
9

Pertanyaan aneh seringkali merupakan pertanyaan paling menarik!

Jika Anda mencari cara canggih dalam cara dimensi digunakan dalam kartografi, Anda bisa mulai dengan semiologi grafis Bertin . Menurut Bertin, selembar kertas (atau permukaan ipad) memiliki 3 dimensi: Dua dimensi planar, ditambah nilai / tekstur. Semiologi grafis menyediakan aturan untuk memetakan dimensi informasi ke dimensi representasi ini. Ketika dua dimensi planar adalah dimensi spasial, grafik adalah peta, dan dimensi ketiga digunakan untuk merepresentasikan informasi.

Jika Anda ingin membuat peta 1 dimensi, itu berarti Anda memilih untuk tidak menggunakan salah satu dimensi kertas untuk merepresentasikan informasi yang Anda inginkan (kedekatan antar kota). Apakah benar-benar diperlukan untuk memaksakan batasan seperti itu dan tidak membuat peta normal?

Jika itu benar-benar diperlukan, seperti yang dikatakan dalam jawaban lain, itu tidak dapat dilakukan! Hubungan kedekatan antar kota tidak dapat direpresentasikan dalam satu dimensi. Untuk itu, Anda bisa:

  • Gunakan "pendekatan sentris pengguna": Jika pemirsa peta berada di suatu tempat atau ada tempat khusus untuk fokus, tempat ini dapat diambil sebagai asal, dan semua kota lain dapat diurutkan berdasarkan jarak mereka ke asal ini.
  • Urutkan kota-kota tidak hanya berdasarkan jarak relatifnya, tetapi menurut kriteria kesamaan lainnya (populasi, benua, jumlah mobil per penduduk, dll.). Kemudian, beberapa perawatan statistik seperti analisis komponen utama dapat memberikan garis dimensi tunggal kota-kota dapat diurutkan.
Julien
sumber
Semua jawaban di sini sejauh ini sangat menarik, dan mencerahkan. Peluru pertama dalam hal ini, pilih titik asal dan semua lainnya adalah "jarak dari asal", tampaknya menjadi yang paling praktis segera.
matt wilkie
Proyeksi ke dalam dua dimensi "tidak dapat dilakukan," juga, seperti diketahui! BTW, ada banyak aplikasi untuk proyeksi 1D, seperti peta telanjang untuk perjalanan perencanaan.
whuber
7
trying to keep cities that are 'close' on the globe 'close' on the line

Bayangkan tiga kota pada jarak yang sama satu sama lain, misalnya pada simpul segitiga sama sisi. Bagaimana Anda akan menyatakan hal itu di telepon? Beberapa informasi akan hilang.

Entah Anda membuang satu dimensi seluruhnya, mis. Memproyeksikan semua kota secara paralel atau pada meridian (yang terakhir akan menarik karena kami tidak terbiasa membandingkan posisi relatif utara / selatan dari kota-kota di antara negara-negara yang berbeda), atau Anda memilih yang spesifik ukuran dimensi, misalnya "jarak dari New York".

Kurva Peano yang disarankan oleh Spacedman sangat menarik dan akan menjadi peta asli, tetapi kota-kota terdekat bisa berakhir sangat jauh pada kurva itu.

UncleZeiv
sumber
5
... jaga kota Anda tetap dekat, dan bola-bola Anda lebih dekat ...
Thomas
1
+1 Komentar yang bagus. Namun, itu bukan-atau proposisi: Anda tidak harus memproyeksikan ke garis atau menguranginya ke jarak dari titik dasar. Solusi nonlinier tersedia, sama seperti yang digunakan untuk proyeksi 2D (yang biasa). Tujuannya adalah untuk meminimalkan beberapa ukuran perbedaan antara jarak yang diproyeksikan dan jarak yang sebenarnya. Dalam hal ini kurva Peano akan sangat buruk, tetapi varian dari kurva tersebut (disesuaikan untuk melewati semua titik yang diinginkan pada tahap awal pembangunannya) bisa berhasil - semacam.
whuber
3

Saya tidak pernah menggunakannya, tapi saya pikir GeoHash mungkin bekerja untuk ini.

Geohash menawarkan properti seperti presisi sewenang-wenang dan kemungkinan untuk menghapus karakter secara bertahap dari akhir kode untuk mengurangi ukurannya (dan secara bertahap kehilangan presisi).

Sebagai konsekuensi dari degradasi presisi bertahap, tempat-tempat terdekat sering (tetapi tidak selalu) menyajikan awalan yang serupa. Sebaliknya, semakin lama awalan yang dibagikan, semakin dekat kedua tempat.

Kirk Kuykendall
sumber
Hash ini cenderung bekerja dengan mengkodekan subdivisi halus dari permukaan bola menjadi kata-kata, dan dengan demikian secara inheren dua dimensi. Tidak jelas bagaimana seseorang akan mengekstrak koordinat satu dimensi dari mereka (dengan cara yang berarti).
whuber
@whuber Jadi jika saya memiliki daftar kota dan menghasilkan hash untuk mereka dengan memberikan lat / long mereka ke geohash.org, maka mengurutkan kota berdasarkan hash, bukankah pemesanan kota mewakili pemetaan satu dimensi ( terlepas dari seberapa akuratnya)?
Kirk Kuykendall
1
Itu sepenuhnya tergantung pada hash. Pemesanan belaka bukan satu dimensi, ini hanya pemesanan. Selain itu, Anda memerlukan koordinat numerik yang bermakna. Jika itu juga keluar dari hash, maka memang Anda memiliki proyeksi 1D, tetapi kemungkinan memiliki properti mengerikan. Inti dari proyeksi adalah mengabaikan distorsi yang tidak penting untuk visualisasi atau analisis dan meminimalkan distorsi. Sangat tidak mungkin bahwa hash apa pun akan berguna sebagai proyeksi untuk sebagian besar tujuan.
whuber