Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • M mapnik3
  • Project information
    • Project information
    • Activity
    • Members
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
Collapse sidebar
  • 周峰
  • mapnik3
  • Wiki
  • PgRaster

PgRaster · Changes

Page history
clone mapnik wiki from github. authored May 14, 2021 by 周峰's avatar 周峰
Hide whitespace changes
Inline Side-by-side
PgRaster.md 0 → 100644
View page @ 8516de00
This plugin supports reading raster datasets from [PostGIS](http://postgis.net).
# Installation
Make sure that running `python scons/scons.py` shows the following line
Checking for pg_config... yes
To check if the gdal plugin built and was installed correctly you can do:
```python
>>> from mapnik import DatasourceCache as c
>>> 'pgraster' in c.plugin_names()
True
```
## Parameters
| *name = default value* | *type* | *description* |
|:-----------------------------|:--------|:--------------|
| host | string | name of the postgres host |
| port | integer | name of the postgres port |
| dbname | string | name of the database |
| user | string | username to use for connecting |
| password | string | user password to use for connecting |
| application_name | string | connection [application_name](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-APPLICATION-NAME). If omitted, then [fallback_application_name](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-FALLBACK-APPLICATION-NAME) = "mapnik" will be set instead. <br>Available in Mapnik >= 4.0 |
| table | string | name of the table to fetch, this can be a sub-query; subquery has to use syntax of: '( ) as subquery'. |
| raster_field | string | name of the raster field, in case you have more than one in a single table. Deduced from metadata tables if possible |
| raster_table | string | name of the table containing the returned raster; for determining SRIDs with subselects |
| srid = 0 | integer | srid of the table, if this is > 0 then fetching data will avoid an extra database query for knowing the srid of the table |
| extent | string | maxextent of the rasters; if omitted, the extent will be determined by querying the metadata for the table |
| extent_from_subquery = false | boolean | evaluate the extent of the subquery, this might be a performance issue |
| estimate_extent = false | boolean | estimate extent from statistics table if not specified |
| connect_timeout = 4 | integer | timeout is seconds for the connection to take place |
| persist_connection = true | boolean | choose whether to share the same connection for subsequent queries |
| row_limit = 0 | integer | max number of rows to return when querying data, 0 means no limit |
| cursor_size = 0 | integer | if this is > 0 then server cursor will be used, and will prefetch this number of features |
| initial_size = 1 | integer | initial size of the stateless connection pool |
| max_size = 10 | integer | max size of the stateless connection pool |
| prescale_rasters = false | boolean | whether to automatically scale input rasters |
| use_overviews = false | boolean | whether to use raster overviews when available |
| clip_rasters = false | boolean | whether to automatically clip input rasters |
| max_async_connection = 1 | integer | max number of PostGIS queries for rendering one map in asynchronous mode. Full doc [here](Postgis-async). |
| band = 0 | integer | request for a specific raster band index (1-based). 0 means to read all bands. Note that a band read from a single band raster gets interpreted as Grayscale if band=0 is specified while they retain their original value when explicitly referenced with the "band" parameter. This affects effectiveness of [[RasterColorizer]] |
# Styling
To style a layer from PgRaster use the [[RasterSymbolizer]]
# Using out-of-db rasters
If you are using out-of-db raster files, then the ["outasin" parameter](http://postgis.net/docs/RT_ST_AsBinary.html) of PostGIS must be used otherwise PostGIS just returns the file path. Mapnik does not support this parameter yet but you can achieve the same with a subquery for the `table` parameter:
```
<Parameter name="table">(SELECT ST_AsBinary("rast", TRUE) FROM <table_name> WHERE "rast" &amp;&amp; !bbox!) as rast</Parameter>
```
Note: the above is *only* required if parameters `prescale_rasters` or `clip_rasters` are *not* used.
Additionally make sure you have set the `POSTGIS_ENABLE_OUTDB_RASTERS` and `POSTGIS_GDAL_ENABLED_DRIVERS`environment variables for PostGIS. See the [PostGIS installation page](http://postgis.net/docs/postgis_installation.html).
On Ubuntu these variables are set in file `/etc/postgresql/<postgresql_version/main/environment`:
```
POSTGIS_ENABLE_OUTDB_RASTERS=1
POSTGIS_GDAL_ENABLED_DRIVERS=ENABLE_ALL
```
\ No newline at end of file
Clone repository
  • A perfect testcase
  • API changes between v2.0 and v2.1
  • API changes between v3.0 and v3.1
  • AWS Lambda
  • About Mapnik
  • AlsoFilter
  • Api changes between v2.1 and v2.2
  • Api changes between v2.2 and v2.3
  • Api changes between v2.3 and v3.0
  • ArchInstallation
  • Aspect Fix Mode
  • Benchmark Notes
  • BoundsClipping
  • BrokenExceptions
  • BuildingSymbolizer
View All Pages