Updated 2008/11/12
== Simple Projects ==
* ST_IsMeasured(geometry)
TRUE or FALSE depending on existence of M
* ST_LocateAlong(reference geometry, measure float)
* ST_LocateBetween(reference geometry, start float, end float)
* ST_IsValidReason(geometry)
For invalid geometries return the GEOS reason
* ST_CleanGeometry(geometry)
Attempt to make invalid geometry valid
* ST_SplitGeometry(polygon, line) returns components of polygon
* ST_SplitGeometry(lineA, lineB) returns components of lineA
* ST_SplitGeometry(line, point) returns components of line
* ST_Hausdorf(g1 geometry, g2 geometry) returns double.
Need to get def'n from JTS.
* ST_AverageDistance(g1 geometry, g2 geometry, nsamples integer) returns double
Sum of minimum distances at regular intervals up two geometries,
divided by the number of samples.
* ST_MaxDistance(g1 geometry, g2 geometry) returns double.
What is the maximum distance between these two geometries.
* ST_GeomFromKML(string) returns geometry. Ingests KML geometry parts only.
* ST_GeomFromGML(string) returns geometry. Ingests GML geometry parts only.
* ST_GeomFromGeoJSON(string) returns geometry. Ingests JSON geometry parts only.
* ST_LatitudeFromText(string) returns float,
LongitudeFromText(string) returns float
for things like 132W 23' 23", or 45N 23.41232', or 123.14123W, etc, etc, etc.
* ST_AsLatLonText(, [formatstring]) returns string.
Format string could use DD DD.DD MM MM.MM SS SSSS.SSS style
tokens and allow anything else (E, W, ", ', degree sign)
to be interleaved within.
== Larger projects ==
-- Complete Curve support --
The LWGEOM construct does not have quite enough space to hold all the
typology variants of curves. And it certainly doesn't have enough space
for encoding the line interpolation type.
Complete curve support would require re-working all the way back into
GEOS to support non-linear interpolations in all GEOS calculations,
and may never get done.
Intermediate curve support requires handling all curve types and stroking
them into linear interpolations for hand-off to GEOS functions. Inexact
but providing some utility.
Current curve support does include indexing and in/out functions but needs
much better documentation, particularly about the valid WKT and WKB forms.
-- Geodetic support --
A new "geography" type which is indexed in cartesian 3-space, possibly
using direction cosines as the ordinates, and supports some basic functions,
most importantly, distance on all types, area on all types and an
intersects predicate. Casts back to "geometry" could allow use with
standard functionality.
-- Topology --
Expand on the existing topology experiment, in particular buiding topologies
from existing POLYGON and MULTIPOLYGON "coverages" (simple feature collections
that have an expectation of no overlaps or gaps).
-- GEOMETRY_COLUMNS --
Add the maintenance of GEOMETRY_COLUMNS to the "ANALYZE" operation, so that
an ANALYZE automatically removes orphaned rows from GEOMETRY_COLUMNS and
adds entries for new rows.
-- Estimated Extent --
Fast extent estimation based on reading the head of the R-Tree.
-- Nearest Neighbor --
Fast nearest neighbor searching based on traversing the R-Tree.
See,
http://citeseer.ist.psu.edu/roussopoulos95nearest.html
http://citeseer.ist.psu.edu/91356.html