]> granicus.if.org Git - postgresql/commit
Small patch that adds some documentation for the area() function.
authorBruce Momjian <bruce@momjian.us>
Wed, 2 Jun 2004 21:34:49 +0000 (21:34 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 2 Jun 2004 21:34:49 +0000 (21:34 +0000)
commit70f5a87ecc4cfa8810fb27ad55fa4904dcb40a6a
tree67d62e575b05ccedf5fffff9aed8a4b4007335e3
parente8d9d68ca4866c775b5d1170581ac9e1ade3abd8
Small patch that adds some documentation for the area() function.
Specifically, point out that intersecting points in a path will yield
(most likely), unexpected results.  Visually these are identical paths,
but mathematically they're not the same.  Ex:

  area |                                           plan
------
+-----------------------------------------------------------------------
-------------------
    -0 | ((0,0),(0,1),(2,1),(2,2),(1,2),(1,0),(0,0))
     2 | ((0,0),(0,1),(1,1),(1,2),(2,2),(2,1),(1,1),(1,0),(0,0))

The current algorithm for area(PATH) is very quick, but only handles
non-intersecting paths.  I'm going to work on two other functions for
the PATH data type that determines if a PATH is intersecting or not,
and a function that returns the area() for an intersecting PATH.  The
intersecting area() function will be considerably slower (I think it's
going to be O(n!) or worse instead of the current O(n), but that comes
with the territory).

Sean Chittenden
doc/src/sgml/func.sgml