กำลังมองหากลยุทธ์ทั่วไปสำหรับการสร้างโครงร่างใน PostGIS


22

ฉันมีชุดข้อมูลของการสร้างรอยเท้าเวกเตอร์จากชุดข้อมูลแบบแรสเตอร์ ชุดข้อมูลปัจจุบันเป็นเพียงการแสดงเวกเตอร์ของข้อมูลแรสเตอร์ ฉันต้องการชุดข้อมูลรูปหลายเหลี่ยมที่มีจุดยอดที่มุมของอาคารเท่านั้น ฉันพยายามใช้คำสั่งลดความซับซ้อนใน PostGIS ด้วยความสำเร็จที่ จำกัด

มีวิธีที่ดีกว่า?

คำตอบ:


17

มีอัลกอริทึมมากมายที่อุทิศให้กับการสร้างความเรียบง่าย คุณอาจดูที่เว็บไซต์นี้เพื่อดูภาพรวม ดูคำถามนี้ด้วย คุณสามารถใช้:

  • ความเรียบง่ายของโครงร่างสิ่งปลูกสร้าง: ประกอบด้วยการลบขอบที่สั้นเกินไปซ้ำ ๆ ซ้ำ ๆ และทำให้ขอบของเพื่อนบ้านยาวขึ้น ตัวอย่าง:

ข้อความแสดงแทน

  • อัลกอริธึมสี่เหลี่ยมล้อมรอบที่เล็กที่สุด: มันประกอบด้วยการแทนที่เรขาคณิตอาคารด้วยสี่เหลี่ยมล้อมรอบที่เล็กที่สุด สี่เหลี่ยมผืนผ้านี้สามารถปรับขนาดให้กับพื้นที่เริ่มต้นของสิ่งปลูกสร้างได้ ตัวอย่าง:

ข้อความแสดงแทน

  • อัลกอริธึมกำลังสอง: ประกอบด้วยการใช้การหมุนของแสงไปที่ขอบ ตัวอย่าง:

ข้อความแสดงแทน

การเปลี่ยนแปลงเหล่านี้อาจเพียงพอสำหรับความต้องการของคุณ มันน่าสนใจที่จะรวมมันเข้าด้วยกัน

ฉันเกือบ 100% แน่ใจว่าไม่มีการใช้อัลกอริธึมเหล่านี้ใน PostGIS บางอย่างถูกนำไปใช้ในไลบรารี Java Opencarto ที่ฉันกำลังพัฒนา แจ้งให้เราทราบหากคุณต้องการทดสอบ!


1
คุณสามารถให้คำอธิบายสั้น ๆ เกี่ยวกับอัลกอริธึมที่คุณอ้างถึงใน Opencarto สำหรับ "การสร้างโครงร่างให้เข้าใจง่าย" ฉันไม่พบข้อมูลโดยตรงในวิกิหรือรหัสใน Opencarto
ใจดี

มันคือ "ShortEdgesDeletion" คุณสามารถค้นหาได้ที่
Github ที่


4
geometry ST_SimplifyPreserveTopology(geometry geomA, float tolerance);

จะหลีกเลี่ยงการสร้างรูปทรงเรขาคณิตที่ได้รับ (โดยเฉพาะรูปหลายเหลี่ยม) ที่ไม่ถูกต้อง http://www.postgis.org/documentation/manual-1.5SVN/ST_SimplifyPreserveTopology.html

ควรให้ผลลัพธ์ที่ดีกว่าSimplify

ตรวจสอบรูปทรงเรขาคณิตของคุณก่อนและหลังด้วย ST_IsSimple(geometry geomA);


3

บางสิ่งเช่นนี้อาจทำให้เคล็ดลับ:

ถ้าเราบัฟเฟอร์ด้วยจำนวนมากแล้วก็ย้อนกลับบัฟเฟอร์ด้วยจำนวนเดียวกันเราจะได้ของที่มีรูปร่างคล้ายกับของจริง แต่ไม่มีบิตที่วกไปเวียนมา

http://blog.opengeo.org/2010/11/22/removing-complexities/


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