Существуют ли доступные инструменты или рекомендуемые методы отображения облака тегов или слов (также известного как wordle ) на карте мира, как в этом примере: Карта: Соединенные Штаты фамилий ? (Могут быть и другие примеры на NY Times.)
Обратите внимание, что в приведенном выше примере слова расположены по фиксированным координатам, тогда как помехи в тексте могут быть реализованы с помощью алгоритма wordle (как описано в SO ) в автоматическом режиме. Итак, есть ли программное обеспечение, которое позволяет вам произвольно размещать слова в определенной стране, или вы думаете, что лучше настроить оригинальный алгоритм слова (например, путем добавления ограничений на основе предопределенных границ)?
Ответы:
Это займет совсем немного времени: приблизьте границу многоугольника изотетическими линиями (то есть горизонтальными и вертикальными сегментами) и, в качестве начальных условий, разместите прямоугольники (с пустым содержимым), выровненные по этим линиям снаружи многоугольника и внутри. ограничительной рамки многоугольника. В этот момент конфигурация выглядела бы точно так, как если бы алгоритм Wordle работал некоторое время и случайно разместил первые слова по периметру ограничивающего прямоугольника. Пусть алгоритм вступит во владение оттуда.
По сути, это равносильно представлению многоугольника с помощью квадродерева с самого начала и, в противном случае, точному воспроизведению алгоритма Wordle.
Если вы не помещаете тысячи слов в многоугольник, и если у вас есть немного свободного вычислительного времени, вам вообще не нужно кодировать пространственный индекс: вы можете выполнить обнаружение столкновений, используя сравнения всех пар методом грубой силы ограничивающие рамки. Приложив немного больше работы, вы можете поддерживать списки местоположений слов, отсортированных по x- и y-координатам, и использовать эти списки для оптимизации алгоритма обнаружения столкновений.
источник
Очень хитрость. Я сам пытаюсь сделать что-то подобное, но создать типографские карты, подобные этой, из Axis Maps.
Вы можете попробовать что-то с помощью qgis или mapnik, основы будут следующими:
1) Подсчитайте слова и сгенерируйте вес по количеству вхождений.
2) генерировать случайные точки внутри полигона.
3) для каждого пункта загрузить слово и его вес в таблицу.
4) Нарисуйте текст с размером шрифта в зависимости от веса.
Вы также можете добавить случайное вращение и цвета к таблице.
источник
Tagxedo выглядит хорошо. Жаль, что он использует Silverlight.
источник
Это может быть полезно: Конструктивный генетический подход к точечно-картографическому размещению меток .
источник