- similarly, the sql definitions of the gist functions have been split into their own new sql.in file, with postgis_gist_72.sql.in containing the new postgres >= 7.2 definitions
- the makefile has been updated to compile EITHER postgis_gist.c OR postgis_gist_72.c, and also to process EITHER postgis_gist.sql.in OR postgis_gist_72.sql and add the output to the end of postgis.sql
- in order to compile the gist functions for posgres 7.2 or newer, make sure to point your PGSQL_SRC at the new source directory, and uncomment the line in the makefile which says PG72 = 1 (near the top)
- some functions that were previously in postgis_ops.c were moved to postgis_fn.c, as part of a general cleanup I did when splitting off the gist functions into their own file
- some definitions that were previously in postgis.h (unnecessarily) where removed, as they varied depending on which version of postgis_gist was being used
- also edited the loader/Makefile to clean up properly
git-svn-id: http://svn.osgeo.org/postgis/trunk@140 b70326c6-7e19-0410-871a-916f4a2858ee
takes a group of geometries and turns them into a geometry collection. For
example, "select collect(roadsgeom) from roadstable group by roadname"
would return one geometrycollection for each unique road name.
git-svn-id: http://svn.osgeo.org/postgis/trunk@130 b70326c6-7e19-0410-871a-916f4a2858ee
Adds requirement for linking the proj4 library if non-null version of
function is requested.
git-svn-id: http://svn.osgeo.org/postgis/trunk@114 b70326c6-7e19-0410-871a-916f4a2858ee
Defaulted to 0.005 (in backend/utils/adt/geo_selfuncs.c) - I've changed it
to be much smaller. This should work for everything but really really
large tables.
git-svn-id: http://svn.osgeo.org/postgis/trunk@56 b70326c6-7e19-0410-871a-916f4a2858ee
Length2d() is renamed length()
perimeter2d() is renamed to perimeter()
numgeometries(geometry) works on MULTI* types
geometryn(geometry) works on MULTI* types
from section 2.1.5.1
--------------------
startpoint(geometry) :- if geometry is a linestring, return the first
point. Otherwise, return NULL.
endpoint(geometry) :- if geometry is a linestring, return the last
point. Otherwise, return NULL.
from section 2.1.9.1/3.2.18.2
--------------------
centroid(geometry) :- if geometry is a polygon (or multipolygon), return
the mathematical centroid (no guaranteed to be on polygon), otherwise
return NULL. I define centroid as the average location of all the points
in the polygon (outer ring only). For multipolygons, average all the
points on all the outer rings.
from section 3.2.12.2/3.2.17.2
---------------------
isclosed(geometry) :- if geometry is a linestring then returns
startpoint == endpoint. If its not a linestring then return NULL. If
its a multilinestring, return true only if all the sub-linestrings have
startpoint=endpoint.
git-svn-id: http://svn.osgeo.org/postgis/trunk@48 b70326c6-7e19-0410-871a-916f4a2858ee
use two geometries. Throws error if try to compare geometries with different
SRIDs.
git-svn-id: http://svn.osgeo.org/postgis/trunk@46 b70326c6-7e19-0410-871a-916f4a2858ee
point_inside_circle(geometry, Px, Py, d)
- returns true if there is a point in geometry whose distance to
(Px,Py) is < d
git-svn-id: http://svn.osgeo.org/postgis/trunk@18 b70326c6-7e19-0410-871a-916f4a2858ee