Added information about the different extent options

Pete 2016-06-28 16:07:41 +01:00
parent 1247ad3f10
commit 0faaeed697

@ -209,4 +209,61 @@ Keep your database optimized. You should have autovacuum turned on. If you have
Depending on your needs you may want to also ``CLUSTER`` the data periodically.
If there is any active connection Postgresql will wait until it is closed, so if you are running Ogcserver restart Apache to close the connections.
If there is any active connection Postgresql will wait until it is closed, so if you are running Ogcserver restart Apache to close the connections.
## Use an extent parameter
If an extent parameter is not set, mapnik will perform a query like this...
`SELECT ST_XMin(ext),ST_YMin(ext),ST_XMax(ext),ST_YMax(ext)`
`FROM (SELECT ST_Extent(geom) as ext from planet_osm_line) as tmp`
...which requires PostGIS to walk the entire result set of the queried table each time the DataSource is used for the first time in a rendering session. There are three parameters available for use
### extent_from_subquery
E.g. `<Parameter name="extent_from_subquery">true</Parameter>`
**Pros:**
* Precise estimate of extent
**Cons:**
* Performance gains only on small result sets
**Prerequisites:**
* table parameter uses a subquery, not just a table name
* extent parameter is not set
* estimate_extent parameter is not set or false
**Example use case:**
* tile server where render requests return small features sets or any render requests with large feature sets are pre-rendered and cached
### extent
E.g. `<Parameter name="extent">-20037508,-19929239,20037508,19929239</Parameter>`
**Pros:**
* No database overhead
**Cons:**
* XML needs to be updated if alterations to source data affects extent
* Less precision -- bad because [I don't know -- something to do with clipping calculations?]
**Prerequisites:**
* coordinates must be provided in appropriate SRS
**Overrides:**
* extent_from_subquery
* estimate_extent
**Example use case:**
* Seldom changing result set with few updates
### estimate_extent
E.g. `<Parameter name="estimate_extent">true</Parameter>`
**Pros:**
* Faster than not setting any extent parameters; significantly for large result sets
**Cons:**
* For PostgreSQL>=8.0.0 statistics are gathered by VACUUM ANALYZE and resulting extent will be about 95% of the real one. -- [PostGIS docs](http://postgis.net/docs/ST_EstimatedExtent.html)
**Overrides**
* extent_from_subquery
**Example use case:**
* [TODO]