Одновимірна карта світу?


59

Трохи дивне запитання, але сподіваюся, що це нормально тут.

Хтось чув про «одновимірну» проекцію карти світу - тобто це зіставлення всіх точок на земній кулі в одну лінію?

Я думав зробити таке - намагаюся тримати міста, які знаходяться «близько» на земній кулі, «близькими» на лінії.

Перш ніж це зробити, я задумався, яким може бути сучасний стан у цій галузі?


Хороша ідея, але хотілося б сказати, що ця лінія є "двовимірною" ознакою.
Вент Лам

16
Рядки є одновимірними, оскільки для знаходження будь-якої точки вздовж неї потрібна лише одна координата. Точки 0-мірні, а багатокутники - двовимірні.
blah238

5
проекція Apple Peel: t1.thpservices.com/fotos/thum4/013/881/sfd-362035.jpg , хоча я не зустрічав жодних готових до використання алгоритмів для цього ... ;-)
matt wilkie

2
@Matt Це мило. Для гарного наближення ця проекція відображає точки поблизу (lat, lon) = (f, l) до (Int ((90-f) / e), l), де e - кількість "спіралей" у шкірці. (Я трохи роздуваю, але це суть цього.) Проблема полягає в тому, що коли e стає великим, точки розриву стають щільнішими, маючи на увазі, що він має точно протилежну бажаній поведінці: майже всі пари балів які знаходяться поблизу від землі, наноситься на карту далеко один від одного.
whuber

Відповіді:


49

Загальна методика відображення сукупності точок (для яких задані відстані) в евклідовий простір (наприклад, трипростір, площина або навіть лінія) з мінімальним викривленням відстаней називається багатовимірним масштабуванням (MDS). Існує кілька алгоритмів. Рішення є у вільному доступі в R та часто постачаються з пакетами комерційної статистики.

Тут розміщено найбільших 20 міст США, де налаштовано MDS-налаштування 11 для замовчування. Кліщі позначають інтервали 100 км.

Одновимірні США


геніальне - так, саме це я і планував зробити - хоча я сподівався використати алгоритм MDS під назвою «Стохастичне сусідське вбудовування», але так по суті. Я бачу, що ти вже це зробив. Головне, я думаю, що це виглядає для мене досить логічно / добре! Я маю на увазі цікаве, це власний шлях. Дякую!
utunga

Багатовимірне масштабування - це 2D речі!
huckfinn

@huckfinn Це можна зробити в будь-якій кількості вимірів; 2 - це лише звичайне застосування. Див., Серед іншого , Buja та ін. які не дають обмежень на розмірність k і чий перший приклад (мал. 1, ліворуч) чітко працює в одному вимірі. Або просто подивіться на моє рішення 1D MDS!
whuber

Так, це правда, але нижче 2D IMO немає сенсу, MDS буде деградовано до нормального вимірювання відстані та повторного проектування на числовий промінь. Упорядкування перетворюється на сортування Я не маю рації?
huckfinn

Ви справді стверджуєте, що карта, яку я представляю у цій відповіді, "не має сенсу"? Це потребуватиме в значних пояснень з вашого боку, так як будь-яка людина може ясно бачити , що (1) вона робить передачі корисної географічної інформації і (2) вона НЕ зменшити до «нормального вимірювання відстані.»
whuber

17

Дякую @whuber за початкову відповідь. думав, що я повинен завантажувати результати, які я роблю майже так само ...

Для чого варто використовувати конкретну форму MDS, яку я використав, це те, що називається t-SNE (він же "t-розподілене стохастичне вкладення Neihbor" ) для досягнення наступних зображень.

Ось зображення всіх міст по порядку - на лівій осі є фактичне 1-д місце розташування для цього міста, а міста розташовані в порядку зверху вниз, зліва направо через цю вісь .. color = country міста по порядку

Ось ще одна картина, де я взяв лінію міст, але побудував її на карті світу. Я думаю, що ця проблема зводиться до чогось досить близького до проблеми подорожуючого продавця - але з тією різницею, що це не просто впорядкування міст, а відображення міст на 1-й рядок ...

шлях через карту світу

Якщо хтось хоче, щоб тут були використані всі вихідні дані чи методологія, будь ласка, надішліть мені повідомлення.

-

Редагувати:

У відповідь на заклик @ whuber ..

Так, ви праві, коли підкреслюєте місцеву відстань (тобто місцеві відстані безпосередніх сусідів повинні бути максимально наближеними до фактичних відстаней на карті світу) проблема MDS зводиться до проблеми продавця подорожі. Однак якщо підкреслити оптимізацію (або співставлення) відстаней на ширшому / помірному діапазоні, ви можете отримати різні результати. Наприклад, ось що дає алгоритм t-sne, коли ви використовуєте більш високе значення для "недоумкування":введіть тут опис зображення


Дякую, що поділились. Це дійсно більше схоже на мандрівного продавця: це не MDS. Рішення MDS матиме набагато більше спотворень, але набагато більше регулярних передбачуваних відносин між світом та картою. Таким чином, ваша відповідь є ще одним вирішенням вихідної проблеми.
whuber

оновив свою відповідь, щоб дати ще одну варіацію, зацікавись своїми поглядами.
utunga

Другий - справді цікаве та цікаве рішення. Здається, ваш алгоритм "t-sne" намагається точно відвідувати кожну точку . Це на зразок аналогічного, у випадку 2D, створення високоточної локальної проекції навколо кожної точки, а потім дозволяє проекції пробиватися між точками, суттєво спотворюючи їх відстані та орієнтації, зберігаючи майже ідеальну місцеву вірність. Я припускаю, що це може мати певне спеціалізоване використання, але на практиці зазвичай допускається невелика помилка проекції, оскільки це дозволяє достатньо слабкості, щоб значно покращити глобальне рішення.
whuber

12

Що ви можете зробити, це покрити 2-денний простір 1-денною кривою заповнення простору, наприклад кривою Пеано або Кривою Гільберта. Потім ви наносите свої точки на найближчу точку кривої. Розгорніть криву, і вам слід певною мірою отримати лінію з найближчими містами в просторі, найближчому на лінії.

Це не ідеально (я не думаю, що нічого не може бути), але я бачив, що він використовувався як основа алгоритму подорожей продажу продавця - ідея полягає в тому, що якщо ви робите свою подорож продавця по лінії, це буде хорошим наближенням до найкраще рішення.


4
Це працює, але будьте обережні: найближчі міста одна лінія буде поблизу в просторі, але поблизу міст у просторі взагалі не будуть близькими один до одного на лінії (карта кривих ℝ-> ℝ² безперервно, не мають суцільну обернену).
Ліворуч близько

2
ця відповідь допоможе надати графічний приклад того, як виглядає крива Пеано / Гільберта (та / або посилання на визначення)
matt wilkie

1
або ви самі можете піти у Вікіпедію ... все там, я не бачу сенсу повторювати вікіпедію тут занадто багато ...
Spacedman

1
Ну, я думаю, ви можете це трохи повторити! Як щодо посилання-двох та зображення?
blah238

Для ілюстрації можна подивитися на карту XKCD Рендалла Манро в Інтернеті , яка використовує саме цю техніку (хоча і навпаки, тобто відображення лінії на площину)
вальдирізований

9

Дивні питання найчастіше найцікавіші!

Якщо ви шукаєте сучасний спосіб використання розмірів у картографії, ви можете почати з графічної семіології Бертіна . За словами Бертіна, аркуш паперу (або поверхня ipad) має 3 розміри: Два плоских розміри плюс значення / текстура. Графічна семіологія надає правила для відображення розмірів інформації на ці розміри представлення. Коли два плоских розміри є просторовими розмірами, графіка - це карта, а третій вимір використовується для подання інформації.

Якщо ви хочете скласти одновимірну карту, це означає, що ви вирішили обмежити не використовувати один з розмірів паперу для подання інформації, яку ви хочете (близькості між містами). Чи справді потрібно накладати такі обмеження, а не робити нормальну карту?

Якщо це дійсно потрібно, як сказано в інших відповідях, цього зробити не можна! Відношення близькості між містами не можна представити в одному вимірі. Для цього ви могли:

  • Використовуйте «орієнтований на користувачів підхід»: Якщо аудиторія карт розташована десь або є певне місце, на якому слід зосередити увагу, це місце може сприйматися як джерело, а всі інші міста можуть бути відсортовані відповідно до їх відстані до цього походження.
  • Сортуйте міста не лише за їх відносною віддаленістю, але за іншими критеріями подібності (населення, континент, кількість автомобілів на одного жителя тощо). Тоді деякі статистичні методи обробки, такі як аналіз основних компонентів, можуть дати єдиний розмірний рядок, за яким можна було б класифікувати міста.

Усі відповіді тут поки дуже цікаві та яскраві. Перша куля у цій, обраній точці початку, а всі інші - "відстань від походження", видається найбільш одразу практичною.
matt wilkie

Проекцію на два виміри "неможливо зробити", як відомо, як відомо! До речі, існує безліч додатків для 1D-проекцій, наприклад, смугові карти для планування поїздок.
whuber

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

Уявіть три міста на однаковій відстані один від одного, наприклад, у вершинах рівностороннього трикутника. Як би ви представляли це на лінії? Частина інформації буде втрачена.

Або ви повністю відкиньте один вимір, наприклад, проектування всіх міст на паралель або на меридіані (останнє було б цікаво, оскільки ми не звикли порівнювати відносне положення міст на північ / південь серед різних країн), або вибираєте конкретний вимірювальна міра, наприклад, "відстань від Нью-Йорка".

Крива Пеано, запропонована Spacedman, є дуже цікавою і може створити оригінальну карту, але довколишні міста можуть закінчитися дуже далеко на цій кривій.


5
... тримай свої міста поруч, а твої глобуси ближче ...
Томас

1
+1 Хороші зауваження. Однак це не є або пропозицією: не потрібно проектувати лінію або зменшувати її на відстань від базової точки. Нелінійні рішення доступні так само, як і для (звичайних) 2D-проекцій. Мета полягає в тому, щоб мінімізувати деякий показник різниці між прогнозованими відстанями і фактичними відстанями. У цьому відношенні крива Пеано буде особливо бідною, але варіанти її (пристосовані для проходження всіх бажаних точок на ранніх етапах її побудови) могли б спрацювати - подібні.
whuber

3

Я ніколи його не використовував, але думаю, що для цього може працювати GeoHash .

Geohashes пропонують такі властивості, як довільна точність і можливість поступового видалення символів з кінця коду, щоб зменшити його розмір (і поступово втратити точність).

Внаслідок поступової деградації точності довколишні місця часто (але не завжди) представляють подібні префікси. І навпаки, чим довше спільний префікс, тим ближче два місця.


Ці хеші, як правило, працюють, кодуючи вдосконалені підрозділи поверхні сфери на слова і, таким чином, за своєю суттю є двовимірними. Незрозуміло, як можна було б дістати з них одновимірну координату (будь-яким змістовно).
whuber

@whuber Отже, якби я мав список міст і генерував хеші для них, передаючи їх lat / long на geohash.org, то сортував міста на основі хешу, не було б упорядкування міст не являти собою одновимірне відображення ( незалежно від того, наскільки це точно)?
Кірк Куйкендалл

1
Це повністю залежить від хешу. Просте замовлення не є одновимірним, це лише замовлення. Крім того, потрібна значуща числова координата. Якщо це також виходить із хешу, то ви дійсно маєте 1D-проекцію, але вона, ймовірно, має жахливі властивості. Вся справа в прогнозах полягає в тому, щоб ігнорувати спотворення, які не мають значення для візуалізації чи аналізу, і мінімізувати ті, що роблять. Навряд чи будь-який хеш стане корисним як проекція для більшості цілей.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.