Mapa unidimensional do mundo?

59

Uma pergunta estranha, mas espero que seja correto perguntar aqui.

Alguém já ouviu falar de uma projeção "unidimensional" do mapa do mundo - que está mapeando todos os pontos do globo em uma única linha?

Eu estava pensando em fazer uma coisa dessas - tentando manter as cidades 'próximas' do mundo 'próximas' da linha.

Antes de fazer isso, perguntei-me qual seria o estado da arte nessa área.

utunga
fonte
Boa ideia, mas gostaria de dizer que a linha é um recurso 'bidimensional'.
Vent Lam
16
As linhas são unidimensionais porque são necessárias apenas uma coordenada para localizar qualquer ponto ao longo dela. Os pontos são 0-dimensionais e os polígonos são 2-dimensionais.
blah238
5
a projeção do Apple Peel: t1.thpservices.com/fotos/thum4/013/881/sfd-362035.jpg , embora eu não tenha encontrado nenhum algoritmo pronto para ele ... ;-)
matt wilkie
2
@ Matt Isso é fofo. Para uma boa aproximação, essa projeção mapeia pontos próximos (lat, lon) = (f, l) a (Int ((90-f) / e), l) onde e é o número de "espirais" na casca. (Estou enganando um pouco, mas esta é a essência.) O problema é que, à medida que e aumenta, os pontos de descontinuidade se tornam densos, o que implica que ele tem exatamente o oposto do comportamento desejado: quase todos os pares de pontos que estão próximos na terra são mapeados longe um do outro.
whuber

Respostas:

49

Uma técnica geral para mapear uma coleção de pontos (para as quais as distâncias são dadas) em um espaço euclidiano (como três espaços, um plano ou até uma linha) com distorção mínima das distâncias é chamada de Escala Multidimensional (MDS). Existem vários algoritmos. As soluções estão disponíveis gratuitamente no R e geralmente são fornecidas com pacotes de estatísticas comerciais.

As 20 maiores cidades dos EUA são mapeadas aqui com as configurações MDS padrão do Stata 11. Os carrapatos indicam intervalos de 100 km.

US unidimensional

whuber
fonte
brilhante - sim, era exatamente isso que eu estava planejando fazer - embora eu estivesse esperando usar o algoritmo MDS chamado "Incorporação estocástica de vizinhos", mas sim o mesmo em essência. Vejo que você já fez isso, no entanto. Principal coisa que eu acho, é que me parece bastante lógico / bom! Quero dizer interessante, é do próprio jeito. Obrigado!
utunga
O dimensionamento multidimensional é uma coisa 2D!
Huckfinn
@ huckfinn Isso pode ser feito em qualquer número de dimensões; 2 é apenas uma aplicação comum. Ver, entre outros , Buja et al. que não fornecem limites para a dimensão ke cujo primeiro exemplo (Figura 1, à esquerda) trabalha claramente em uma dimensão. Ou apenas olhe para a minha solução 1D MDS!
whuber
Sim, isso é verdade, mas abaixo do IMO 2D não faz sentido, o MDS será degradado para a medição normal da distância e re-projeção para o feixe numérico. Ordenação se transforma em triagem. Não tenho certeza?
Huckfinn # 03/02
Você realmente está afirmando que o mapa que apresento nesta resposta "não faz sentido"? Isso vai precisar de explicação considerável de sua parte, como qualquer um pode ver claramente que (1) ele faz transmitir informação geográfica útil e (2) ele não reduzir a "medição normal distância."
whuber
17

Muito obrigado a @whuber pela resposta inicial. pensei que eu deveria enviar os resultados de mim fazendo o mesmo ...

Quanto vale a forma particular de MDS que eu usei é algo chamado t-SNE (também conhecido como 'stochastic Neihbor Embedding' ) para obter as seguintes imagens.

Aqui está uma imagem de todas as cidades em ordem - no eixo esquerdo é o local 1-d real dessa cidade e as cidades organizadas em ordem de cima para baixo, da esquerda para a direita nesse eixo. Color = country cidades em ordem

Aqui está outra foto em que eu peguei a linha das cidades, mas a plotei no mapa do mundo. Acho que esse problema se reduz a algo bem próximo do problema do vendedor ambulante - mas com a diferença de que não é apenas uma ordenação de cidades, mas um mapeamento de cidades para uma linha 1-d ...

caminho através do mapa do mundo

Se alguém quiser usar todos os dados ou metodologia de saída aqui, envie uma mensagem.

-

EDITAR:

Em resposta ao comentário do @ whuber ..

Sim, você está certo ao enfatizar a distância local (ou seja, as distâncias locais de vizinhos imediatos devem estar o mais próximo possível das distâncias reais no mapa do mundo). O problema do MDS se reduz ao problema do vendedor ambulante. No entanto, se você enfatizar a otimização (ou correspondência) de distâncias em um intervalo mais amplo / moderado, poderá obter resultados diferentes. Por exemplo, aqui está o que o algoritmo t-sne fornece quando você usa um valor mais alto para 'perplexidade':insira a descrição da imagem aqui

utunga
fonte
Obrigado por compartilhar. Isso realmente é mais parecido com o vendedor viajante: não é o MDS. Uma solução MDS teria muito mais distorção, mas muito mais um relacionamento regular e previsível entre o mundo e o mapa. Como tal, sua resposta constitui mais uma solução para o problema original.
whuber
atualizei minha resposta para dar outra variação, interesse em seus pontos de vista.
23311 utunga
A segunda é uma solução curiosa e interessante, de fato. Parece que seu algoritmo "t-sne" tenta visitar cada ponto exatamente . Isso é meio análogo, no caso 2D, a criação de uma projeção local altamente precisa em torno de cada ponto e, em seguida, permitir que a projeção seja interrompida entre os pontos, distorcendo gravemente suas distâncias e orientações, mantendo a fidelidade local quase perfeita. Suponho que isso possa ter algum uso especializado, mas, na prática, geralmente se permite um pouco de erro de projeção, porque permite folga suficiente para melhorar bastante a solução global.
whuber
12

O que você pode fazer é cobrir seu espaço em 2-d com uma curva de preenchimento de 1-d, como uma curva de Peano ou Curva de Hilbert. Em seguida, você mapeia seus pontos no ponto mais próximo da curva. Desembrulhe a curva e, em certa medida, você deverá obter uma linha com as cidades mais próximas no espaço mais próximo da linha.

Não é perfeito (acho que nada pode ser), mas já o vi como base para um algoritmo de pessoa que viaja a viajar - a ideia é que, se você estiver viajando com um vendedor ao longo da linha, será uma boa aproximação a a melhor solução.

Spacedman
fonte
4
Isso funciona, mas tenha cuidado: as cidades mais próximas onde a linha estará próxima no espaço, mas as cidades próximas no espaço geralmente não estarão próximas umas das outras na linha (as curvas mapeiam ℝ-> ℝ² continuamente, não inverso contínuo).
leftaroundabout
2
esta resposta se beneficiariam de um exemplo gráfico do que uma curva Peano / Hilbert parece (e / ou links para definições)
wilkie mate
11
ou você pode ir para a Wikipedia si mesmo ... está tudo lá, eu realmente não vejo o ponto em repetir wikipedia aqui muito ...
Spacedman
11
Bem, acho que você pode repetir um pouco! Que tal um link ou dois e uma imagem?
blah238
Para fins de ilustração, pode-se olhar de Randall Munroe XKCD mapa da Internet , que usa precisamente esta técnica (embora em, ou seja, o mapeamento de uma linha a um plano reverso)
waldyrious
9

Perguntas estranhas costumam ser as mais interessantes!

Se você está procurando um estado da arte na maneira como as dimensões são usadas na cartografia, você pode começar com a semiologia gráfica de Bertin . De acordo com Bertin, um pedaço de papel (ou uma superfície para ipad) possui três dimensões: as duas dimensões planas, mais o valor / textura. A semiologia gráfica fornece regras para mapear as dimensões de informações para essas dimensões de representação. Quando as duas dimensões planares são as dimensões espaciais, o gráfico é um mapa e a terceira dimensão é usada para a informação representar.

Se você deseja criar um mapa unidimensional, significa que você decide restringir a não utilização de uma das dimensões do papel para representar as informações que deseja (a proximidade entre as cidades). É realmente necessário impor tal restrição e não fazer um mapa normal?

Se for realmente necessário, como dito em outras respostas, não poderá ser feito! A relação de proximidade entre cidades não pode ser representada em uma dimensão. Para isso, você pode:

  • Use uma "abordagem centrada no usuário": se o público do mapa estiver localizado em algum lugar ou se houver um local específico para focar, esse local poderá ser considerado uma origem e todas as outras cidades poderão ser classificadas de acordo com a distância até essa origem.
  • Classifique as cidades não apenas de acordo com a distância relativa, mas de acordo com outros critérios de similaridade (população, continente, número de carros por habitante etc.). Então, alguns tratamentos estatísticos, como a análise de componentes principais, poderiam fornecer uma única linha de dimensão em que as cidades poderiam ser classificadas.
julien
fonte
Todas as respostas aqui até agora são muito interessantes e esclarecedoras. A primeira bala nesta, escolha um ponto de origem e todos os outros são "distância da origem", parece ser a prática mais imediata.
Matt Wilkie
A projeção em duas dimensões "também não pode ser feita", como é sabido! Aliás, existem muitas aplicações para projeções 1D, como mapas de faixas para o planejamento de viagens.
whuber
7
trying to keep cities that are 'close' on the globe 'close' on the line

Imagine três cidades à mesma distância uma da outra, por exemplo, nos vértices de um triângulo equilátero. Como você representaria isso em uma linha? Algumas informações serão perdidas.

Você descarta uma dimensão completamente, por exemplo, projetando todas as cidades em paralelo ou em um meridiano (a última seria interessante porque não estamos acostumados a comparar a posição relativa norte / sul das cidades entre países diferentes) ou você seleciona uma específica medida dimensional, por exemplo, "distância de Nova York".

A curva Peano sugerida por Spacedman é muito interessante e resultaria em um mapa original, mas as cidades próximas podem acabar muito longe nessa curva.

UncleZeiv
fonte
5
... mantenha suas cidades próximas e seus globos mais próximos ... #
Thomas
11
+1 Boas observações. No entanto, não é uma proposição de um ou outro: você não precisa projetar em uma linha ou reduzi-la à distância de um ponto de base. Soluções não lineares estão disponíveis, assim como são usadas para as projeções 2D (usuais). O objetivo é minimizar algumas medidas das diferenças entre as distâncias projetadas e as distâncias reais. Nesse aspecto, a curva Peano será particularmente ruim, mas variantes dela (adaptadas para passar por todos os pontos desejados nos estágios iniciais de sua construção) podem funcionar - mais ou menos.
whuber
3

Eu nunca o usei, mas acho que um GeoHash pode funcionar para isso.

As geohashes oferecem propriedades como precisão arbitrária e a possibilidade de remover gradualmente caracteres do final do código para reduzir seu tamanho (e gradualmente perder a precisão).

Como conseqüência da degradação gradual da precisão, locais próximos frequentemente (mas nem sempre) apresentam prefixos semelhantes. Por outro lado, quanto maior o prefixo compartilhado, mais próximos os dois lugares.

Kirk Kuykendall
fonte
Esses hashes tendem a funcionar codificando subdivisões refinadas da superfície da esfera em palavras e, portanto, são inerentemente bidimensionais. Não está claro como alguém extrairia uma coordenada unidimensional (de qualquer maneira significativa).
whuber
@whuber Então, se eu tivesse uma lista de cidades e gerasse hashes para eles, passando o lat / long para geohash.org, classificando as cidades com base no hash, a ordem das cidades não representaria um mapeamento unidimensional ( independentemente de quão preciso seja)?
22611 Kirk Kuykendall # 11:07
11
Depende inteiramente do hash. Um mero pedido não é unidimensional, é apenas um pedido. Além disso, você precisa de uma coordenada numérica significativa. Se isso também sair do hash, na verdade você tem uma projeção 1D, mas provavelmente possui propriedades terríveis. O ponto principal das projeções é ignorar as distorções que não importam para a visualização ou análise e minimizar as que importam. É altamente improvável que qualquer hash seja útil como projeção para a maioria dos propósitos.
whuber