สไตล์เลเยอร์ QGIS / PostGIS


9

ฉันสร้างปลั๊กอินเพื่อขอข้อมูลรับรองการเข้าสู่ฐานข้อมูล เมื่อเข้าสู่ระบบปลั๊กอินกำลังโหลดเลเยอร์บางอย่างจากฐานข้อมูล ในฐานข้อมูลมีทั้งผู้ดูแลระบบและผู้ใช้ "ปกติ"

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

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

เรียกใช้ QGIS และปลั๊กอินอีกครั้ง (ในฐานะผู้ใช้ผู้ดูแลระบบ) สไตล์เลเยอร์จะถูกโหลดโดยอัตโนมัติ

แต่การรัน QGIS และปลั๊กอินอีกครั้ง (ในฐานะผู้ใช้ทั่วไป) จะไม่ถูกโหลดโดยอัตโนมัติ ฉันพยายามโหลดสไตล์จาก DB (จาก GUI) แต่ไม่มีการโหลดสไตล์

คำถามสองข้อ

  1. สไตล์เลเยอร์เก็บไว้ในฐานข้อมูลอย่างไร
  2. มีวิธีในการโหลดสไตล์เลเยอร์โดยไม่มีสิทธิ์ผู้ดูแลฐานข้อมูลหรือไม่?

ผู้ใช้ปกติของคุณได้รับอนุญาตให้เข้าถึงตารางของคุณหรือไม่ แล้วสไตล์ตารางของคุณล่ะ?
Alexandre Neto

ผู้ใช้ปกติของฉันมีสิทธิ์เข้าถึงตารางเลเยอร์ พวกเขาได้รับตามที่ควร เกี่ยวกับตารางสไตล์นั่นคือปัญหา ฉันคาดว่าจะมีตารางสไตล์ แต่ไม่สามารถเห็นพวกเขาในฐานข้อมูลโดยใช้ pgAdmin อาจเป็นไปได้ว่าสไตล์นั้นถูกเก็บไว้ในวิธีอื่น แต่อย่างไร หากฉันสามารถหาตารางสไตล์ใด ๆ ฉันสามารถให้ผู้ใช้ทั่วไปเข้าถึงกางเกงรัดรูปของพวกเขาได้
28233

คำตอบ:


11

ปกติสไตล์จะถูกบันทึกใน public.layer_styles

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

GRANT SELECT ON TABLE public.layer_styles TO users;
-- "users" is a group with all your #normal users

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