มีวิธีการภายใน QGIS ในการป้องกันไม่ให้เลเบลข้อความซ้อนทับไอคอนที่ใช้เพื่อเลเบลเลเยอร์จุดหรือไม่?
ในแผนที่ตัวอย่างที่แสดงด้านล่างมีสองชั้น:
- เลเยอร์ถนนซึ่งมีป้ายกำกับโดยใช้เครื่องมือการทำป้ายกำกับใหม่
- เลเยอร์จุดซึ่งใช้ไอคอน svg เพื่อแสดงโล่ทางหลวง
ฉันมีกรณีการใช้งานอื่น ๆ สำหรับสิ่งนี้เช่นการป้องกันการทับซ้อนไอคอนสถานีรถไฟ ในตัวอย่างนี้ฉันสามารถย้ายจุดอย่างไรก็ตามในกรณีอื่น ๆ เช่นสถานีรถไฟใต้ดินนั่นไม่ใช่วิธีแก้ปัญหาที่ใช้การได้
ทางออกที่เป็นไปได้ที่ฉันกำลังพิจารณาจะเกี่ยวข้องกับ:
- การเพิ่มคอลัมน์ไปยังไฟล์ dbf ของเลเยอร์จุด
- เติมคอลัมน์ที่เพิ่มด้วยNullหรือช่องว่าง
- เปิดใช้งานการติดฉลาก [สไตล์ใหม่] ของ QGIS สำหรับคอลัมน์ที่เพิ่ม
นี่เป็นวิธีที่จะไปหรือมีวิธีที่ดีกว่า
ข้อมูล QGIS: ฉันใช้รุ่น 1.7.4 และรุ่น 1.8 ที่คอมไพล์เมื่อเร็ว ๆ นี้บน Mac OS 10.7.4 ฉันยังมีรุ่น Linux และ Windows
การอัพเดทความคืบหน้า : วิธีการที่ฉันอธิบายไว้ข้างต้นใช้งานได้แม้ว่าจะต้องทำการแก้ไขสองขั้นตอน
- แทนการใช้อักขระช่องว่างหรือNullเป็นพื้นที่ที่ไม่ทำลายจะต้องมีการใช้ ขณะที่การทดสอบผมพบว่าเขตข้อมูลที่มีNullจะไม่แสดงผลและสาขาที่มีเพียงพื้นที่ (s) จะถูกแปลงเป็นNull (ดูหน้าวิกิพีเดียนี้สำหรับข้อมูลเกี่ยวกับวิธีการพิมพ์ช่องว่างไม่แตก )
- ขณะที่การตั้งชั้นติดฉลากการตั้งค่าบนแท็บขั้นสูงกำหนดตำแหน่งไปกว่าจุด นอกจากนี้ยังตั้งค่าระดับความสำคัญให้สูงกว่าเลเยอร์ที่มีเลเบลอื่น ๆ
ขึ้นอยู่กับขนาดของไอคอนที่ใช้การทดลองบางอย่างอาจต้องใช้เพื่อให้ได้ผลตามที่คาดหวัง อาจใช้อักขระหลายตัวได้ง่ายขึ้นแทนที่จะพยายามเพิ่มน้ำหนักตัวอักษรและ / หรือขนาดทั้งนี้ขึ้นอยู่กับสถานการณ์
ทดสอบกับ QGIS 1.7 และคอมไพล์ล่าสุดของ 1.8 บน Mac OS 10.7.4