ฉันจะเชื่อมต่อฉลากและจุดด้วยเส้น / ลูกศรได้อย่างไร


12

เป็นไปได้ไหมที่ QGIS จะเชื่อมต่อฉลากและจุดด้วยเส้น / ลูกศรหรือบางสิ่ง? ในแผนที่ของฉันมันไม่ชัดเจนว่าป้ายกำกับไปด้วยจุดใด ฉันไม่สามารถนำมันเข้ามาใกล้เพราะมีจุดอีกมากที่จะมาป้อนคำอธิบายรูปภาพที่นี่


โซลูชันของ xof นั้นเหมาะกับฉัน แต่ฉันต้องการทราบว่าเป็นไปได้หรือไม่ที่จะมีตำนานสั้น ๆ ในรายการรูปร่างของฉัน ... ไม่เหมือนตัวอย่างด้านล่างนี้โดยมีป้ายกำกับสั้น ๆ อยู่แล้ว ... ! [การทดสอบของฉัน ] ( i.stack.imgur.com/8VWoN .png ) ขอบคุณ!
MathieuG

คำตอบ:


7
  • ขั้นแรกให้สร้างฟิลด์การติดฉลากสำหรับตำแหน่ง X และ Y ของป้ายกำกับของคุณในตารางคะแนน

  • เปิดใช้งานการจัดตำแหน่ง X และ Y ในคุณสมบัติของเลเยอร์ของคุณ

แทนที่

  • สร้างสไตล์ "นิพจน์ตัวสร้าง" ใหม่ในสไตล์พอยต์ของคุณกำหนดเป็นประเภทบรรทัดจากนั้นใช้สูตรต่อไปนี้:

    make_line (make_point ($ x, $ y), make_point ("LABEL_X", "LABEL_Y"))

เป็นการปรับปรุงคุณสามารถใช้ฟิลด์ต่าง ๆ (หรือใช้ปลั๊กอินเพื่อสร้างทั้งหมด) เพื่อควบคุมตำแหน่งการจัดตำแหน่ง คุณสามารถใช้ฟิลด์การหมุนและฟิลด์การจัดแนวตั้งและแนวนอน

การออกแบบ

บรรทัดจะเคลื่อนที่ไปตามตำแหน่งป้ายผนึกของคุณเนื่องจากจุดมาถึงของมันเกี่ยวข้องกับเขตข้อมูลตำแหน่งฉลาก


5

คุณสามารถลองดาวน์โหลดและติดตั้งปลั๊กอินEasyCustomLabelingจากปลั๊กอิน > จัดการและติดตั้งปลั๊กอินซึ่งจะสร้างเลเยอร์หน่วยความจำที่ซ้ำซ้อนของเลเยอร์เวกเตอร์ที่คุณเลือกและมีคุณสมบัติเดียวกัน

( โปรดทราบว่าคุณจะต้องดาวน์โหลดและติดตั้งปลั๊กอินMemory Layer Saverเพื่อบันทึกเลเยอร์หน่วยความจำอย่างถูกต้องซึ่งจะอธิบายไว้ในคำอธิบายปลั๊กอิน )

เมื่อสร้างเลเยอร์เลเบลของคุณแล้วคุณสามารถเล่นกับเลเบลและสไตล์ของเลเยอร์นั้นเพื่อลองและค้นหาสิ่งที่คุณต้องการ:

เสียบเข้าไป

การตั้งค่าเลเยอร์เลเบล

เลเยอร์เลเบล

หวังว่านี่จะช่วยได้!


ขอบคุณ @ โจเซฟ ถูกต้องหรือไม่ที่ฉันสามารถเลือกได้เพียงหนึ่งแอททริบิวกับปลั๊กอินนี้? (btw: นี่ควรเป็นคำถามใหม่หรือไม่?)
kevkev

Nah! ไม่ใช่ถ้าเป็นคำถามที่ตอบว่าใช่ / ไม่ใช่ง่ายๆ แต่คุณถูกต้องมีเพียงหนึ่งแอตทริบิวต์ต่อเลเยอร์ดังนั้นคุณสามารถสร้างเลเยอร์ป้ายกำกับได้หลายชั้นหากต้องการ
Joseph

ที่จริงมันเป็นไปได้ หลังจากสร้างเลเยอร์เลเบลแล้วคุณสามารถเปลี่ยนแอททริบิวได้ที่นั่น: D
kevkev

@KevinSuhr - ยอดเยี่ยม! ขอขอบคุณฉันได้เรียนรู้บางสิ่ง =)
Joseph

1
จากโพสต์ของ @underdark กรณีการใช้งานทั่วไปคือความปรารถนาที่จะแสดงค่าแอตทริบิวต์หลายค่าในป้ายกำกับของคุณสมบัติ ด้วยการใช้เครื่องคำนวณภาคสนามคุณสามารถรวมมันไว้ในป้ายกำกับแบบหลายบรรทัดได้ สิ่งที่คุณต้องมีคือการรวมเขตข้อมูลกับ || โอเปอเรเตอร์และเพิ่ม '\ n' (ขึ้นบรรทัดใหม่) ที่ใดก็ตามที่ควรมีการขึ้นบรรทัดใหม่: Field1 || '\ n' || Field2
Lee

4

เกี่ยวกับวิธีการโดย gisinside: ขั้นตอนแรกของการเพิ่มคุณสมบัติ x / y ด้วยตนเองสำหรับฉลากสามารถละเว้น; (อาจจะเป็นเพราะ QGIS3?) มีตัวแปรเสริมสำหรับการวางตำแหน่งฉลากที่มีอยู่แล้ว ตัวแปรจะถูกเรียกใช้อย่างเหมาะสม: "iliary_storage_labeling_positionx "และ "iliary_storage_labeling_positiony"

ดังนั้นในขั้นตอน Nr 2 คุณสามารถใช้นิพจน์นี้เพื่อวาดเส้น:

ยี่ห้อ

อย่างไรก็ตามโปรดทราบว่าตัวแปรเสริมจะได้รับค่าที่กำหนดเท่านั้นหากคุณสัมผัส / ย้ายป้ายกำกับด้วย move-label-tool ดังนั้นคุณจะเห็นบรรทัดสำหรับป้ายกำกับที่ย้ายไปมาด้วยตนเองเท่านั้น


2

หากคุณใช้ PostGIS สำหรับข้อมูลเชิงพื้นที่ของคุณโพสต์นี้https://sigsemgrilhetas.wordpress.com/2015/01/12/etiquetas-com-guias-em-qgis-e-postgis-labels-leading-lines-with- qgis-and-postgis /โดย Alexandre Neto อธิบายว่าจะเพิ่มบรรทัดนำในจุดในฐานข้อมูลของคุณได้อย่างไร

มันเป็นแบบฝึกหัดการเขียนที่คุ้มค่าที่จะอ่านนอกจากนี้ยังมีภาพยนตร์ในโพสต์ที่แสดงวิธีการใช้งาน

หวังว่านี่จะช่วยได้

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