2016-04-13 15 views
0

'de poligona set veya dizi noktaları dönüştürme Dönüştürme noktalarını gerçekleştiren bir işlev var.PostgreSQL

Çokgenleri bir nokta kümesine dönüştürmeyi ve her noktayı yazdığım özel bir işlevle nasıl dönüştürdüğümü anladım. Ama şimdi noktaları nasıl bir poligona dönüştüreceğimi anlayamıyorum.

Dönüştürülmüş noktalardan oluşan bir dizi döndüren kodum İşte. Bundan nasıl bir poligon alırım?

Ps. Eğer noktaları çıkarmanın daha etkili bir yolu varsa, bilmek isterim.

cevap

0

Bu (hariç diğerlerinin çalıştığını görebilirsiniz dönüşümü) işleri:

Geometri tabiri caizse, geometri ve poligon poligon dönüştürülmesi gerekir
SELECT polygon(circle('((0,0),10)')) p 
UNION ALL 
SELECT ST_MakePolygon(ST_MakeLine((point((dp).geom))::geometry))::polygon p 
FROM (SELECT ST_DumpPoints(polygon(circle('((0,0),10)'))::geometry) AS dp 
    ) t; 

.