mirror of
https://github.com/maplibre/martin.git
synced 2024-12-22 14:21:39 +03:00
ba65e34bef
Merge after #548 Adds a new [.pmtiles](https://protomaps.com/docs/pmtiles/) backend. Supports all formats like png, vector, etc. From CLI, can be as easy as adding a path to a directory that contains a .pmtiles file: ```bash # All *.pmtiles files in this dir will be published. # The filename will be used as the source ID martin ./tests/fixtures ``` From configuration file, the path can be specified in a number of ways: ```yaml pmtiles: paths: # scan this whole dir, matching all *.pmtiles files - /dir-path # specific pmtiles file will be published as pmtiles2 source - /path/to/pmtiles2.pmtiles sources: # named source matching source name to a single file pm-src1: /tmp/pmtiles.pmtiles # named source, where the filename is explicitly set. This way we will be able to add more options later pm-src2: path: /tmp/pmtiles.pmtiles ``` Fixes #508
157 lines
3.8 KiB
YAML
157 lines
3.8 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
|
|
|
|
# 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:
|
|
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/stamen_toner__raster_CC-BY+ODbL_z3.pmtiles
|