หลังจาก st_union () PgSQL ส่งคืนบันทึกย่อ:
NOTE: TopologyException: side location conflict at 226.001 39.5158
และในผลลัพธ์มีสองแถวที่มีรูปทรงเรขาคณิตที่ว่างเปล่าและแถวอื่น ๆ ก็โอเค
ทำให้เกิดปัญหาอะไร วิธีแก้ปัญหา
หลังจาก st_union () PgSQL ส่งคืนบันทึกย่อ:
NOTE: TopologyException: side location conflict at 226.001 39.5158
และในผลลัพธ์มีสองแถวที่มีรูปทรงเรขาคณิตที่ว่างเปล่าและแถวอื่น ๆ ก็โอเค
ทำให้เกิดปัญหาอะไร วิธีแก้ปัญหา
คำตอบ:
ฉันพบปัญหาแล้ว มันเป็นรูปหลายเหลี่ยมตัดกันตัวเอง ฉันเคยST_IsValidReason
พบมัน
โซลูชันมาถึงใน PostGIS 2.0, ST_IsValid () และ ST_MakeValid () คุณสามารถขอให้ PostGIS แก้ไขรูปทรงเรขาคณิตที่ชำรุด คุณต้องระวังด้วยว่ามันยากความสมบูรณ์ของรูปทรงเรขาคณิตของแหล่งกำเนิดนั้นมีความสำคัญด้วยเหตุผลบางประการ
Googling พบบทความที่เกี่ยวข้องนี้: http://lists.refractions.net/pipermail/jts-devel/2009-March/002939.html
ดังนั้นดูเหมือนว่าคุณสมบัติของคุณอาจมีข้อผิดพลาดในการปัดเศษและอาจแก้ไขได้ด้วยการทำความสะอาดรูปทรงเรขาคณิตเล็กน้อย
มันอาจจะคุ้มค่าในการสร้างกรณีที่สามารถทำซ้ำได้ขั้นต่ำและโพสต์ข้อความในรายการส่งจดหมายของ Postgis