Funciones Geométricas

Los tipos geométricos point, box, lseg, line, path, polygon, and circle tienen un gran conjunto de funciones nativas soportadas.

Tabla 11. Funciones Geométricas

FuncionesRetornaDescripcionEjemplo
area(box) float8 área del rectangulo area('((0,0),(1,1))'::box)
area(circle) float8 área del circulo area('((0,0),2.0)'::circle)
box(box,box) box rectangulo de intersección de rectangulos box('((0,0),(1,1))','((0.5,0.5),(2,2))')
center(box) point centro del objeto center('((0,0),(1,2))'::box)
center(circle) point centro del objeto center('((0,0),2.0)'::circle)
diameter(circle) float8 diametro del circulo diameter('((0,0),2.0)'::circle)
height(box) float8 tamaño vertical del rectangulo height('((0,0),(1,1))'::box)
isclosed(path) bool ruta cerrada ? isclosed('((0,0),(1,1),(2,0))'::path)
isopen(path) bool ruta abierta ? isopen('[(0,0),(1,1),(2,0)]'::path)
length(lseg) float8 longitud de la linea segmento length('((-1,0),(1,0))'::lseg)
length(path) float8 longitud de la ruta length('((0,0),(1,1),(2,0))'::path)
pclose(path) path convierte path a closed popen('[(0,0),(1,1),(2,0)]'::path)
point(lseg,lseg) point intersección point('((-1,0),(1,0))'::lseg,'((-2,-2),(2,2))'::lseg)
points(path) int4 número de puntos points('[(0,0),(1,1),(2,0)]'::path)
popen(path) path convierte path a open popen('((0,0),(1,1),(2,0))'::path)
radius(circle) float8 radio del círculo radius('((0,0),2.0)'::circle)
width(box) float8 tamaño horizontal width('((0,0),(1,1))'::box)

Tabla 12. Funciones de conversión de tipos Geométricos

FuncionesRetornaDescripcionEjemplo
box(circle) box convierte circulo a rectangulo box('((0,0),2.0)'::circle)
box(point,point) box convierte puntos a rectangulo box('(0,0)'::point,'(1,1)'::point)
box(polygon) box convierte poligono a rectangulo box('((0,0),(1,1),(2,0))'::polygon)
circle(box) circle convierte a circulo circle('((0,0),(1,1))'::box)
circle(point,float8) circle convierte a circulo circle('(0,0)'::point,2.0)
lseg(box) lseg convierte diagonal a lseg lseg('((-1,0),(1,0))'::box)
lseg(point,point) lseg convierte a lseg lseg('(-1,0)'::point,'(1,0)'::point)
path(polygon) point convierte a path path('((0,0),(1,1),(2,0))'::polygon)
point(circle) point convierte a punto (centro) point('((0,0),2.0)'::circle)
point(lseg,lseg) point convierte a punto (intersección) point('((-1,0),(1,0))'::lseg, '((-2,-2),(2,2))'::lseg)
point(polygon) point centro de poligono point('((0,0),(1,1),(2,0))'::polygon)
polygon(box) polygon convierte a poligono con 12 puntos polygon('((0,0),(1,1))'::box)
polygon(circle) polygon convierte a poligono con 12 puntos polygon('((0,0),2.0)'::circle)
polygon(npts,circle) polygon convierte a poligono npts polygon(12,'((0,0),2.0)'::circle)
polygon(path) polygon convierte a polygon polygon('((0,0),(1,1),(2,0))'::path)

Tabla 13. Funciones de Actualización Geométrica

FuncionesRetornaDescripcionEjemplo
isoldpath(path) path test path for pre-v6.1 form isoldpath('(1,3,0,0,1,1,2,0)'::path)
revertpoly(polygon) polygon convierte pre-v6.1 polygon revertpoly('((0,0),(1,1),(2,0))'::polygon)
upgradepath(path) path convierte pre-v6.1 path upgradepath('(1,3,0,0,1,1,2,0)'::path)
upgradepoly(polygon) polygon convierte pre-v6.1 polygon upgradepoly('(0,1,2,0,1,0)'::polygon)