วิธีกำหนดสไตล์ของคะแนนใน QGIS โดยยึดตามคุณลักษณะหลายประการ


13

ในขณะที่พยายามค้นหาวิธีที่มีประโยชน์ในการแสดงแผ่นดินไหวฉันสังเกตเห็นว่ามันไม่ง่ายเลยที่จะจัดการ

ฉันต้องการที่จะรับรู้ "ขนาด", "วันที่" และ "ความลึก" จากรูปแบบของจุด สิ่งที่ต้องการ:

  • ขนาด: ขึ้นอยู่กับขนาด
  • ความลึก: สีพื้นฐาน (เช่น <15 แดง, 15-30 เหลือง,> 30 น้ำเงิน)
  • วันที่: ความเข้มของสีเป็นการแรเงาจากสี 100% เป็นสีขาว / ...

มีวิธีทำโดยไม่กำหนดกฎหลายสิบหรือไม่

คำตอบ:


14

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

สำหรับข้อมูลของคุณ (โดยไม่รู้โครงสร้าง) ฉันอยากจะแนะนำเวิร์กโฟลว์ต่อไปนี้:

  • สร้างการไล่ระดับสีแบบง่าย ๆ ตามกฎสำหรับวันที่ของคุณ - ค่าผ่านการจัดหมวดหมู่หรือจุดการจัดระดับ (แบบสีขาวหรือสีเทา)
  • ปรับขนาดของคะแนนโดยคลิกที่ฟิลด์ "ขั้นสูง" และ "ขนาดที่ปรับขนาด" เลือกขนาดของคะแนนของคุณได้ที่นี่ บันทึกสไตล์ที่ได้เป็นสไตล์ SLD!
  • ไปที่การติดฉลากตามกฎโหลด jn SLD ของคุณและเพิ่มสำหรับแต่ละจุดข้อมูลต่อคลิกขวาหมวดหมู่ (หรือช่วง) ด้วยการไล่ระดับสีที่คุณชื่นชอบสำหรับความลึกของคุณและนำไปใช้กับแต่ละชุดกฎ

เช่นนี้ (คุณสามารถสร้างหมวดหมู่ตามกฎในหมวดหมู่ ;-)): ป้อนคำอธิบายรูปภาพที่นี่

  • หลังจากนั้นอย่าลืมปรับลำดับการเรนเดอร์และอาจควบคุมขนาดของคะแนน

ฉันเข้าใจว่าโซลูชันนี้ขึ้นอยู่กับความพยายาม (mouseclicks) บนไซต์ของคุณ แต่ในที่สุดแผนที่ที่สวยงามก็คุ้มค่ากับความพยายามเสมอ


4

ที่นี่เราสอนการใช้สไตล์ 2 คุณลักษณะโดยใช้ข้อมูลแผ่นดินไหวเอง

http://qgis.spatialthoughts.com/2012/02/styling-vector-data-in-qgis-using-size.html


4
โปรดสรุปแนวคิดหลักที่นี่มิฉะนั้นคำตอบนี้อาจไร้ประโยชน์เมื่อลิงก์แตก
underdark

4

อัปเดตสำหรับ QGIS 2.8

สมมติว่าข้อมูลเช่นนี้:

id | magnitude | date | depth
 1 |     4     | 1912 |  100
 2 |     3     | 1932 |   85

ใช้สไตล์ที่กำหนดโดยข้อมูลกำหนดขนาดที่จะควบคุมโดยฟิลด์ขนาด

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

CASE 
  WHEN depth < 15 
       THEN color_hsl(1, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 15 AND depth < 30 
       THEN color_hsl(60, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 30 
       THEN color_hsl(240, 100, scale_linear(date, 1900, 2015, 100, 50)
END

คะแนน "เก่า" จาก 1900 จะเป็น hsl สีขาว (x, x, 100) ในขณะที่จุดใหม่มีสีสันมากขึ้นถึง hsl (x, x, 50)


3

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

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

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


ฉันไม่รู้ว่าทำไมคำตอบนี้ไม่ได้รับการโหวตมากขึ้น - นี่คือสิ่งที่ฉันต้องการและมันเร็วที่สุด
Scott Staniewicz

0

@spatial Thoughts ใช้งานเว็บไซต์กวดวิชาที่ดีมากสำหรับ qgis เขาเปลี่ยนที่อยู่ตั้งแต่เขาเดิมหลายปีที่ผ่านมาและคำตอบสำหรับคำถามนี้ในขณะนี้สามารถพบได้ที่http://www.qgistutorials.com/en/docs/3/basic_vector_styling.html เขาชี้ให้เห็นทางออกเดียวกับ @sherpas ที่นี่

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