Встановлення хмари слова / тегів у географічні межі


15

Чи є якісь доступні інструменти чи рекомендовані способи відображення хмари тегів чи слів (також відомих як wordle ) на карті світу, як у цьому прикладі: Карта: Сполучені Штати прізвищ ? (На NY Times можуть бути й інші приклади.)

Зауважте, що у наведеному вище прикладі слова розташовані за фіксованими координатами, тоді як розміщення тексту може бути реалізовано за допомогою алгоритму wordle (як описано в SO ) в автоматичному режимі. Отже, чи існує програмне забезпечення, яке дозволяє вам класти слова навмання в певну країну, чи ви вважаєте, що краще налаштувати оригінальний алгоритм Wordle (наприклад, додаючи обмеження на основі заздалегідь визначених кордонів)?


можливий дублікат
хмарних

@underdark Дякуємо, що вказали на цю тему. Однак мені здається, що це більше пов'язане з геотегізацією, тоді як я шукаю рішення, коли нам не доведеться пов'язувати відомі просторові координати (наприклад, місто чи округи) кожному слову. Іншими словами, нехай компонування слів у країні не має обмежень, окрім її фактичних кордонів. Якщо інші вважають, що це дійсно дублікат, я можу його видалити без жодних проблем.
chl

@chl: Тож розташування слів всередині кордонів не має значення? Тоді це не дублікат.
underdark

@underdark Так, саме так. Основна ідея Wordle намагається знайти гарний просторовий макет із словами, розмірами за їх відносною частотою. Тоді я просто хочу обмежити вибір можливих (х, у) координат на "кордонах".
chl

Тут є кілька тегів / хмарних потоків у GSE. gis.stackexchange.com/search?q=tag+cloud Схоже, що для розмежування хмари від тега / хмари потрібно докласти певних зусиль (можливо, ініційованих спільнотою обміну стеками ). Навіть з тегом у моєму пошуку я отримав "схоже" всі повернення хмарних ниток. Можливо, ми могли б почати нитку щодо мета для обговорення. А може, це нікого не турбує. ???
Бред Несом

Відповіді:


4

Буде потрібно дуже мало переробити: наблизити межу багатокутника за допомогою ізотетичних ліній (тобто горизонтальних та вертикальних відрізків) і, як початкові умови, розмістити поля (із порожнім вмістом), вирівняні уздовж цих ліній у зовнішньої частини полігону та в внутрішній частині обмежувальної коробки полігону. У цей момент конфігурація виглядала б так, як ніби алгоритм Wordle збирався якийсь час і траплявся розміщувати перші слова по периметру обмежувального поля. Нехай алгоритм переймає звідти.

По суті, це означає, що з самого початку представляти багатокутник з квадратом і в іншому випадку точно відтворювати алгоритм Wordle.

Якщо ви не поміщаєте тисячі слів у багатокутник, і у вас є небагато часу для обчислення часу, вам взагалі не потрібно кодувати просторовий індекс: ви можете виконувати виявлення зіткнень, використовуючи грубі сили порівняння всіх пар обмежувальні ящики. Завдяки невеликій роботі можна підтримувати списки місцеположень слів, відсортовані за x- і y-координатами, і використовувати ці списки для упорядкування алгоритму виявлення зіткнень.


6

Дуже хитрість. Я намагаюся зробити щось подібне самостійно, але виготовити типографічні карти, подібні до цієї, з карт Axis.

введіть тут опис зображення

Ви можете спробувати щось із qgis чи mapnik, основними принципами цього є:
1) Порахуйте слова та генеруйте вагу за кількістю подій.
2) генерувати випадкові точки всередині полігона.
3) для кожної точки завантажте слово, і його вага відстежує таблицю.
4) Намалюйте текст за розміром шрифту залежно від ваги.

Ви також можете додати до таблиці випадкові обертання та кольори.


(+1) Дякуємо, що вказали на друкарські карти. Це нагадує мені, що я натрапив на класні речі кілька місяців тому. Я спробую, але мені було цікаво, чи не буде корисним також наявний код Python, внесений @aeby на SO, якщо я додаю протипоказання на кордонах країни. Я недостатньо знайомий з QGis, але спробую це навчитися.
chl

Розміщення слів у рівномірно випадкових точках, як правило, призведе до багатьох перекриттів. Якщо слова рівномірно масштабуються, щоб майже заповнити багатокутник - що в більшості випадків є бажаною ситуацією - тоді використовувати випадкові точки точно не вийде. Це було б гарним початком для просторового моделювання алгоритму відпалу, хоча :-).
whuber

Вони не перетинаються, тому що qgis і mapnik мають детектори зіткнень. Але деякі слова будуть придушені. Є багато інших проблем, наприклад, скільки слів вам знадобиться залежно від розміру багатокутника?
Пабло

@whuber, Виходячи з вашої ідеї, можливо, замість випадкових точок алгоритм може почати заповнювати полігон іншими полігонами розміром слова вгорі ліворуч до боттона праворуч. потім позначте ці багатокутники.
Пабло

5

Таггедо добре виглядає. Шкода, що він використовує Silverlight.


(+1) Виглядає добре, хоча краще б не покладатися на Silverlight.
chl

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.