Немного странный вопрос, но надеюсь, что здесь можно задать вопрос.
Кто-нибудь слышал о «одномерной» проекции карты мира, которая отображает все точки земного шара в одну линию?
Я думал о том, чтобы сделать такую вещь - попытаться удержать города, «близкие» на планете, «близкие» на линии.
Прежде чем я это сделаю, я подумал, каков уровень техники в этой области?
cartography
coordinate-system
Утунги
источник
источник
Ответы:
Общий метод отображения набора точек (для которых даны расстояния) в евклидово пространство (например, трехмерное пространство, плоскость или даже линию) с минимальным искажением расстояний называется многомерным масштабированием (MDS). Есть несколько алгоритмов. Решения свободно доступны в R и часто поставляются с пакетами коммерческой статистики.
Здесь отображаются 20 крупнейших городов США со стандартными настройками MDS Stata 11. Клещи обозначают интервалы в 100 км.
источник
Большое спасибо @whuber за первоначальный ответ. Я думал, что я должен загрузить результаты, которые я делаю примерно так же ...
Для чего стоит конкретная форма MDS, которую я использовал, это то, что называется t-SNE (он же «t-распределенное стохастическое вложение Нейбора» ) для получения следующих изображений.
Вот изображение всех городов по порядку - на левой оси - фактическое 1-е местоположение для этого города, а города расположены в порядке сверху вниз, слева направо по этой оси. Color = country
Вот еще одна картина, где я взял линию городов, но нанес ее на карту мира. Думаю, суть в том, что эта проблема сводится к чему-то довольно близкому к проблеме коммивояжера, но с той разницей, что это не просто упорядочение городов, но отображение городов на 1-ую линию ...
Если кому-то нужны полные выходные данные или методология, используемые здесь, пожалуйста, напишите мне.
-
РЕДАКТИРОВАТЬ:
В ответ на комментарий @ whuber ..
Да, вы правы, когда подчеркиваете локальное расстояние (то есть локальные расстояния ближайших соседей должны быть как можно ближе к фактическим расстояниям на карте мира), проблема MDS сводится к проблеме коммивояжера. Однако, если вы подчеркиваете оптимизацию (или сопоставление) расстояний в более широком / более умеренном диапазоне, вы можете получить разные результаты. Например, вот что дает алгоритм t-sne, когда вы используете более высокое значение для «недоумения»:
источник
Что вы можете сделать, так это покрыть свое 2-мерное пространство 1-мерной кривой заполнения пространства, такой как кривая Пеано или кривая Гильберта. Затем вы отображаете свои точки на ближайшую точку на кривой. Разверните кривую, и вы должны в определенной степени получить линию с ближайшими городами в пространстве, ближайшем к линии.
Он не идеален (я не думаю, что что-то может быть), но я видел, что он использовался в качестве основы для алгоритма путешествующего продавца - идея заключается в том, что, если вы совершаете поездку по продавцу, это будет хорошим приближением к лучшее решение
источник
Странные вопросы часто самые интересные!
Если вы ищете современный способ использования измерений в картографии, вы можете начать с графической семиологии Бертина . Согласно Бертину, лист бумаги (или поверхность ipad) имеет 3 измерения: два плоских измерения плюс значение / текстура. Графическая семиология предоставляет правила для сопоставления информационных измерений с этими измерениями представления. Когда два плоских измерения являются пространственными измерениями, графика представляет собой карту, а третье измерение используется для представления информации.
Если вы хотите создать одномерную карту, это означает, что вы решили не использовать одно из измерений бумаги для представления нужной вам информации (близость между городами). Действительно ли необходимо навязывать такое ограничение, а не составлять карту нормалей?
Если это действительно необходимо, как сказано в других ответах, это невозможно сделать! Отношение близости между городами не может быть представлено в одном измерении. Для этого вы можете:
источник
Представьте себе три города на одинаковом расстоянии друг от друга, например, в вершинах равностороннего треугольника. Как бы вы представили это на линии? Некоторая информация будет потеряна.
Либо вы полностью отбрасываете одно измерение, например, проецируете все города на параллельном или меридиане (последнее было бы интересно, поскольку мы не привыкли сравнивать относительное положение городов север / юг среди разных стран), либо вы выбираете конкретный размерная мера, например, «расстояние от Нью-Йорка».
Кривая Пеано, предложенная Spacedman, очень интересна и создаст оригинальную карту, но близлежащие города могут оказаться очень далеко на этой кривой.
источник
Я никогда не использовал его, но я думаю, что GeoHash может сработать для этого.
источник