7#include <boat/detail/curl.hpp>
13 inline static auto err = std::logic_error{
"slippy"};
22 std::vector<db::source>
sources()
override {
return {}; }
24 std::vector<db::layer>
layers()
override
26 return {{
"",
"_layer",
"raster",
true}};
41 std::stop_token = {})
override
48 void drop(std::string_view, std::string_view)
override {}
53 std::nexttoward(numbers::pi * numbers::earth::equatorial_radius, 0);
58 .table_name{
"_layer"},
59 .column_name{
"raster"},
60 .bands{{
"red",
"byte"},
77 std::generator<std::pair<tile, gil::any_image>>
read(
79 std::vector<tile> ts)
override
82 auto m = std::map<std::string, tile>{};
85 replace(u,
"{z}", to_chars(t.z));
86 replace(u,
"{y}", to_chars(t.y));
87 replace(u,
"{x}", to_chars(t.x));
92 auto [u, img] = q.pop();
void insert(db::table const &, db::rowset const &, std::stop_token={}) override
Cancellation may leave a partially inserted range.
Definition slippy.hpp:38
db::table create(db::table const &) override
Returns metadata reported by the backend after creation.
Definition slippy.hpp:46
int epsg
Tiled Mercator projection: 3857 or 3395.
Definition slippy.hpp:18
void write(db::raster const &, db::rect const &, gil::any_image_view) override
rect coordinates are pixels.
Definition slippy.hpp:97
db::rowset select(db::table const &, db::page const &) override
Definition slippy.hpp:34
db::table get_table(std::string_view, std::string_view) override
Definition slippy.hpp:29
db::rowset select(db::table const &, db::bbox const &) override
Definition slippy.hpp:36
int zmax
Maximum server zoom.
Definition slippy.hpp:20
std::string url
URL template with {z}, {x}, and {y}.
Definition slippy.hpp:16
void drop(std::string_view, std::string_view) override
Definition slippy.hpp:48
std::generator< std::pair< tile, gil::any_image > > read(db::raster, std::vector< tile > ts) override
Definition slippy.hpp:77
std::string agent
HTTP User-Agent.
Definition slippy.hpp:17
db::raster get_raster(db::layer const &) override
Definition slippy.hpp:50
std::vector< db::layer > layers() override
Definition slippy.hpp:24
void commit() override
Definition slippy.hpp:104
void set_autocommit(bool) override
Definition slippy.hpp:102
int ssl
Verify peer certificate.
Definition slippy.hpp:19
std::vector< db::source > sources() override
May include nested data sources.
Definition slippy.hpp:22
matrix affine(int width, int height, cartesian::segment const &mid_pixel)
Maps pixel coordinates to spatial coordinates.
Definition raster.hpp:55
T read(blob_view img)
Decodes PNG or JPEG by signature.
Definition gil.hpp:65
typename any_image::const_view_t any_image_view
Definition gil.hpp:51
Spatial filter for row selection.
Definition meta.hpp:70
Uniform access to vector and raster data.
Definition catalog.hpp:16
Pagination filter for row selection.
Definition meta.hpp:86
model::box< point > box
Definition vocabulary.hpp:81
static constexpr int size
Maximum tile side in pixels.
Definition tile.hpp:16