เป็นไปได้ไหมที่จะเขียนนิพจน์เลเบลใน qgis ที่แสดงเลเบลที่พิกัดที่กำหนด?


15

ฉันใช้ตัวสร้างนิพจน์ QGIS สำหรับคุณสมบัติเลเบลของข้อมูลของฉัน

เป็นไปได้หรือไม่ที่จะวางส่วนต่าง ๆ ของฉลากในพิกัดที่ต่างกันบนแผนที่?

เช่นฉันมี linestring และฉันต้องการให้มี "A" แสดงในตอนต้นของ linestring และ "B" ในตอนท้าย

คำตอบ:


22

วิธีหนึ่งคือการใช้การติดฉลากตามกฎและเพิ่มสองกฎสำหรับ "A" และ "B"

  1. ไปLayer Properties > Labelsและเปลี่ยนแปลงตัวเลือกในการที่จะNo labels Rule-based labellingจากนั้นเพิ่มกฎโดยคลิกที่ไอคอนเครื่องหมายบวกสีเขียว:

    การติดฉลากตามกฎ

  2. ตั้งค่าตัวเลือกที่เกี่ยวข้องตามที่ปรากฏเช่นLabel with(ใช้บางสิ่งบางอย่าง'A') Coordinate X Yและ สำหรับพิกัด x คลิกEdit...และใช้$x_at(0)เพื่อวางป้ายกำกับที่จุดเริ่มต้นของการคืนค่า; สำหรับพิกัด y $y_at(0)ใช้

    ตัวเลือกกฎ

  3. ทำซ้ำขั้นตอนที่ 2 สำหรับ "B" แต่สำหรับพิกัด xy ให้ใช้$x_at(-1)และ$y_at(-1)ตามลำดับสำหรับจุดสิ้นสุดของ linestring

  4. เมื่อคุณคลิกใช้หวังว่าคุณจะเห็นสิ่งนี้:

    บรรทัดที่มีป้ายกำกับ


1
ขอบคุณสำหรับการแบ่งปันวิธีการแก้ปัญหาของคุณ! ฉันจะลองดูให้ละเอียด ฉันค่อนข้างใหม่ที่ QGIS และช่วงการเรียนรู้ยังอยู่ในช่วงเริ่มต้น
benoitespinola

@benoitespinola - ขอโทษที่ไม่ตอบสนอง (ปกติฉันจะตอบความคิดเห็น) การต้อนรับมากที่สุดและฉันแน่ใจว่าคุณจะได้รับใช้ QGIS อย่างรวดเร็ว :)
โจเซฟ

11

มีทางเลือกอื่นในการทำเช่นนี้โดยใช้สัญลักษณ์แทนการทำป้ายกำกับซึ่งอาจเหมาะกับคุณ:

- หากคุณต้องการข้อความที่แตกต่างกันสำหรับคุณสมบัติที่แตกต่างจากนั้นเพิ่มสองฟิลด์ในข้อมูลของคุณหนึ่งข้อความสำหรับข้อความสิ้นสุดและอีกหนึ่งข้อความสำหรับคุณเริ่มข้อความ ไม่จำเป็นถ้าคุณต้องการเพียงแค่ 'A' และ 'B' ที่ท้ายบรรทัด

  • เป็นสัญลักษณ์เลเยอร์บรรทัดของคุณแล้วเพิ่มเลเยอร์สัญลักษณ์ใหม่ -> ตั้งค่านี้เป็นบรรทัดเครื่องหมายบนจุดสุดแรก
  • ตั้งค่าชนิดสัญลักษณ์เป็น Font Marker
  • ตั้งเครื่องหมายเป็น 'A' หรือตั้งค่าให้ตรงกับฟิลด์เริ่มต้นจากตารางแอตทริบิวต์ของเลเยอร์
  • โคลนด้วยขนาดและการหมุน ฯลฯ ตามที่คุณต้องการจะมีเครื่องหมายมาตรฐาน

ทำซ้ำเพื่อเพิ่มป้ายกำกับ 'สิ้นสุด'

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


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