ปรับคำ / แท็กคลาวด์ให้พอดีกับขอบเขตทางภูมิศาสตร์


15

มีเครื่องมือหรือวิธีแนะนำสำหรับการแสดงแท็กหรือ word cloud (หรือที่รู้จักกันในชื่อwordle ) บนแผนที่โลกเหมือนในตัวอย่างนี้: Map: United States of surnames ? (อาจมีตัวอย่างอื่น ๆ ใน NY Times)

โปรดทราบว่าในตัวอย่างข้างต้นคำอยู่ในพิกัดคงที่ในขณะที่การทำ cloud text อาจถูกนำไปใช้กับอัลกอริทึม wordle (ตามที่อธิบายไว้บน SO ) ในลักษณะอัตโนมัติ ดังนั้นมีซอฟต์แวร์ที่ช่วยให้คุณใส่คำแบบสุ่มในประเทศที่กำหนดหรือคุณคิดว่าเป็นการดีที่สุดที่จะปรับแต่งอัลกอริทึมดั้งเดิมของ wordle (เช่นโดยการเพิ่มข้อ จำกัด ตามขอบเขตที่กำหนดไว้ล่วงหน้า)?



@underdark ขอบคุณที่ชี้ให้เห็นว่า อย่างไรก็ตามดูเหมือนว่าฉันจะเกี่ยวข้องกับการติดแท็กตำแหน่งทางภูมิศาสตร์มากขึ้นในขณะที่ฉันกำลังมองหาวิธีแก้ปัญหาที่เราไม่จำเป็นต้องเชื่อมโยงพิกัดเชิงพื้นที่ที่รู้จัก (เช่นเมืองหรือเขตปกครอง) กับแต่ละคำ กล่าวอีกนัยหนึ่งให้เลย์เอาต์ของคำศัพท์เข้าไปในประเทศไม่มีข้อ จำกัด นอกเหนือจากขอบเขตที่แท้จริง หากผู้อื่นรู้สึกว่าซ้ำกันจริง ๆ ฉันสามารถลบออกได้โดยไม่มีปัญหา
chl

@chl: ตำแหน่งของคำในขอบเขตไม่มีความหมายเหรอ? จากนั้นจะไม่ซ้ำกัน
underdark

@underdark ใช่แน่นอน แนวคิดหลักของ wordle คือพยายามค้นหาเลย์เอาท์เชิงพื้นที่ที่ดูดีพร้อมคำที่มีขนาดตามความถี่สัมพัทธ์ จากนั้นฉันแค่ต้องการ จำกัด การเลือกพิกัดที่เป็นไปได้ (x, y) บน "เส้นขอบ"
chl

มีแท็ก / คลาวด์บางส่วนใน GSE gis.stackexchange.com/search?q=tag+cloudดูเหมือนว่าควรมีความพยายาม (อาจริเริ่มโดยชุมชนแลกเปลี่ยนสแต็ก) เพื่อแยกความแตกต่างของคลาวด์จากแท็ก / คลาวด์ แม้จะมีแท็กในการค้นหาของฉันฉันได้รับ "ดูเหมือนว่า" ทั้งหมดของกระทู้เมฆกลับ บางทีเราสามารถเริ่มหัวข้อในเมตาเพื่อหารือ หรืออาจจะไม่รบกวนคนอื่น ???
แบรดเนสซัม

คำตอบ:


4

มันจะใช้เวลาปรับแต่งน้อยมาก: ประมาณขอบเขตรูปหลายเหลี่ยมโดยเส้น isothetic (นั่นคือส่วนแนวนอนและแนวตั้ง) และเป็นเงื่อนไขเริ่มต้นวางกล่อง (ที่มีเนื้อหาว่างเปล่า) ชิดตามแนวเหล่านั้นในด้านนอกของรูปหลายเหลี่ยมและในการตกแต่งภายใน ของกล่องขอบเขตของรูปหลายเหลี่ยม ณ จุดนี้การกำหนดค่าจะมีลักษณะเหมือนกับว่าอัลกอริทึม Wordle ดำเนินไประยะหนึ่งแล้วและเกิดขึ้นกับการวางคำแรกรอบปริมณฑลของกล่องขอบเขต ให้อัลกอริทึมเข้ามาแทนที่

ผลก็คือจำนวนนี้เป็นตัวแทนของรูปหลายเหลี่ยมที่มีควอดทรีจากจุดเริ่มต้นและสร้างอัลกอริทึม Wordle

หากคุณไม่ได้ใส่คำหลายพันคำลงในรูปหลายเหลี่ยมและถ้าคุณมีเวลาในการคำนวณเพียงเล็กน้อยคุณไม่จำเป็นต้องเขียนดัชนีเชิงพื้นที่เลย: คุณสามารถทำการตรวจจับการชนโดยใช้การเปรียบเทียบแบบคู่ กล่องขอบเขต ด้วยการทำงานอีกเล็กน้อยคุณสามารถรักษารายการตำแหน่งคำที่เรียงลำดับตามพิกัด x และ y และใช้ประโยชน์จากรายการเหล่านี้เพื่อปรับปรุงขั้นตอนวิธีการตรวจหาการชนกันของข้อมูล


6

เคล็ดลับมาก ฉันพยายามทำบางสิ่งเช่นนั้น แต่เพื่อสร้างแผนที่ที่เป็นตัวอักษรเช่นนี้จาก Axis Maps

ป้อนคำอธิบายรูปภาพที่นี่

คุณสามารถลองอะไรกับ qgis หรือ mapnik พื้นฐานก็คือ:
1) นับจำนวนคำและสร้างน้ำหนักตามจำนวนครั้งที่เกิดขึ้น
2) สร้างคะแนนสุ่มภายในโพลิกอน
3) สำหรับแต่ละจุดอัปโหลดคำและมันเป็นน้ำหนักที่จะแนบตาราง
4) วาดข้อความด้วยขนาดตัวอักษรตามน้ำหนัก

นอกจากนี้คุณยังสามารถเพิ่มการหมุนและสีแบบสุ่มลงในตารางได้


(+1) ขอขอบคุณที่ชี้ให้เห็นแผนที่ตัวพิมพ์ มันเตือนฉันว่าฉันเจอสิ่งดีๆเมื่อหลายเดือนก่อน ฉันจะลองดู แต่ฉันสงสัยว่ารหัส Python ที่มีให้โดย@aebyบน SO นั้นจะไม่เป็นประโยชน์เช่นกันหากฉันเพิ่มข้อ จำกัด ในขอบเขตของประเทศ ฉันไม่คุ้นเคยกับ QGis เพียงพอ แต่ฉันจะพยายามเรียนรู้
chl

การวางคำที่จุดสุ่มอย่างสม่ำเสมอจะทำให้เกิดการทับซ้อนกันมากมาย หากคำเหล่านี้มีขนาดเท่ากันจนเกือบจะเติมรูปหลายเหลี่ยม - ซึ่งในกรณีส่วนใหญ่เป็นสถานการณ์ที่ต้องการ - จากนั้นการใช้จุดสุ่มนั้นแน่นอนว่าจะไม่ทำงาน มันจะเป็นการเริ่มต้นที่ดีสำหรับอัลกอริธึมการจำลองเชิงพื้นที่แม้ว่า :-)
whuber

พวกเขาจะไม่ทับซ้อนกันเพราะ qgis และ mapnik มีเครื่องตรวจจับการชนกัน แต่บางคำจะถูกระงับ มีปัญหาอื่นอีกมากมายเช่นคุณต้องการคำกี่คำขึ้นอยู่กับขนาดรูปหลายเหลี่ยม?
Pablo

@whuber การติดตามอุดมคติของคุณอาจจะแทนที่จะเป็นจุดสุ่มอัลกอริทึมอาจเริ่มเติมรูปหลายเหลี่ยมด้วยรูปหลายเหลี่ยมอื่น ๆ ที่มีขนาดคำจากซ้ายไปจนถึงด้านขวา จากนั้นจึงติดป้ายรูปหลายเหลี่ยมเหล่านี้
Pablo

5

Tagxedoดูดี มันแย่มากที่ใช้ Silverlight


(+1) ดูดีแม้ว่ามันจะเป็นการดีที่สุดที่จะไม่พึ่งพา Silverlight
chl

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.