Postgis 2.0 - มุมมอง public.geometry_columns ไม่มีข้อมูลที่ถูกต้องสำหรับมุมมอง


10

เราเพิ่งปรับปรุงฐานข้อมูลของเราเป็น Postgis 2.0

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

ปัญหาใน Postgis 2.0 คือตาราง geometry_columns ถูกแทนที่ด้วยมุมมองที่ดึงข้อมูลจากแคตตาล็อกระบบ ในกรณีของเราสำหรับมุมมองที่สร้างขึ้นเราจะไม่ดึงข้อมูลที่ถูกต้องในคอลัมน์ 'coord_dimension', 'srid' และ 'type'
ข้อมูล : หลังจากการวิจัยบางอย่างฉันพบว่ามุมมอง geometry_columns กำลังใช้ตาราง pg_constraint เพื่อเติมคอลัมน์เหล่านั้น แต่สำหรับมุมมองนั้นไม่มีข้อ จำกัด ที่กำหนดไว้

ไม่มีใครมีความคิดใด ๆ ว่าเราจะแก้ไขปัญหานี้ได้อย่างไร? เราจะบังคับให้มุมมอง gemetry_columns ดึงข้อมูลที่จำเป็นได้อย่างไร มีวิธีแก้ปัญหาหรือวิธีอื่นในการทำเช่นนี้?

คำตอบ:


8

ฉันพบวิธีแก้ไขปัญหาของฉันแล้ว: พบข้อมูลที่จำเป็นทั้งหมดได้ที่ลิงก์นี้ https://postgis.net/docs/using_postgis_dbmanagement.html#Manual_Register_Spatial_Column

โซลูชันที่ 1:สร้างตารางและเพิ่มคอลัมน์รูปทรงเรขาคณิต typmod ตามกระบวนการสร้างจะลงทะเบียนอย่างถูกต้องใน geometry_columns
ถูกต้อง: สร้างตาราง pois_ny (คีย์หลักอนุกรม gid, geom geometry (POINT, 4326));
ไม่ถูกต้อง: สร้างตาราง pois_ny (คีย์หลักอนุกรม gid) เลือก AddGeometryColumn ('pois_ny', 'geom', 4326, 'POINT', 2, false);

โซลูชันที่ 2:สร้างมุมมองและบังคับ typmod สำหรับคอลัมน์เรขาคณิต
เช่นสร้างมุมมอง vw_pois_ny_parks ตามที่ เลือก geom :: geometry (POINT, 4326) เป็น geom จาก pois_ny

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