@golemio/mvt-maps 0.0.1-dev.1826529834 → 0.0.1-dev.1848286726

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,7 +32,7 @@ let V2MvtController = exports.V2MvtController = class V2MvtController {
32
32
  this.getAll = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
33
33
  try {
34
34
  const params = this.parseParams(req);
35
- const result = yield this.service.getTile(params.table, params.geometry, params.x, params.y, params.z, params.maxZoom, params.attributes, params.radius);
35
+ const result = yield this.service.getTile(params.table, params.geometry, params.x, params.y, params.z, params.maxZoom, params.attributes, params.radius, params.clusterPoint);
36
36
  res.setHeader("Content-Type", "application/vnd.mapbox-vector-tile");
37
37
  res.status(200).send(result);
38
38
  }
@@ -54,6 +54,7 @@ let V2MvtController = exports.V2MvtController = class V2MvtController {
54
54
  : [req.query.attributes],
55
55
  radius: req.query.radius ? parseInt(req.query.radius) : undefined,
56
56
  maxZoom: parseInt(req.query.maxZoom),
57
+ clusterPoint: req.query.clusterPoint ? req.query.clusterPoint : undefined,
57
58
  };
58
59
  }
59
60
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"V2MvtController.js","sourceRoot":"","sources":["../../../src/output-gateway/controllers/V2MvtController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,6EAAwE;AACxE,iEAAwE;AAExE,sEAAoE;AACpE,qEAAmE;AAG5D,IAAM,eAAe,6BAArB,MAAM,eAAe;IACxB,YAA4D,OAAkC;QAA1B,YAAO,GAAP,OAAO,CAAmB;QAEvF,WAAM,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI;gBACA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CACrC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,CAChB,CAAC;gBAEF,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,oCAAoC,CAAC,CAAC;gBACpE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChC;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;IArB+F,CAAC;IAuB1F,WAAW,CAAC,GAAY;QAC5B,IAAI;YACA,OAAO;gBACH,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAW,CAAC;gBACnC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAW,CAAC;gBACnC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAW,CAAC;gBACnC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAe;gBAChC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAkB;gBACtC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;oBAC3C,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,UAAuB;oBACpC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAoB,CAAC;gBACtC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3E,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAiB,CAAC;aACjD,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,6BAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SAClF;IACL,CAAC;CACJ,CAAA;0BA1CY,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAA;qCAAkB,qCAAiB;GADrF,eAAe,CA0C3B"}
1
+ {"version":3,"file":"V2MvtController.js","sourceRoot":"","sources":["../../../src/output-gateway/controllers/V2MvtController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,6EAAwE;AACxE,iEAAwE;AAExE,sEAAoE;AACpE,qEAAmE;AAG5D,IAAM,eAAe,6BAArB,MAAM,eAAe;IACxB,YAA4D,OAAkC;QAA1B,YAAO,GAAP,OAAO,CAAmB;QAEvF,WAAM,GAAG,CAAO,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI;gBACA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CACrC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,YAAY,CACtB,CAAC;gBAEF,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,oCAAoC,CAAC,CAAC;gBACpE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChC;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;IAtB+F,CAAC;IAwB1F,WAAW,CAAC,GAAY;QAC5B,IAAI;YACA,OAAO;gBACH,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAW,CAAC;gBACnC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAW,CAAC;gBACnC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAW,CAAC;gBACnC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAe;gBAChC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAkB;gBACtC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;oBAC3C,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,UAAuB;oBACpC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAoB,CAAC;gBACtC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3E,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAiB,CAAC;gBAC9C,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,YAAuB,CAAC,CAAC,CAAC,SAAS;aACxF,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,6BAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SAClF;IACL,CAAC;CACJ,CAAA;0BA5CY,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAA;qCAAkB,qCAAiB;GADrF,eAAe,CA4C3B"}
@@ -26,6 +26,7 @@ class V2MvtRouter extends AbstractRouter_1.AbstractRouter {
26
26
  (0, express_validator_1.query)("attributes.*").exists().isString().not().isArray(),
27
27
  (0, express_validator_1.query)("maxZoom").exists().isInt(),
28
28
  (0, express_validator_1.query)("radius").optional().isInt(),
29
+ (0, express_validator_1.query)("clusterPoint").optional().isString().not().isArray(),
29
30
  ], Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(5 * 60, 60), this.controller.getAll);
30
31
  }
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"V2MvtRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/routers/V2MvtRouter.ts"],"names":[],"mappings":";;;AAAA,kCAA0C;AAC1C,sEAAoE;AACpE,sFAAmF;AAEnF,+DAAuE;AACvE,6EAA2E;AAC3E,mFAA2E;AAC3E,2CAA2C;AAG3C,MAAM,WAAY,SAAQ,+BAAc;IAIpC;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAE9B,IAAI,CAAC,UAAU,GAAG,iBAAY,CAAC,OAAO,CAAC,2CAAoB,CAAC,eAAe,CAAC,CAAC;QAC7E,IAAI,CAAC,qBAAqB,GAAG,iBAAY,CAAC,OAAO,CAAwB,oBAAc,CAAC,qBAAqB,CAAC,CAAC;QAC/G,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,WAAW,EACX;YACI,IAAA,yBAAK,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAC3C,IAAA,yBAAK,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAC3C,IAAA,yBAAK,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAC3C,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAClD,IAAA,yBAAK,EAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACrD,IAAA,yBAAK,EAAC,YAAY,CAAC,CAAC,MAAM,EAAE;YAC5B,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACzD,IAAA,yBAAK,EAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;YACjC,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;SACrC,EACD,wBAAW,EACX,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EACpD,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,WAAW,GAAmB,IAAI,WAAW,EAAE,CAAC;AAE7C,kCAAW"}
1
+ {"version":3,"file":"V2MvtRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/routers/V2MvtRouter.ts"],"names":[],"mappings":";;;AAAA,kCAA0C;AAC1C,sEAAoE;AACpE,sFAAmF;AAEnF,+DAAuE;AACvE,6EAA2E;AAC3E,mFAA2E;AAC3E,2CAA2C;AAG3C,MAAM,WAAY,SAAQ,+BAAc;IAIpC;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAE9B,IAAI,CAAC,UAAU,GAAG,iBAAY,CAAC,OAAO,CAAC,2CAAoB,CAAC,eAAe,CAAC,CAAC;QAC7E,IAAI,CAAC,qBAAqB,GAAG,iBAAY,CAAC,OAAO,CAAwB,oBAAc,CAAC,qBAAqB,CAAC,CAAC;QAC/G,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,WAAW,EACX;YACI,IAAA,yBAAK,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAC3C,IAAA,yBAAK,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAC3C,IAAA,yBAAK,EAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAC3C,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAClD,IAAA,yBAAK,EAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACrD,IAAA,yBAAK,EAAC,YAAY,CAAC,CAAC,MAAM,EAAE;YAC5B,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACzD,IAAA,yBAAK,EAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;YACjC,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;YAClC,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;SAC9D,EACD,wBAAW,EACX,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EACpD,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,WAAW,GAAmB,IAAI,WAAW,EAAE,CAAC;AAE7C,kCAAW"}
@@ -7,4 +7,5 @@ export interface IMvtParams {
7
7
  attributes: string[];
8
8
  radius?: number;
9
9
  maxZoom: number;
10
+ clusterPoint?: string;
10
11
  }
@@ -1,10 +1,12 @@
1
- import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
2
1
  import { ILogger } from "@golemio/core/dist/helpers";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
3
  export declare class MvtClusterService {
4
4
  private connector;
5
5
  private logger;
6
6
  constructor(connector: IDatabaseConnector, logger: ILogger);
7
- getTile(table: string, geometry: string, x: number, y: number, z: number, zoomLevel: number, attributes: string[], radius?: number): Promise<Uint8Array>;
8
- private defaultGetBaseQuery;
9
- private defaultGetTileQuery;
7
+ getTile(table: string, geometry: string, x: number, y: number, z: number, zoomLevel: number, attributes: string[], radius?: number, clusterPoint?: string): Promise<Uint8Array>;
8
+ private getBaseQuery;
9
+ private getLevelClusterQuery;
10
+ private getLevelGroupQuery;
11
+ private getTileQuery;
10
12
  }
@@ -22,37 +22,66 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.MvtClusterService = void 0;
25
- const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
26
25
  const clusterbuster_1 = require("@golemio/clusterbuster");
27
26
  const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
28
- const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
29
27
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
28
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
29
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
30
30
  let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
31
31
  constructor(connector, logger) {
32
32
  this.connector = connector;
33
33
  this.logger = logger;
34
- this.defaultGetBaseQuery = ({ x, y, z, table, geometry, maxZoomLevel, attributes, query, }) => `
35
- SELECT
36
- ${geometry} AS center,
34
+ this.getBaseQuery = (clusterPoint) => {
35
+ return ({ x, y, z, table, geometry, maxZoomLevel, attributes, query }) => `SELECT
36
+ ${clusterPoint} AS center,
37
+ ${geometry} as zoomGeom,
37
38
  1 AS size,
38
39
  0 AS clusterNo,
39
40
  ${maxZoomLevel + 1} AS expansionZoom${attributes}
40
41
  FROM ${table}
41
42
  WHERE
42
43
  ST_Intersects(TileBBox(${z}, ${x}, ${y}, 4326), ${geometry})
43
- ${query.length > 0 ? `AND ${query.join(" AND ")}` : ""}
44
- `;
45
- this.defaultGetTileQuery = ({ x, y, z, table, geometry, extent, bufferSize, attributes }) => `
46
- SELECT
47
- ST_AsMVTGeom(${geometry}, TileBBox(${z}, ${x}, ${y}, 4326), ${extent}, ${bufferSize}, false) AS geom,
44
+ ${query.length > 0 ? `AND ${query.join(" AND ")}` : ""}`;
45
+ };
46
+ this.getLevelClusterQuery = ({ parentTable, zoomLevel, radius, attributes, zoomToDistance, }) => {
47
+ return `SELECT
48
+ center,
49
+ zoomGeom,
50
+ expansionZoom,
51
+ clusterNo AS previousClusterNo,
52
+ size,
53
+ ST_ClusterDBSCAN(center, ${zoomToDistance(zoomLevel, radius)}, 1) over () as clusters${attributes}
54
+ FROM ${parentTable}`;
55
+ };
56
+ this.getLevelGroupQuery = ({ zoomLevel, attributes }) => {
57
+ return `SELECT
58
+ SUM(size) as size,
59
+ clusters AS clusterNo,
60
+ (
61
+ CASE COUNT(previousClusterNo)
62
+ WHEN 1 THEN FIRST(expansionZoom)
63
+ ELSE ${zoomLevel + 1} END
64
+ ) AS expansionZoom, ${attributes}
65
+ ST_Centroid(ST_Collect(center)) as center,
66
+ FIRST(zoomGeom) as zoomGeom
67
+ FROM clustered_${zoomLevel}
68
+ GROUP BY clusters`;
69
+ };
70
+ this.getTileQuery = ({ x, y, z, table, geometry, extent, bufferSize, attributes }) => {
71
+ return `SELECT
72
+ case size
73
+ WHEN 1 THEN
74
+ ST_AsMVTGeom(ST_Transform(zoomGeom, 3857), TileBBox(${z}, ${x}, ${y}, 3857), ${extent}, ${bufferSize}, false)
75
+ ELSE ST_AsMVTGeom(ST_Transform(${geometry}, 3857), TileBBox(${z}, ${x}, ${y}, 3857), ${extent}, ${bufferSize}, false)
76
+ end AS geom,
48
77
  jsonb_build_object(
49
78
  'count', size,
50
79
  'expansionZoom', expansionZoom${attributes}
51
80
  ) AS attributes
52
- FROM ${table}
53
- `;
81
+ FROM ${table}`;
82
+ };
54
83
  }
55
- getTile(table, geometry, x, y, z, zoomLevel, attributes, radius = 15) {
84
+ getTile(table, geometry, x, y, z, zoomLevel, attributes, radius = 15, clusterPoint) {
56
85
  return __awaiter(this, void 0, void 0, function* () {
57
86
  const defaultConfig = {
58
87
  sourceLayer: "points",
@@ -60,15 +89,13 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
60
89
  bufferSize: 256,
61
90
  debug: false,
62
91
  query: [],
63
- getBaseQuery: this.defaultGetBaseQuery,
64
- getTileQuery: this.defaultGetTileQuery,
92
+ getBaseQuery: this.getBaseQuery(clusterPoint !== null && clusterPoint !== void 0 ? clusterPoint : geometry),
93
+ getTileQuery: this.getTileQuery,
65
94
  };
66
95
  const query = (0, clusterbuster_1.createQueryForTile)(Object.assign(Object.assign({}, defaultConfig), { z,
67
96
  x,
68
- y, maxZoomLevel: zoomLevel, table,
69
- geometry,
70
- radius,
71
- attributes }));
97
+ y, maxZoomLevel: zoomLevel, table, geometry: geometry, radius,
98
+ attributes, getLevelClusterQuery: this.getLevelClusterQuery, getLevelGroupQuery: this.getLevelGroupQuery }));
72
99
  try {
73
100
  const result = yield this.connector.getConnection().query(query, {
74
101
  type: sequelize_1.QueryTypes.SELECT,
@@ -1 +1 @@
1
- {"version":3,"file":"MvtClusterService.js","sourceRoot":"","sources":["../../../src/output-gateway/services/MvtClusterService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAwE;AACxE,0DAAqH;AACrH,wEAAqE;AAErE,mEAAiE;AACjE,6EAAwE;AAIjE,IAAM,iBAAiB,+BAAvB,MAAM,iBAAiB;IAC1B,YACyC,SAAqC,EAChD,MAAuB;QADJ,cAAS,GAAT,SAAS,CAAoB;QACxC,WAAM,GAAN,MAAM,CAAS;QA8C7C,wBAAmB,GAAiB,CAAC,EACzC,CAAC,EACD,CAAC,EACD,CAAC,EACD,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,KAAK,GACS,EAAE,EAAE,CAAC;;YAEf,QAAQ;;;YAGR,YAAY,GAAG,CAAC,oBAAoB,UAAU;eAC3C,KAAK;;qCAEiB,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,QAAQ;cACxD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KAC7D,CAAC;QAEM,wBAAmB,GAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAc,EAAE,EAAE,CAAC;;yBAErG,QAAQ,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,MAAM,KAAK,UAAU;;;4CAGjD,UAAU;;eAEvC,KAAK;KACf,CAAC;IA1EC,CAAC;IAES,OAAO,CAChB,KAAa,EACb,QAAgB,EAChB,CAAS,EACT,CAAS,EACT,CAAS,EACT,SAAiB,EACjB,UAAoB,EACpB,MAAM,GAAG,EAAE;;YAEX,MAAM,aAAa,GAAG;gBAClB,WAAW,EAAE,QAAQ;gBACrB,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,IAAI,CAAC,mBAAmB;gBACtC,YAAY,EAAE,IAAI,CAAC,mBAAmB;aACzC,CAAC;YAEF,MAAM,KAAK,GAAG,IAAA,kCAAkB,kCACzB,aAAa,KAChB,CAAC;gBACD,CAAC;gBACD,CAAC,EACD,YAAY,EAAE,SAAS,EACvB,KAAK;gBACL,QAAQ;gBACR,MAAM;gBACN,UAAU,IACZ,CAAC;YAEH,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAAsB,KAAK,EAAE;oBAClF,IAAI,EAAE,sBAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;aACxB;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,6BAA6B,KAAK,EAAE,CAAC,CAAC;gBAC/D,MAAM,IAAI,6BAAY,CAAC,0BAA0B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACpF;QACL,CAAC;KAAA;CAgCJ,CAAA;4BA/EY,iBAAiB;IAD7B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAHpB,iBAAiB,CA+E7B"}
1
+ {"version":3,"file":"MvtClusterService.js","sourceRoot":"","sources":["../../../src/output-gateway/services/MvtClusterService.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ paths:
66
66
  required: true
67
67
  schema:
68
68
  type: string
69
- example: point
69
+ example: location
70
70
  - name: attributes
71
71
  in: query
72
72
  description: List of attribute columns to include in the tile features.
@@ -79,7 +79,7 @@ paths:
79
79
  - name: maxZoom
80
80
  in: query
81
81
  description: Maximum zoom level at which data from this table should be rendered.
82
- required: false
82
+ required: true
83
83
  schema:
84
84
  type: number
85
85
  example: 12
@@ -89,7 +89,15 @@ paths:
89
89
  required: false
90
90
  schema:
91
91
  type: number
92
+ default: 15
92
93
  example: 15
94
+ - name: clusterPoint
95
+ in: query
96
+ description: Name of the column that will be used for clustering, use only if it differs from geometry. (e.g. calculating clustering for polygons can take longer and result in bigger clusters.)
97
+ required: false
98
+ schema:
99
+ type: string
100
+ example: point
93
101
  responses:
94
102
  200:
95
103
  description: OK
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/mvt-maps",
3
- "version": "0.0.1-dev.1826529834",
3
+ "version": "0.0.1-dev.1848286726",
4
4
  "description": "Golemio MVT Maps Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",