pgLatLon

diff README.mkd @ 16:e319679cefbd

Added more operators for clusters (including polygons); Bugfix regarding missing entries in ecluster_ops operator class (index was not used for nearest-neighbor searches)
author jbe
date Fri Sep 09 19:22:30 2016 +0200 (2016-09-09)
parents 4489b4d7d9c8
children 8a8d6dc44337
line diff
     1.1 --- a/README.mkd	Sat Sep 03 16:00:22 2016 +0200
     1.2 +++ b/README.mkd	Fri Sep 09 19:22:30 2016 +0200
     1.3 @@ -1,4 +1,4 @@
     1.4 -pgLatLon v0.3 documentation
     1.5 +pgLatLon v0.4 documentation
     1.6  ===========================
     1.7  
     1.8  pgLatLon is a spatial database extension for the PostgreSQL object-relational
     1.9 @@ -56,6 +56,38 @@
    1.10  
    1.11      test_database=# CREATE EXTENSION latlon;
    1.12  
    1.13 +### Updating
    1.14 +
    1.15 +Before updating your database cluster to a new version of pgLatLon, you may
    1.16 +want to uninstall the old by calling "`make uninstall`" in the unpacked source
    1.17 +code directory of your old pgLatLon version. You may also manually delete the
    1.18 +`latlon-v????.so` files from your PostgreSQL library directory and the
    1.19 +`latlon.control` and `latlon--*.sql` files from your PostgreSQL extension
    1.20 +directory.
    1.21 +
    1.22 +The new version can be installed as described above. For altering an existing
    1.23 +database to use the installed new version (mandatory if you removed the old
    1.24 +version), execute the following SQL command in the respective databases:
    1.25 +
    1.26 +    ALTER EXTENSION latlon UPDATE;
    1.27 +
    1.28 +If the update contains modifications to operator classes, it may be necessary
    1.29 +to drop all indices on geographic data types first (you will get an error
    1.30 +message in this case). These indices can be re-created after the update.
    1.31 +
    1.32 +Note that taking several update steps at once (e.g. updating from version 0.2
    1.33 +directly to version 0.4) requires the intermediate versions to be installed
    1.34 +(i.e. in this example version 0.3 would need to be installed). Whenever you
    1.35 +install or uninstall an intermediate or old version, make sure to afterwards
    1.36 +re-install the latest pgLatLon version to ensure that the `latlon.control` file
    1.37 +is available and points to the latest version.
    1.38 +
    1.39 +If the update contains modifications to the internal data representation
    1.40 +format, an update path might not be available. In this case, create a dump of
    1.41 +your database, delete your database, and restore it from your dump.
    1.42 +
    1.43 +Be sure to always keep backups of all your data before attempting to update.
    1.44 +
    1.45  
    1.46  Reference
    1.47  ---------
    1.48 @@ -236,8 +268,11 @@
    1.49  * `epoint && ecircle`
    1.50  * `epoint && ecluster`
    1.51  * `ebox && ebox`
    1.52 +* `ebox && ecircle`
    1.53 +* `ebox && ecluster`
    1.54  * `ecircle && ecircle`
    1.55  * `ecircle && ecluster`
    1.56 +* `ecluster && ecluster`
    1.57  
    1.58  The `&&` operator is commutative, i.e. `a && b` is the same as `b && a`. Each
    1.59  commutation is supported as well.
    1.60 @@ -254,22 +289,41 @@
    1.61  * `ecircle &&+ ecluster`
    1.62  * `ecluster &&+ ecluster`
    1.63  
    1.64 -The `&&+` operator is commutative, i.e. `a &&+ b` is the same as `b &&+ a`. Each
    1.65 -commutation is supported as well.
    1.66 +The `&&+` operator is commutative, i.e. `a &&+ b` is the same as `b &&+ a`.
    1.67 +Each commutation is supported as well.
    1.68  
    1.69  Where two data types support both the `&&` and the `&&+` operator, the `&&+`
    1.70  operator computes faster.
    1.71  
    1.72 +#### Contains operator `@>`
    1.73 +
    1.74 +Tests if the object right of the operator is contained in the object left of
    1.75 +the operator. Currently implemented for:
    1.76 +
    1.77 +* `ebox @> epoint` (alias for `&&`)
    1.78 +* `ebox @> ecluster`
    1.79 +* `ecluster @> epoint` (alias for `&&`)
    1.80 +* `ecluster @> ebox`
    1.81 +* `ecluster @> ecluster`
    1.82 +
    1.83 +The commutator of `@>` ("contains") is `<@` ("is contained in"), i.e. `a @> b`
    1.84 +is the same as `b <@ a`.
    1.85 +
    1.86  #### Distance operator `<->`
    1.87  
    1.88  Calculates the shortest distance between two geographic objects in meters (zero
    1.89  if the objects are overlapping). Currently implemented for:
    1.90  
    1.91  * `epoint <-> epoint`
    1.92 +* `epoint <-> ebox`
    1.93  * `epoint <-> ecircle`
    1.94  * `epoint <-> ecluster`
    1.95 +* `ebox <-> ebox`
    1.96 +* `ebox <-> ecircle`
    1.97 +* `ebox <-> ecluster`
    1.98  * `ecircle <-> ecircle`
    1.99  * `ecircle <-> ecluster`
   1.100 +* `ecluster <-> ecluster`
   1.101  
   1.102  The `<->` operator is commutative, i.e. `a <-> b` is the same as `b <-> a`.
   1.103  Each commutation is supported as well.

Impressum / About Us