単語/タグクラウドを地理的境界に合わせる


15

この例のように、世界地図にタグまたは単語クラウド(別名wordle)を表示するための利用可能なツールまたは推奨方法はありますか?Map:United States of surnames?(NY Timesには他の例もあるかもしれません。)

上記の例では、単語は固定座標で配置されますが、テキストクラウドはwordleアルゴリズム(SOで説明)を使用して自動的に実装されることに注意してください。だから、特定の国にランダムに単語を置くことができるソフトウェアがありますか、または(例えば、事前定義されたフロンティアに基づいて制約を追加することによって)wordleのオリジナルのアルゴリズムを微調整するのが最善だと思いますか?



@underdarkそのスレッドを指摘してくれてありがとう。ただし、ジオタグに関連しているように思えますが、既知の空間座標(町や郡など)を各単語に関連付ける必要のないソリューションを探しています。言い換えれば、国への単語のレイアウトに、実際のフロンティア以外の制約がないようにします。他の人が本当に重複していると感じたら、問題なく削除できます。
chl

@chl:それでは、境界内の単語の位置には意味がありませんか?その後、それは重複していません。
暗闇

@underdarkはい、正確に。wordleの主なアイデアは、相対的な頻度でサイズが決められた単語で見栄えの良い空間レイアウトを見つけようとすることです。次に、「境界」上の可能な(x、y)座標の選択を制限したいだけです。
chl

GSEには、ここにいくつかのタグ/クラウドスレッドがあります。gis.stackexchange.com/search?q=tag+cloudクラウドとタグ/クラウドを区別するための努力(おそらくスタック交換コミュニティによって開始される)があるはずです。検索でタグを使用しても、すべてのクラウドスレッドが返されたように見えます。議論するために、メタに関するスレッドを開始することもできます。または、他の人を悩ませないかもしれません。???
ブラッドネソム

回答:


4

微調整はほとんど必要ありません:等値線(つまり、水平および垂直セグメント)でポリゴンの境界を近似し、初期条件として、ポリゴンの外部および内部でそれらの線に沿って配置されたボックス(空白のコンテンツ)を配置しますポリゴンの境界ボックスの。この時点で、構成はWordleアルゴリズムがしばらく続いていて、たまたま境界ボックスの周囲に最初の単語を配置したかのように見えます。そこからアルゴリズムが引き継ぎます。

実際には、これは、最初から4分木でポリゴンを表現すること、そうでなければWordleアルゴリズムを正確に再現することになります。

ポリゴンに数千の単語を配置せず、計算時間に余裕がある場合は、空間インデックスをまったくコーディングする必要はありません。ブルートフォースの全ペア比較を使用して衝突検出を実行できます。バウンディングボックス。もう少し作業を行うと、x座標とy座標でソートされた単語の位置のリストを維持し、これらのリストを活用して衝突検出アルゴリズムを合理化できます。


6

非常にトリック。私は自分でそのようなことをしようとしていますが、Axis Mapsからこのような活版印刷マップを作成しようとしています。

ここに画像の説明を入力してください

qgisまたはmapnikで何かを試すことができます。基本は次のとおりです
。1)単語をカウントし、出現回数で重みを生成します。
2)ポリゴン内でランダムポイントを生成します。
3)各ポイントごとに単語をアップロードし、テーブルへの重みです。
4)太さに基づいたフォントサイズでテキストを描画します。

テーブルにランダムな回転と色を追加することもできます。


(+1)活版印刷マップを指摘していただきありがとうございます。数ヶ月前にクールなものに出くわしたことを思い出します。試してみますが、国の境界に制約を加えれば、SOで@aebyによって提供された利用可能なPythonコードも役に立たないのではないかと思っていました。私はQGisに十分に精通していませんが、それを学びましょう。
CHL

一様にランダムなポイントに単語を配置すると、一般に多くの重複が生じます。単語がポリゴンをほぼ埋めるように均一にスケーリングされている場合(ほとんどの場合、これは望ましい状況です)、ランダムポイントを使用しても機能しないことは確かです。ただし、空間シミュレーテッドアニーリングアルゴリズムの出発点として適切です:-)。
whuber

qgisとmapnikには衝突検出器があるため、重複しません。ただし、一部の単語は抑制されます。他にも多くの問題があります。たとえば、ポリゴンサイズに応じていくつの単語が必要ですか。
パブロ

@whuber、あなたのイデアに続いて、たぶんランダムなポイントの代わりに、アルゴリズムは左上から右下まで単語サイズのポリゴンを他のポリゴンで塗りつぶし始めるかもしれません。次に、これらのポリゴンにラベルを付けます。
パブロ

5

Tagxedoは良さそうです。残念なことに、Silverlightを使用しています。


(+1)見た目は良いが、Silverlightに依存しないことが最善だろう。
chl

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.