encajando una nube de palabras / etiquetas en límites geográficos

15

¿Hay herramientas disponibles o métodos recomendados para mostrar una etiqueta o nube de palabras (también conocida como wordle ) en un mapa mundial? , como en este ejemplo: Mapa: ¿Estados Unidos de apellidos ? (Puede haber otros ejemplos en el NY Times).

Tenga en cuenta que en el ejemplo anterior, las palabras están ubicadas por coordenadas fijas, mientras que la nube de texto se puede implementar con el algoritmo wordle (como descrito en SO ) de forma automática. Entonces, ¿existe un software que le permita poner palabras al azar en un país determinado o cree que es mejor modificar el algoritmo original de Wordle (por ejemplo, agregando restricciones basadas en fronteras predefinidas)?

    
pregunta chl 02.02.2011 - 09:11

4 respuestas

4

Se necesitarían muy pocos ajustes: aproximar el límite del polígono mediante líneas isotéticas (es decir, segmentos horizontales y verticales) y, como condiciones iniciales, colocar cuadros (con contenido en blanco) alineados a lo largo de esas líneas en el exterior del polígono y en el interior del cuadro delimitador del polígono. En este punto, la configuración se vería exactamente como si el algoritmo de Wordle hubiera estado funcionando durante un tiempo y hubiera colocado las primeras palabras alrededor del perímetro del cuadro delimitador. Deje que el algoritmo tome el control desde allí.

En efecto, esto equivale a representar el polígono con un quadtree desde el principio y, por lo demás, reproducir exactamente el algoritmo de Wordle.

Si no está colocando miles de palabras en el polígono y si tiene un poco de tiempo de computación de sobra, no tiene que codificar un índice espacial en absoluto: puede realizar la detección de colisiones usando la fuerza bruta todo Comparaciones de pares de los cuadros delimitadores. Con un poco más de trabajo, puede mantener listas de las ubicaciones de palabras ordenadas por coordenadas x e y, y aprovechar estas listas para agilizar el algoritmo de detección de colisiones.

    
respondido por el whuber 03.02.2011 - 17:43
6

Muy truco. Estoy tratando de hacer algo así, pero para producir mapas tipográficos como este uno de Axis Maps.

Puedes probar algo con qgis o mapnik, lo básico sería:
1) Cuente las palabras y genere un peso por el número de ocurrencias.
2) generar puntos aleatorios dentro de un poligon.
3) para cada punto, cargue una palabra y su peso se asocia a la tabla.
4) Dibuje el texto con el tamaño de fuente basado en el peso.

También puede agregar una rotación aleatoria y colores a la tabla.

    
respondido por el Pablo 02.02.2011 - 13:11
5

Tagxedo se ve bien. Lástima que use Silverlight.

    
respondido por el underdark 02.02.2011 - 11:08

Lea otras preguntas en las etiquetas