นี่ไม่ใช่คำตอบที่สมบูรณ์ แต่อาจเป็นจุดเริ่มต้นสำหรับใครบางคนที่กำลังมองหารายละเอียดเพิ่มเติม
ST_Polygonize
(ในรูปแบบของpolygonize_garray
) และST_BuildArea
มีการกำหนดในรหัสที่มา (กระจก) ที่https://github.com/postgis/postgis/blob/svn-trunk/postgis/lwgeom_geos.c
พวกเขาทั้งสองในที่สุดก็เรียกGEOSPolygonize
ซึ่งถูกกำหนดไว้ในGEOSซึ่งเป็นพอร์ต C / C ++ ของJava โทโพโลยีสวีท
และจากเอกสาร -
ST_Polygonize - สร้าง GeometryCollection ที่มีรูปหลายเหลี่ยมที่เป็นไปได้ที่เกิดขึ้นจาก linework องค์ประกอบของชุดของรูปทรงเรขาคณิต https://postgis.net/docs/ST_Polygonize.html
ST_BuildArea - สร้างเรขาคณิต areal ที่เกิดขึ้นจาก linework องค์ประกอบของรูปทรงเรขาคณิตที่กำหนด ชนิดส่งคืนสามารถเป็นรูปหลายเหลี่ยมหรือหลายรูปแบบขึ้นอยู่กับอินพุต หาก lineworks ที่ป้อนเข้าไม่ได้เป็นรูปหลายเหลี่ยม NULL จะถูกส่งกลับ อินพุตสามารถเป็น LINESTRINGS, MULTILINESTRINGS, POLYGONS, MULTIPOLYGONS และ GeometryCollections ฟังก์ชั่นนี้จะถือว่ารูปทรงภายในทั้งหมดเป็นตัวแทนของหลุม http://postgis.net/docs/ST_BuildArea.html