Чим відрізняється ST_BuildArea від ST_Polygonize?


9

Дві функції ST_BuildAreaі ST_Polygonizeобидві беруть лінії і виробляють багатокутники.

Здається, що ST_BuildAreaпередбачає, що внутрішні кільця являють собою отвори і опускає їх від результату, в той час як ST_Polygonizeвключає їх у результат. А механізми використання функцій дещо відрізняються: ST_Polygonizeце сукупність, тоді як ST_BuildAreaвимагає, щоб ви вбудовували входи самостійно, використовуючи ST_Collect.

Крім цього, чи є різниці між двома функціями?


3
Можливо, ці слайди презентації можуть допомогти: http://2010.foss4g.org/presentations/3369.pdf
Йосип

Відповіді:


1

Це не є повною відповіддю, але може стати відправною точкою для того, хто шукає більше деталей.

ST_Polygonize(у формі polygonize_garray) та ST_BuildAreaвизначені у вихідному коді (дзеркалі) за адресою https://github.com/postgis/postgis/blob/svn-trunk/postgis/lwgeom_geos.c .

Вони обидва в кінцевому підсумку викликають GEOSPolygonize, що визначено в GEOS , що є портом C / C ++ пакету Java Topology Suite .

А з документів -

ST_Polygonize - створює GeometryCollection, що містить можливі багатокутники, сформовані з складової лінійної роботи набору геометрій. https://postgis.net/docs/ST_Polygonize.html

ST_BuildArea - Створює геометрію ареалів, утворену складовою лінійної лінії заданої геометрії. Тип повернення може бути полігоном або мультиполігоном, залежно від введення. Якщо вхідні лінії не утворюють полігонів, повертається NULL. Вхідними даними можуть бути ЛІНЕСТРІНГИ, МНОГОПРОСТАВКИ, ПОЛІГОНИ, МНОГОПОЛІГОНИ та ГеометріяКолекції. Ця функція передбачає, що всі внутрішні геометрії представляють отвори. http://postgis.net/docs/ST_BuildArea.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.