ค่าที่ถูกต้องสำหรับการตั้งค่าการติดฉลาก "ข้อมูลที่กำหนด" คืออะไร?


9

ฉันใช้ QGIS 1.8 ฉันต้องการปรับแต่งคุณสมบัติของฉลากบน shapefile ที่มีอยู่โดยใช้เครื่องมือป้ายกำกับใหม่และเป็นตัวเลือก "การตั้งค่ากำหนดข้อมูล" ฉันต้องการที่จะรู้ว่าสิ่งที่ประเภทของตารางแอตทริบิวต์ตารางสำหรับแต่ละการตั้งค่า: ตัวเลือกทั้งหมด 7 ตัวเลือกตัวเลือกบัฟเฟอร์ทั้ง 2 และตัวเลือกตำแหน่งทั้งหมด 6 พวกเขาทั้งหมดควรเป็นเขตข้อมูลตัวเลขหรือข้อความบางส่วนหรือทั้งสองอย่าง? ฉันต้องการสร้างเขตข้อมูลเหล่านี้ในตารางแอตทริบิวต์อย่างถูกต้องเพื่อให้สามารถแมปกับการตั้งค่าเขตข้อมูลป้ายกำกับ ฉันไม่สามารถหาข้อมูลเกี่ยวกับประเภทฟิลด์ที่เหมาะสมได้ทุกที่ ขอบคุณสำหรับความคิดของคุณ

คำตอบ:


16

ไม่มีเอกสารประกอบที่สมบูรณ์สำหรับคุณสมบัติการทำฉลากข้อมูล แต่นี่คือรายละเอียดของค่าและวิธีการใช้งานโดยโปรแกรมการติดฉลาก PAL ของ QGISในรุ่น 1.8:

  • ขนาด [ จริง ] กำหนดขนาดตัวอักษรแม้ว่าการตีความหมายเลขจะขึ้นอยู่กับการตั้งค่าสำหรับเลเยอร์ (จุดหรือหน่วยแผนที่) ซึ่งไม่สามารถกำหนดข้อมูลได้ใน 1.8
  • ตัวหนาตัวเอียงขีดเส้นใต้ขีดฆ่า [ จำนวนเต็ม ] บูลีน 1 หรือ 0 (เปิด / ปิด) เพื่อจัดแต่งสไตล์ของแบบอักษร เป็นการดีที่สุดที่จะใช้แบบอักษรที่มีแบบอักษรหนาหรือตัวเอียงสำหรับสไตล์ลิปเหล่านั้น
  • สี [ สตริง ] เป็นชื่อค่าสีที่เป็นที่ยอมรับโดยQcolor :: setNamedColor ( ชื่อ ) ฟังก์ชั่นที่สาธารณะ รูปแบบเลขฐานสิบหกเป็นประจำ#RRGGBBจะแนะนำ
  • ครอบครัว [ สตริง ] เป็นชื่อครอบครัว QFont สำหรับการจับคู่ตัวอักษร โปรดทราบว่าคุณสามารถระบุชื่อโรงหล่อได้เช่นกัน ปรึกษาคำอธิบาย QFont (ในเอกสารสำหรับรุ่นของ Qt) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการจับคู่ตัวอักษรตามชื่อ
  • BufferSize [ จริง ] กำหนดขนาดบัฟเฟอร์เป็นมม. ไม่มีตัวเลือกให้ตั้งค่านี้ในหน่วยแผนที่ใน 1.8 บัฟเฟอร์ประกอบด้วยสำเนาที่สมบูรณ์และลูบของข้อความของป้ายกำกับ แต่อยู่ด้านหลัง การลากเส้นถูกนำไปใช้ในบรรทัดหมายถึงบัฟเฟอร์การมองเห็นที่เกินจากข้อความจะเป็นครึ่งหนึ่งของขนาดที่กำหนดไว้

    จะมีสิ่งประดิษฐ์ที่เห็นได้ชัดเจนในบัฟเฟอร์ที่มีขนาดใหญ่เทียบกับขนาดข้อความ (ปัญหา Qt ด้วยเทคนิคที่ใช้) หากขนาดแบบอักษรของคุณสำหรับฉลากถูกกำหนดไว้ในหน่วยแผนที่และคุณตั้งค่าบัฟเฟอร์เป็นมม. จะมีปัญหาการมองเห็นเมื่อปรับขนาดทั้งสองด้วยอัตราที่แตกต่างกันเมื่อซูมบนหน้าจอแม้ว่าพวกเขาจะมีลักษณะที่สอดคล้องกันเมื่อพิมพ์แผนที่ สเกลที่รู้จักซึ่งคุณจะต้องคิดบัฟเฟอร์ที่ถูกต้องในหน่วยมิลลิเมตร
  • BufferColor [ string ] เหมือนกับสีข้อความด้านบน โปรดทราบว่าใน 1.8 นี้จะใช้กับทั้งการเติมบัฟเฟอร์และโรคหลอดเลือดสมอง
  • ระยะห่างของฉลาก [ของจริง ] ระยะทางที่กำหนดสำหรับฉลากจากคุณสมบัติตามที่กำหนดโดยโซลูชันเลย์เอาต์แบบไดนามิกสำหรับประเภทเลเยอร์ที่กำหนด (ภายใต้แท็บขั้นสูง) เช่นเหนือหรือใต้บรรทัดจากจุด ฯลฯ

    หมายเหตุ:นี่ดูเหมือน เพื่อทำงานเมื่อคุณไม่ได้ 'ปักหมุด' ฉลากลงด้วยข้อมูลที่กำหนด X และ Y พิกัดเช่นตำแหน่งของป้ายยังคงคิดแบบไดนามิก ระยะทางสัมพันธ์กับการตั้งค่าระดับเลเยอร์สำหรับหน่วย mm หรือ map ภายใต้แท็บ Advanced อีกครั้งคอลัมน์ตารางของคุณจะต้องกำหนดค่าสำหรับประเภทพิกัดของเลเยอร์ของคุณ (เช่น lat / long)
  • X พิกัด, พิกัด Y [ จริง ] พิกัดที่กำหนดในCRS ของเลเยอร์เช่นละติจูด / ลองจิจูดสำหรับบางส่วนและเมตรสำหรับผู้อื่น ตำแหน่งที่พิกัดเหล่านี้กำหนดไว้เป็นจุดหมุนของฉลากซึ่งสามารถเปลี่ยนแปลงได้โดยสัมพันธ์กับเทคนิคการจัดวางของเครื่องยนต์หรือวิธีที่คุณกำหนดแนวนอนและแนวตั้ง

    ในขณะที่ QGIS สามารถทำการแปลงพิกัดแบบทันทีทันใดสิ่งที่ดีที่สุดคือให้เลเยอร์การติดฉลากของคุณทั้งหมดใน CRS เดียวกันดังนั้นจึงไม่มีปัญหากับการเปลี่ยนเลเบลเนื่องจากการเปลี่ยนรูปแบบที่ขี้ขลาด เนื่องจากค่าฟิลด์คอลัมน์ X และ Y ในแหล่งข้อมูลของคุณสัมพันธ์กับ CRS คุณจะต้องมีความแม่นยำสูงกว่ามากเมื่อทำงานกับ lat / long กว่ากับ meters แม้ว่าทั้งคู่จะต้องการความกว้างที่มีขนาดดีเทียบกับความแม่นยำในการทำแผนที่ที่คุณต้องการ .

คอลัมน์ต่อไปนี้ไม่สามารถกำหนดข้อมูลได้ยกเว้นว่ามีการกำหนด X และ Y ไว้แล้ว นี่คือการถดถอยจากคุณสมบัติบางอย่างของเอ็นจิ้นการติดฉลากแบบเก่า (เช่นการกำหนดการหมุนอิสระจาก X และ Y) แต่เป็นวิธีการติดฉลากขั้นสูงในปัจจุบันทำงานใน 1.8

  • แนวการจัด [ สตริง ] (ซ้ายกลางขวา) จัดตำแหน่งแนวนอนของป้ายชื่อของญาติข้อความในฉลากของจุดหมุน

  • แนวตั้ง Alignment [ สตริง ] (ด้านล่างฐานครึ่งและหมวกหรือ Top) การจัดตำแหน่งในแนวตั้งของข้อความฉลากเทียบกับป้ายจุดหมุน Cap และ Top ถือว่าเหมือนกัน Base เป็นพื้นฐานสำหรับแบบอักษร

    หมายเหตุ:การเปลี่ยนการจัดแนวแนวนอนหรือแนวตั้งหลังจากกำหนด X และ Y จะทำให้ข้อความเลื่อนไปสัมพันธ์กับจุดหมุนคงที่ของฉลากซึ่งอาจไม่ใช่สิ่งที่คุณต้องการ จุดหมุนอาจแตกต่างจากค่าเริ่มต้น (ซ้าย, ล่าง) ที่กำหนดวิธีการจัดวาง (เช่นเลเยอร์จุดที่มีการตั้งค่าจุดเกินจะเริ่มต้นที่กึ่งกลางครึ่งดูภาพ) ทางที่ดีที่สุดคือให้ทดลองใช้เครื่องมือเปลี่ยนป้ายกำกับเพื่อ 'ดู' ว่าจุดหมุนอยู่ที่ใดและการเปลี่ยนแปลงการตั้งค่าการจัดตำแหน่งจะมีผลกับป้ายกำกับอย่างไร

ป้อนคำอธิบายรูปภาพที่นี่
ป้ายกำกับที่มีการจัดแนวกึ่งกลางและกึ่งกลางและย้ายไปยังตำแหน่งใหม่ชดเชยจากจุดคุณลักษณะ

  • การหมุน [ จริง ] (0.00-360.00) จำนวนองศาในการหมุนทวนเข็มนาฬิกาของฉลากเกี่ยวกับจุดหมุน เครื่องมือ Rotate Label เมื่อใช้คีย์ตัวปรับแต่ง Ctl (Cmd บน Mac) จะปัดเศษการหมุนเพิ่มขึ้นเป็น 15 องศา

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

ป้อนคำอธิบายรูปภาพที่นี่
แถบเครื่องมือการติดฉลากขั้นสูงพร้อมไอคอน 'สไตล์ GIS'

  • เครื่องมือ Pin / Unpin Labelsเพื่อ 'ตรึงหรือเลิกตรึง' ฉลากแบบโต้ตอบโดยจัดเก็บข้อมูลตำแหน่งของฉลากเครื่องยนต์ PAL โดยอัตโนมัติไปยังฟิลด์ X, Y และฟิลด์การหมุนที่เป็นทางเลือก เครื่องมือ Companion เพื่อเน้นป้ายกำกับที่ตรึงไว้

  • เครื่องมือแสดง / ซ่อนป้ายกำกับเพื่อแสดงหรือซ่อนป้ายกำกับโดยใช้ฟิลด์กำหนดข้อมูลใหม่ที่เรียกว่า 'แสดงป้าย' น่าอัศจรรย์เพียงพอ

  • การปรับปรุงอย่างต่อเนื่องกับคุณสมบัติของฉลากเช่นการแสดงตามระดับความโปร่งใสและการออกแบบตัวอักษร


2

คุณสามารถลองปลั๊กอิน EasyCustomLabeling ใหม่ (http://hub.qgis.org/projects/easycustomlabeling) ที่ทำซ้ำเลเยอร์และเพิ่มฟิลด์การติดฉลาก "ข้อมูลที่กำหนด" เหล่านี้เป็นประเภทคำจำกัดความของฟิลด์ที่ใช้ในปลั๊กอินนั้น:

QgsField ("LblX", QVariant.Double, "numeric", 10, 2)
QgsField ("LblY", QVariant.Double, "numeric", 10, 2)
QgsField ("LblAlignH", QVariant.String, "varchar", 12)
QgsField ("LblAlignV", QVariant.String, "varchar", 12)
QgsField ("LblSize", QVariant.Int, "จำนวนเต็ม", 1)
QgsField ("LblRot", QVariant.Double, "ตัวเลข", 10, 2)
QgsField ("LblBold", QVariant.Int, "จำนวนเต็ม", 1)
QgsField ("LblItalic", QVariant.Int, "จำนวนเต็ม", 1)
QgsField ("LblColor", QVariant.String, "varchar", 7)
QgsField ("LblFont", QVariant.String, "varchar",64)
QgsField ("LblUnder", QVariant.Int, "จำนวนเต็ม", 1)

หวังว่ามันจะช่วย

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