กำลังวาดสัญลักษณ์มุมมองใน QGIS?


9

ฉันสร้างสัญลักษณ์มุมมองใน QGIS โดยกำหนดจุดให้เป็นวงกลมและเพิ่มบางบรรทัดที่หมุนในมุมที่แตกต่างกันและมันก็จบลงเช่นนั้น

มุมมอง 360 องศา

ในโลกที่สมบูรณ์แบบฉันต้องการให้สัญลักษณ์นี้เป็นรูปหลายเหลี่ยม (แทนที่จะเป็นรูปแบบจุด) ดังนั้นมันจึงมีขนาดที่ถูกต้องในทุกการซูม (โดยไม่ต้องสร้างสัญลักษณ์ที่ขึ้นกับการซูม)

ปัญหาของฉันคือฉันต้องการครึ่งวงกลมเช่นนี้

ครึ่งมุมมอง

และวงกลมมากกว่าครึ่งครึ่งเต็มเช่นนี้:

แปลกมุมมอง

คำแนะนำใด ๆ เกี่ยวกับวิธีสร้างสไตล์เช่นนี้ใน QGIS


3
คุณสามารถสร้างไอคอน svg และเพิ่มหมุน ฯลฯ เป็นข้อเสนอแนะเท่านั้น
Fran Raga

2
ค้นหาคำตอบเกี่ยวกับตัวสร้างรูปทรงเรขาคณิตที่สามารถให้ความคิดกับคุณ gis.stackexchange.com/questions/229961/นี้อันล้ำยุคสำหรับตัวอย่างที่ดีที่จะทำให้คุณอยู่ในเส้นทางที่ถูกต้อง
JR

การนับเซกเมนต์และตำแหน่งเซกเมนต์ที่ขาดหายไปถูกกำหนดอย่างไร
geozelot

จำนวนของการรวมเป็นแบบสุ่ม เพียงแค่ต้องมองอะไรบางอย่างเช่นตัวอย่างเหล่านั้น และฉันไม่แน่ใจว่าฉันจะกำหนด sements ที่ขาดหายไปได้อย่างไร อาจวาดวงกลมและให้ค่า "เป็นวงกลม 270 องศา" หรือ "เป็นวงกลมเต็มยกเว้น 30 องศาหมุน 50 องศา"
Fredrik

2
คุณได้ลองสร้างบัฟเฟอร์ลิ่มแล้วหรือยัง wedge buffers qgis docs
Amanti

คำตอบ:


4

อีกวิธีหนึ่งใน SVG:

บันทึกข้อความด้านล่างเป็นไฟล์ข้อความ SVG (สมมุติว่าpetal.svg) ลงในโฟลเดอร์ SVG ของคุณ

<?xml version="1.0" encoding="UTF-8"?>
<svg id="petal" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <path d="M150,150 v-100 a100,100 0 0,1 38.26834323,7.61205 z"
        fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>
</svg>

มันจะแสดงกลีบดอกเดียว (มุมกลาง ~ 22.5 องศา) เมื่อโหลดลงใน QGIS เป็นเครื่องหมาย SVG มุมการหมุนเริ่มต้นที่ศูนย์และเพิ่มตามเข็มนาฬิกา โปรดเปลี่ยนสีเติมและร่างสีตามต้องการ

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

สำหรับการใช้งานของคุณคุณอาจต้องมีสองกลีบ (45 องศา) สามกลีบ (67.5 องศา) และอื่น ๆ กรุณาแจ้งให้เราทราบหากคุณต้องการรูปแบบเหล่านั้น


แก้ไข (เพิ่มกรณีสำหรับสอง, สามและสี่กลีบ)

สองกลีบ:

<?xml version="1.0" encoding="UTF-8"?>
<svg id="2 petals" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <path d="M150,150 v-100 A100,100 0 0,1 188.26834,57.61205 L150,150 L188.26834,57.61205 A100,100 0 0,1 220.7107,79.28932 z"
        fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>     
</svg>

สามกลีบ:

<?xml version="1.0" encoding="UTF-8"?>
<svg id="3 petals" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <path d="M150,150 v-100 A100,100 0 0,1 188.26834,57.61205 L150,150 L188.26834,57.61205 A100,100 0 0,1 220.7107,79.28932 L150,150 L220.7107,79.28932 A100,100 0 0,1 242.388,111.7317 z"
        fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>     
</svg>

สี่กลีบ:

<?xml version="1.0" encoding="UTF-8"?>
<svg id="4 petals" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <path d="M150,150 v-100 A100,100 0 0,1 188.26834,57.61205 L150,150 L188.26834,57.61205 A100,100 0 0,1 220.7107,79.28932 L150,150 L220.7107,79.28932 A100,100 0 0,1 242.388,111.7317 L150,150 L242.388,111.7317  A100,100 0 0,1 250,150 z"
        fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>     
</svg>

หรือการเพิ่มเลเยอร์ของเครื่องหมาย SVG อาจเป็นตัวเลือก ... แต่ส่วนใหญ่เป็นงานที่ทำด้วยมือและไม่แนะนำให้ทำ

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


ตัวเลือกอื่น - ปลั๊กอินเครื่องมือรูปร่าง

หากคุณไม่จำเป็นต้องมี "ซี่" ฉันจะแนะนำปลั๊กอินเครื่องมือรูปร่าง ไม่เหมือนWedge buffersใน QGIS3 คุณสามารถตั้งค่าstartและendราบได้โดยตรงจากฟิลด์แอตทริบิวต์ของคุณ มันทำให้สิ่งต่าง ๆ ง่ายขึ้นและเร็วขึ้น

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


ยอดเยี่ยมเพียง!
Taras

0

คุณเกือบจะได้รับมัน ลองขั้นตอนนี้:

  1. เปิด PNG ของคุณด้วย inkscape และบันทึกเป็น SVG (ระนาบ) ภายในโฟลเดอร์ (อาจทำให้สัญลักษณ์ SVG ภายใน QGIS เป็นสถานที่ที่ดี)
  2. ภายใน QGIS ให้ไปที่ระบบ -> ตัวเลือก -> ระบบ จากนั้นเพิ่มเส้นทางโฟลเดอร์ของคุณไปยังเส้นทาง SVG ปิด QGIS และเปิดใหม่อีกครั้งเพื่อให้แน่ใจว่าเส้นทางโฟลเดอร์ใหม่นี้จะถูกโหลด
  3. ไปที่คุณสมบัติเลเยอร์และมองหาสัญลักษณ์ใหม่ของคุณ ฉันลองของคุณแล้วใช้งานได้

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


ในกรณีที่คุณต้องการเปลี่ยนขนาดสัญลักษณ์โดยอัตโนมัติให้ลองใช้ตัวเลือกนี้: gis.stackexchange.com/questions/113513/…
César Arquero
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.