ฉันต้องการวางจำนวนจุดในขนาดด้านหน้าที่แตกต่างและอยู่กึ่งกลางภายใต้ชื่อ:
เป็นไปได้ไหม
(นั่นคือการติดฉลากที่เกิดขึ้นจริงของฉัน: label || '\n' || elevation
)
ฉันต้องการวางจำนวนจุดในขนาดด้านหน้าที่แตกต่างและอยู่กึ่งกลางภายใต้ชื่อ:
เป็นไปได้ไหม
(นั่นคือการติดฉลากที่เกิดขึ้นจริงของฉัน: label || '\n' || elevation
)
คำตอบ:
ไม่สนใจขนาดตัวอักษรในนาทีนี้คุณสามารถบรรลุตัวเลือกแรกของคุณโดยการจัดกึ่งกลางฉลากเหนือจุดนั้นใน QGIS 1.9 คุณมีตัวเลือกเพื่อจัดข้อความให้อยู่กึ่งกลางใต้ส่วนหลายบรรทัด หากคุณมีอักขระขึ้นบรรทัดใหม่ในนิพจน์ของคุณคุณสามารถปล่อยให้ช่อง 'ตัดตามอักขระ' ว่างเปล่า (หรือฉันใส่เครื่องหมายสแลชในนิพจน์ของฉันแทน '\ n' และตั้งให้เป็นอักขระแบบตัด - ตัวอักขระตัด ไม่แสดง) การทำเช่นนี้จะทำให้ข้อความของคุณอยู่กึ่งกลางเหมือนกับตัวเลือกที่สอง สำหรับบางอย่างเช่นตัวเลือกแรกของคุณคุณสามารถตั้งค่าตัวเลือกความสูงของบรรทัดเป็น 2 หรือ 3
อย่างไรก็ตามการติดฉลาก QGIS ขั้นสูงมีเพียงตัวเลือกเดียวสำหรับขนาดตัวอักษร ดังนั้นเพื่อให้ได้ขนาดตัวอักษรที่แตกต่างกันฉันคิดว่าคุณจะต้องเพิ่มเลเยอร์ของคุณเป็นครั้งที่สองและตั้งค่าแบบอักษรยกระดับและตำแหน่งในนั้น
คุณสามารถบรรลุสิ่งที่คุณต้องการโดยใช้การติดฉลากตามกฎ แต่คุณต้องแยกเลเบลที่อยู่ในหนึ่งฟิลด์ออกเป็นสองฟิลด์ ตัวเลือกการติดฉลากตามกฎช่วยให้คุณสามารถเพิ่มป้ายกำกับจากเขตข้อมูลที่แตกต่างกันและปรับแต่งตามที่คุณต้องการโดยการเปลี่ยนชื่อตัวอักษรสีขนาดและใช้การชดเชยเพื่อวางพวกเขาเหนือกันและกัน
ดังที่คุณเห็นในตัวอย่างด้านล่างฉันใส่ป้ายกำกับภาษาญี่ปุ่นและป้ายกำกับภาษาอังกฤษลงในสองช่องแล้วควบคุมลักษณะที่ปรากฏของป้ายกำกับแต่ละรายการตามที่ฉันต้องการ:
เพื่อทำสิ่งนี้:
Layer properties -> Labels
Rule-Based Labeling
Offset
ภายใต้Placement
สำหรับหนึ่งในป้ายกำกับเพื่อให้สามารถอยู่เหนือซึ่งกันและกัน สำหรับฟิลด์ป้ายกำกับแรกฉันใช้การตั้งค่าตำแหน่งต่อไปนี้:สำหรับฟิลด์ป้ายกำกับที่สองฉันใช้การตั้งค่าต่อไปนี้:
ทดสอบกับ QGIS 3.0.1 แต่ยังสามารถนำไปใช้ใน QGIS 2.18 ได้เนื่องจากตัวเลือกการติดฉลากแบบอิงกฎจะพร้อมใช้งาน