martin/tests/config.yaml
Binabh e3e6b3563f
adds support for id_column in tables for auto_publish (#790)
Resolves #682 

- [x] Get id_column string from config.yaml and use for id column
- [x] Support for list of strings
- [x] Add info/warnings if column is not there or is of wrong type
- [x] if column for the feature ID is found, remove it from properties
(see inline comment)
- [x] cleanup logging messages
- [x] need more tests to catch other edge cases

---------

Co-authored-by: Yuri Astrakhan <YuriAstrakhan@gmail.com>
2023-08-13 02:06:23 +00:00

168 lines
4.1 KiB
YAML

---
# Connection keep alive timeout [default: 75]
keep_alive: 75
# The socket address to bind [default: 0.0.0.0:3000]
listen_addresses: '0.0.0.0:3000'
# Number of web server workers
worker_processes: 8
# Database configuration. This can also be a list of PG configs.
postgres:
# Database connection string
connection_string: '${DATABASE_URL:postgresql://postgres@localhost:5432/db}'
# If a spatial table has SRID 0, then this SRID will be used as a fallback
default_srid: 4326
# Maximum connections pool size [default: 20]
pool_size: 20
auto_publish:
tables:
from_schemas: autodetect
id_columns: [feat_id, big_feat_id]
# Associative arrays of table sources
tables:
table_source:
# Table schema (required)
schema: public
# Table name (required)
table: table_source
# Geometry SRID (required)
srid: 4326
# Geometry column name (required)
geometry_column: geom
# Feature id column name
id_column: ~
# An integer specifying the minimum zoom level
minzoom: 0
# An integer specifying the maximum zoom level. MUST be >= minzoom
maxzoom: 30
# The maximum extent of available map tiles. Bounds MUST define an area
# covered by all zoom levels. The bounds are represented in WGS:84
# latitude and longitude values, in the order left, bottom, right, top.
# Values may be integers or floating point numbers.
bounds: [-180.0, -90.0, 180.0, 90.0]
# Tile extent in tile coordinate space
extent: 4096
# Buffer distance in tile coordinate space to optionally clip geometries
buffer: 64
# Boolean to control if geometries should be clipped or encoded as is
clip_geom: true
# Geometry type
geometry_type: GEOMETRY
# List of columns, that should be encoded as tile properties (required)
properties:
gid: int4
MixPoints:
schema: MIXEDCASE
table: MixPoints
id_column: giD
geometry_column: geoM
srid: 4326
geometry_type: POINT
properties:
taBLe: text
points1:
layer_id: abc
schema: public
table: points1
minzoom: 0
maxzoom: 30
bounds: [-180.0, -90.0, 180.0, 90.0]
id_column: ~
geometry_column: geom
srid: 4326
extent: 4096
buffer: 64
clip_geom: true
geometry_type: POINT
properties:
gid: int4
points2:
schema: public
table: points2
minzoom: 0
maxzoom: 30
bounds: [-180.0, -90.0, 180.0, 90.0]
id_column: ~
geometry_column: geom
srid: 4326
extent: 4096
buffer: 64
clip_geom: true
geometry_type: POINT
properties:
gid: int4
points3857:
schema: public
table: points3857
minzoom: 0
maxzoom: 30
bounds: [-180.0, -90.0, 180.0, 90.0]
id_column: ~
geometry_column: geom
srid: 3857
extent: 4096
buffer: 64
clip_geom: true
geometry_type: POINT
properties:
gid: int4
# Associative arrays of function sources
functions:
function_zxy_query:
# Schema name (required)
schema: public
# Function name (required)
function: function_zxy_query
# An integer specifying the minimum zoom level
minzoom: 0
# An integer specifying the maximum zoom level. MUST be >= minzoom
maxzoom: 30
# The maximum extent of available map tiles. Bounds MUST define an area
# covered by all zoom levels. The bounds are represented in WGS:84
# latitude and longitude values, in the order left, bottom, right, top.
# Values may be integers or floating point numbers.
bounds: [-180.0, -90.0, 180.0, 90.0]
function_zxy_query_test:
schema: public
function: function_zxy_query_test
minzoom: 0
maxzoom: 30
bounds: [-180.0, -90.0, 180.0, 90.0]
pmtiles:
sources:
pmt: tests/fixtures/files/stamen_toner__raster_CC-BY+ODbL_z3.pmtiles
sprites:
paths: tests/fixtures/sprites/src1
sources:
mysrc: tests/fixtures/sprites/src2