วิธีการตั้งค่าความโปร่งใสต่อรูปหลายเหลี่ยมใน Shapefile ใน QGIS


13

วิธีการตั้งค่าความโปร่งใสต่อรูปหลายเหลี่ยมใน Shapefile ใน QGIS

ตัวอย่างเช่น:

รูปหลายเหลี่ยมที่มีเขตข้อมูล "ค่า" = 1 ควรโปร่งใสอย่างเต็มที่ในขณะที่เขตข้อมูลที่มีเขตข้อมูล "ค่า" = 0.4 ควรมีค่าความโปร่งใส 40% สีของรูปหลายเหลี่ยมควรขึ้นอยู่กับเขตข้อมูลอื่น ดีกว่าฉันจะทำสิ่งนี้โดยใช้หนึ่งเลเยอร์ แต่การใช้สองชั้นกับโหมดการผสมบางอย่างก็โอเคเช่นกัน

คำตอบ:


17

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

ในนั้นคุณสามารถใช้ฟังก์ชั่นcolor_rgba( red, green, blue, alpha )เพื่อสร้างสี ค่าทั้งหมดต้องอยู่ระหว่าง 0 ถึง 255

ตัวอย่าง:

color_rgba( 255, 0, 0, ( 1 - "transparency" ) * 255 )

ซึ่งจะทำให้คุณมีสไตล์สีแดงโดยสิ้นเชิงด้วยอัลฟาที่นิยามจากฟิลด์ "โปร่งใส" ตามข้อกำหนดของคุณในคำถาม

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

อีกตัวอย่างหนึ่งสำหรับค่าเล็กน้อย (เชิงคุณภาพ) ซึ่งโดยปกติคุณจะจัดประเภทคือการทำงานในพื้นที่ hsv:

มีฟังก์ชั่นcolor_hsva( hue, saturation, value, alpha )ในการสร้างสี ค่าต้องอยู่ระหว่าง

  • ฮิว: 0-360 (หมายถึงดูด้านล่าง)
  • ค่าและความอิ่มตัว: 0-100
  • อัลฟา: 0-255

ตัวอย่าง:

color_hsva( 
  CASE 
    WHEN "classification" = 'red' THEN 0
    WHEN "classification" = 'blue' THEN 240
  END CASE, -- hue
  80,  -- saturation
  80,  -- value
  ( 1 - "transparency" ) * 255  -- alpha
)

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

สำหรับ QGIS> = 2.12 ให้พิจารณา @ndawsons answer ด้วย


ดูคำตอบที่เกี่ยวข้องด้านล่างสำหรับ QGIS> = 2.12
ndawson

12

ตามคำตอบของ Matthias ใน QGIS> = 2.12 คุณสามารถใช้สีเติมข้อมูลที่กำหนดไว้ด้วยนิพจน์ได้:

 set_color_part(@value, 'alpha', ( 1 - "transparency" ) * 255 )

สิ่งที่นิพจน์นี้ทำนั้นใช้สีรูปหลายเหลี่ยมดั้งเดิม (@value) และแทนที่ช่องอัลฟา (ความทึบ) ด้วยค่าที่คำนวณจากฟิลด์) ซึ่งหมายความว่าคุณสามารถตั้งค่าการแสดงสีของสีเติมจากนั้นจึงดำเนินต่อไปอย่างมีความสุขและใช้ตัวเรนเดอร์ที่จัดหมวดหมู่หรือที่สำเร็จการศึกษาเพื่อตั้งค่าสีเติมฐานโดยอัตโนมัติและกฎความทึบ ไม่จำเป็นต้องเข้ารหัสฮาร์ดค่า rgb อย่างนี้!


1
วิธีการที่ดีและยืดหยุ่น!
Matthias Kuhn

ดูเหมือนจะใช้งานไม่ได้ใน QGIS 3+ หลังจากที่ฉันเพิ่มนิพจน์นั้นรูปหลายเหลี่ยมทั้งหมดจะใช้สีเดียวกับความทึบเดียวกัน
robroc

3

คุณยังสามารถตั้งค่านี้ในคุณสมบัติเลเยอร์ของเลเยอร์ (คลิกขวา -> คุณสมบัติ)
ใช้สไตล์ -> จัดหมวดหมู่แล้วเลือกคอลัมน์ที่คุณต้องการใช้เช่น 'ค่า' เลือกสีในทางลาดสีและคลิก 'Clasify'
จากนั้นคุณสามารถกำหนดสีของแต่ละค่าและความโปร่งใส

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

หากคุณเพิ่มค่าใหม่ให้กับเลเยอร์ที่ใช้ให้คลิกที่ Clasify เพื่อเพิ่มค่าลงในสไตล์ที่คุณมีอยู่


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