จัดแต่งทรงผมชายแดนให้ตรงกับการเติมใน QGIS?


11

ในอดีตฉันเพิ่งจับคู่สีของเส้นขอบกับสีของส่วนเติมด้วยตนเอง แต่อาจใช้เวลานาน

ฉันสงสัยว่ามีวิธีใดบ้างที่จะให้โปรแกรมจับคู่สีเส้นขอบกับสีเติมโดยอัตโนมัติ

สีเติมกำลังถูกกำหนดผ่านแท็บสไตล์ในคุณสมบัติเลเยอร์

ใช้ QGIS 2.8.6


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

3
ขอบคุณสำหรับคำแนะนำ ArMoraer ฉันได้ลองสิ่งนั้นในอดีต แต่พบว่าสิ่งนี้มักจะทำให้เกิดช่องว่างเล็ก ๆ ระหว่างรูปร่างซึ่งไม่เป็นที่ชื่นชอบทางสุนทรียภาพ
Kingfisher

คำตอบ:


21

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

ในคุณสมบัติโครงการ> สไตล์เริ่มต้น> ตัวจัดการสไตล์คุณสามารถสร้างสไตล์สัญลักษณ์เริ่มต้นของคุณเองสำหรับ "เติม":

ผู้จัดการสไตล์ QGIS

แก้ไขการแสดงออกของสีเส้นขอบและตั้งค่าเป็น @symbol_color: การแก้ไขการแสดงออกชายแดน

การตั้งค่าการแสดงออกของเส้นขอบ

สุดท้ายตั้งค่ารูปแบบการเติมใหม่ของคุณเป็นค่าเริ่มต้น: การตั้งค่าการเติมใหม่เป็นค่าเริ่มต้น

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

หวังว่าฉันจะมีความคิดที่ดีขึ้นเท่าที่ทำย้อนหลังนี้ แต่บางทีฉันหรือคนอื่นจะมาพร้อมกับความคิดที่ดีในภายหลัง


เป็นคนดี - ลองใช้กับชั้นรูปหลายเหลี่ยมที่มีอยู่แล้วและใช้งานได้ - ไม่จำเป็นต้องตั้งค่ารูปแบบเริ่มต้น (qgis 2.14.1)
Steven Kay

ดีใจที่ได้ยินสตีเว่น! การตั้งค่าเป็นสไตล์เริ่มต้นจะช่วยได้มากขึ้นโดยไม่จำเป็นต้องตั้งค่าอีกครั้งในรูปหลายเหลี่ยมใหม่ใด ๆ ในโครงการ แต่อย่างที่คุณพูดคุณไม่จำเป็นต้องทำเช่นนั้น
JohnR

2
ฉันติดตั้ง 2.8 และแก้ไขมันชั่วคราว ดูเหมือนว่าคุณจะต้องอัปเกรดเป็น 2.14 หากฟังก์ชั่น @color_symbol มีความสำคัญอย่างยิ่ง แต่ก็ไม่ได้เทียบเท่ากับการสร้างขึ้นใน 2.8
JohnR

3
ฉันชอบขอบรูปหลายเหลี่ยมที่มีสีเข้มกว่าเล็กน้อยของสีเติม ฉันทำได้โดยกำหนดสีเส้นขอบเป็น: darker (@symbol_color, 200)
csk

1
@RutgerH ฉันสามารถทำให้มันใช้งานได้ใน 2.18.0 แต่มีการเปลี่ยนแปลงเล็กน้อยในสไตล์ตั้งแต่คำตอบเริ่มต้นของฉัน หากคุณทำตามคำแนะนำและค้นหา "โครงร่าง" แทนที่จะเป็น "เส้นขอบ" คุณควรได้ข้อสรุปเดียวกัน
JohnR

2

อีกวิธีหนึ่งในการรับสีเส้นขอบให้ตรงกับสีเติมคือการเพิ่มเลเยอร์ใหม่ให้กับสัญลักษณ์ของคุณด้วยสัญลักษณ์เลเยอร์ type = Outline: Simple line

เมื่อสีถูกนำไปใช้ที่ระดับสัญลักษณ์เลเยอร์ทั้งหมดจะได้รับสีเดียวกัน (ยกเว้นว่ามีเลเยอร์หนึ่งล็อก) ดังนั้นการเติมและขอบที่เพิ่มจะเท่ากัน ...

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


0

สำหรับวิธีทำให้ย้อนหลัง - คุณสามารถบันทึกสไตล์เป็นไฟล์. qml ให้ใช้การค้นหาและแทนที่นิพจน์ปกติเพื่อตั้งค่าเส้นขอบเป็นสีเดียวกับรูปหลายเหลี่ยม (ใน Notepad ++ หรือคล้ายกัน):

หา:

<prop k="color" v="([^\r\n"]+)"/>(.+?)<prop k="outline_color" v="([^\r\n"]+)"/>

แทนที่:

<prop k="color" v="\1"/>\2<prop k="outline_color" v="\1"/>

บันทึกแล้วโหลดสไตล์ใหม่ใน qgis :)

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