¿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 se ubican mediante coordenadas fijas, mientras que la nubosidad del texto podría implementarse con el algoritmo wordle (como se describe en SO ) de manera automática. Entonces, ¿hay un software que le permita poner palabras al azar en un país determinado, o cree que es mejor ajustar el algoritmo original de wordle (por ejemplo, agregando restricciones basadas en fronteras predefinidas)?
Respuestas:
Se necesitarían muy pocos ajustes: aproximar el límite del polígono por líneas isotéticas (es decir, segmentos horizontales y verticales) y, como condiciones iniciales, colocar cajas (con contenido en blanco) alineadas 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 se haga cargo de allí.
En efecto, esto equivale a representar el polígono con un quadtree desde el principio y, de lo contrario, 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 colisión utilizando comparaciones de todos los pares de fuerza bruta Las cajas delimitadoras. Con un poco más de trabajo, puede mantener listas de las ubicaciones de palabras ordenadas por coordenadas x e y y explotar estas listas para simplificar el algoritmo de detección de colisiones.
fuente
Muy truco. Estoy tratando de hacer algo así, pero para producir mapas tipográficos como este de Axis Maps.
Puede probar algo con qgis o mapnik, los conceptos básicos serían:
1) Cuente las palabras y genere un peso por el número de ocurrencias.
2) generar puntos aleatorios dentro de un polígono.
3) para cada punto, cargue una palabra y su peso se atribuye 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.
fuente
Tagxedo se ve bien. Lástima que use Silverlight.
fuente
Esto podría ser útil: un enfoque genético constructivo para la colocación de etiquetas cartográficas de características puntuales .
fuente