@golemio/mvt-maps 0.0.3-dev.1856557762 → 0.0.3-dev.1886653500

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  CREATE SCHEMA IF NOT EXISTS test;
4
4
 
5
- CREATE TABLE test.vehicle_status (
5
+ CREATE TABLE IF NOT EXISTS test.vehicle_status (
6
6
  id text NOT NULL,
7
7
  system_id varchar(50) NOT NULL,
8
8
  point public.geometry NULL,
@@ -37,11 +37,11 @@ WITH init_values AS (
37
37
  )
38
38
  INSERT INTO test.vehicle_status (id,system_id,point,helmets,passengers,damage_description,description,vehicle_registration,is_reserved,is_disabled,vehicle_type_id,last_reported,current_range_meters,charge_percent,rental_app_id,station_id,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,pricing_plan_id,make,model,color,processed_at)
39
39
  VALUES
40
- ('hoppygo-13910','ef63ac2e-4c71-4c28-a496-f0dc010d630b','SRID=4326;POINT (14.423982 50.074558)',NULL,NULL,NULL,'Peugeot 207',NULL,false,false,'hoppygo_car_combustion',(SELECT start_datetime FROM init_values),NULL,NULL,'hoppygo_rental_apps',NULL,NULL,'2023-03-07 13:24:15.923',NULL,NULL,'2023-03-21 10:52:13.997',NULL,'hoppygo_individual_rides_13910','Peugeot','207',NULL,NOW()),
41
- ('hoppygo-9943','ef63ac2e-4c71-4c28-a496-f0dc010d630b','SRID=4326;POINT (18.29234 49.839294)',NULL,NULL,NULL,'Ostatní Other',NULL,false,false,'hoppygo_car_electric',(SELECT start_datetime FROM init_values),NULL,NULL,'hoppygo_rental_apps',NULL,NULL,'2022-08-25 10:22:10.339',NULL,NULL,'2023-03-21 10:52:13.997',NULL,'hoppygo_individual_rides_9943','Ostatní','Other',NULL,NOW()),
42
- ('cesky-carsharing-1BF8202','ajo','SRID=4326;POINT (14.4099 50.0731)',NULL,NULL,NULL,'Fabia III kombi ','1BF8202',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'ajo_rental_apps',NULL,NULL,'2022-11-08 15:00:20.813',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi',NULL,NOW()),
43
- ('cesky-carsharing-1BF8203','ajo','SRID=4326;POINT (14.4423 50.0906)',NULL,NULL,NULL,'Fabia III kombi ','1BF8203',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'ajo_rental_apps',NULL,NULL,'2022-11-08 15:00:20.813',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi',NULL,NOW()),
44
- ('cesky-carsharing-1BF8207','ajo','SRID=4326;POINT (14.4711 50.1324)',NULL,NULL,NULL,'Fabia III kombi ','1BF8207',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'ajo_rental_apps',NULL,NULL,'2022-11-08 15:00:20.813',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi',NULL,NOW()),
45
- ('cesky-carsharing-1BF8210','ajo','SRID=4326;POINT (14.4579 50.0793)',NULL,NULL,NULL,'Fabia III kombi ','1BF8210',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'ajo_rental_apps',NULL,NULL,'2022-11-08 15:00:20.862',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi',NULL,NOW()),
46
- ('cesky-carsharing-1BF8211','ajo','SRID=4326;POINT (14.4579 50.0793)',NULL,NULL,NULL,'Fabia III kombi ','1BF8211',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'mobility-operator-app-hoppygo',NULL,NULL,'2022-11-08 15:00:20.862',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi',NULL,NOW())
40
+ ('hoppygo-13910','ef63ac2e-4c71-4c28-a496-f0dc010d630b','SRID=4326;POINT (14.423982 50.074558)',NULL,NULL,NULL,'Peugeot 207',NULL,false,false,'hoppygo_car_combustion',(SELECT start_datetime FROM init_values),NULL,NULL,'hoppygo_rental_apps',NULL,NULL,'2023-03-07 13:24:15.923',NULL,NULL,'2023-03-21 10:52:13.997',NULL,'hoppygo_individual_rides_13910','Peugeot','207','#FF0001',NOW()),
41
+ ('hoppygo-9943','ef63ac2e-4c71-4c28-a496-f0dc010d630b','SRID=4326;POINT (18.29234 49.839294)',NULL,NULL,NULL,'Ostatní Other',NULL,false,false,'hoppygo_car_electric',(SELECT start_datetime FROM init_values),NULL,NULL,'hoppygo_rental_apps',NULL,NULL,'2022-08-25 10:22:10.339',NULL,NULL,'2023-03-21 10:52:13.997',NULL,'hoppygo_individual_rides_9943','Ostatní','Other', '#FF0002',NOW()),
42
+ ('cesky-carsharing-1BF8202','ajo','SRID=4326;POINT (14.4099 50.0731)',NULL,NULL,NULL,'Fabia III kombi ','1BF8202',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'ajo_rental_apps',NULL,NULL,'2022-11-08 15:00:20.813',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi','#FF0020',NOW()),
43
+ ('cesky-carsharing-1BF8203','ajo','SRID=4326;POINT (14.4423 50.0906)',NULL,NULL,NULL,'Fabia III kombi ','1BF8203',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'ajo_rental_apps',NULL,NULL,'2022-11-08 15:00:20.813',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi','#FF0003',NOW()),
44
+ ('cesky-carsharing-1BF8207','ajo','SRID=4326;POINT (14.4711 50.1324)',NULL,NULL,NULL,'Fabia III kombi ','1BF8207',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'ajo_rental_apps',NULL,NULL,'2022-11-08 15:00:20.813',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi','#FF0004',NOW()),
45
+ ('cesky-carsharing-1BF8210','ajo','SRID=4326;POINT (14.4579 50.0793)',NULL,NULL,NULL,'Fabia III kombi ','1BF8210',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'ajo_rental_apps',NULL,NULL,'2022-11-08 15:00:20.862',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi','#FF0000',NOW()),
46
+ ('cesky-carsharing-1BF8211','ajo','SRID=4326;POINT (14.4579 50.0793)',NULL,NULL,NULL,'Fabia III kombi ','1BF8211',false,false,'carsharing_benzin_LPG',(SELECT start_datetime FROM init_values),NULL,NULL,'mobility-operator-app-hoppygo',NULL,NULL,'2022-11-08 15:00:20.862',NULL,NULL,'2023-03-21 10:54:04.878',NULL,'ajo_tarif_top','Škoda','Fabia III kombi','#FF0800',NOW())
47
47
  ON CONFLICT DO NOTHING;
@@ -23,7 +23,7 @@ let V2MvtController = exports.V2MvtController = class V2MvtController {
23
23
  this.getAll = async (req, res, next) => {
24
24
  try {
25
25
  const params = this.parseParams(req);
26
- const result = await this.service.getTile(params.table, params.geometry, params.x, params.y, params.z, params.maxZoom, params.attributes, params.radius, params.clusterPoint);
26
+ const result = await this.service.getTile(params.table, params.geometry, params.x, params.y, params.z, params.maxZoom, params.attributes, params.radius, params.title, params.clusterPoint, params.colorAttribute);
27
27
  res.setHeader("Content-Type", "application/vnd.mapbox-vector-tile");
28
28
  res.status(200).send(result);
29
29
  }
@@ -40,12 +40,14 @@ let V2MvtController = exports.V2MvtController = class V2MvtController {
40
40
  z: parseInt(req.params.z),
41
41
  table: req.query.table,
42
42
  geometry: req.query.geometry,
43
+ title: req.query.title,
43
44
  attributes: Array.isArray(req.query.attributes)
44
45
  ? req.query.attributes
45
46
  : [req.query.attributes],
46
47
  radius: req.query.radius ? parseInt(req.query.radius) : undefined,
47
48
  maxZoom: parseInt(req.query.maxZoom),
48
49
  clusterPoint: req.query.clusterPoint ? req.query.clusterPoint : undefined,
50
+ colorAttribute: req.query.colorAttribute ? req.query.colorAttribute : undefined,
49
51
  };
50
52
  }
51
53
  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,KAAK,EAAE,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,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"}
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,KAAK,EAAE,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,KAAK,EACZ,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,cAAc,CACxB,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,CAAC;IAxB+F,CAAC;IA0B1F,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,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAe;gBAChC,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;gBACrF,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAC,cAAyB,CAAC,CAAC,CAAC,SAAS;aAC9F,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;0BAhDY,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAA;qCAAkB,qCAAiB;GADrF,eAAe,CAgD3B"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MvtContainer = void 0;
4
- const Di_1 = require("@golemio/core/dist/output-gateway/ioc/Di");
5
- const ModuleContainerToken_1 = require("./ModuleContainerToken");
6
4
  const V2MvtController_1 = require("../controllers/V2MvtController");
7
5
  const MvtClusterService_1 = require("../services/MvtClusterService");
6
+ const Di_1 = require("@golemio/core/dist/output-gateway/ioc/Di");
7
+ const ModuleContainerToken_1 = require("./ModuleContainerToken");
8
8
  //#region Initialization
9
9
  const mvtContainer = Di_1.OutputGatewayContainer.createChildContainer();
10
10
  exports.MvtContainer = mvtContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,iEAAkF;AAElF,iEAA8D;AAC9D,oEAAkE;AAClE,qEAAmE;AAEnE,wBAAwB;AACxB,MAAM,YAAY,GAAwB,2BAAsB,CAAC,oBAAoB,EAAE,CAAC;AAW/D,oCAAY;AAVrC,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,eAAe,EAAE,iCAAe,CAAC,CAAC;AACtF,YAAY;AAEZ,kBAAkB;AAClB,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/output-gateway/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,oEAAkE;AAClE,qEAAmE;AACnE,iEAAkF;AAElF,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,YAAY,GAAwB,2BAAsB,CAAC,oBAAoB,EAAE,CAAC;AAW/D,oCAAY;AAVrC,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,eAAe,EAAE,iCAAe,CAAC,CAAC;AACtF,YAAY;AAEZ,kBAAkB;AAClB,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,CAAC"}
@@ -27,6 +27,8 @@ class V2MvtRouter extends AbstractRouter_1.AbstractRouter {
27
27
  (0, express_validator_1.query)("maxZoom").exists().isInt(),
28
28
  (0, express_validator_1.query)("radius").optional().isInt(),
29
29
  (0, express_validator_1.query)("clusterPoint").optional().isString().not().isArray(),
30
+ (0, express_validator_1.query)("colorAttribute").optional().isString().not().isArray(),
31
+ (0, express_validator_1.query)("title").optional().isString().not().isArray(),
30
32
  ], Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(5 * 60, 60), this.controller.getAll);
31
33
  }
32
34
  }
@@ -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;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"}
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;YAC3D,IAAA,yBAAK,EAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAC7D,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;SACvD,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"}
@@ -5,7 +5,9 @@ export interface IMvtParams {
5
5
  table: string;
6
6
  geometry: string;
7
7
  attributes: string[];
8
- radius?: number;
9
8
  maxZoom: number;
9
+ title?: string;
10
+ radius?: number;
10
11
  clusterPoint?: string;
12
+ colorAttribute?: string;
11
13
  }
@@ -4,7 +4,7 @@ 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, clusterPoint?: string): Promise<Uint8Array>;
7
+ getTile(table: string, geometry: string, x: number, y: number, z: number, zoomLevel: number, attributes: string[], radius?: number, title?: string, clusterPoint?: string, colorAttribute?: string): Promise<Uint8Array>;
8
8
  private getBaseQuery;
9
9
  private getLevelClusterQuery;
10
10
  private getLevelGroupQuery;
@@ -49,8 +49,8 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
49
49
  SUM(size) as size,
50
50
  clusters AS clusterNo,
51
51
  (
52
- CASE COUNT(previousClusterNo)
53
- WHEN 1 THEN FIRST(expansionZoom)
52
+ CASE COUNT(previousClusterNo)
53
+ WHEN 1 THEN FIRST(expansionZoom)
54
54
  ELSE ${zoomLevel + 1} END
55
55
  ) AS expansionZoom, ${attributes}
56
56
  ST_Centroid(ST_Collect(center)) as center,
@@ -60,19 +60,19 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
60
60
  };
61
61
  this.getTileQuery = ({ x, y, z, table, geometry, extent, bufferSize, attributes }) => {
62
62
  return `SELECT
63
- case size
64
- WHEN 1 THEN
65
- ST_AsMVTGeom(ST_Transform(zoomGeom, 3857), TileBBox(${z}, ${x}, ${y}, 3857), ${extent}, ${bufferSize}, false)
66
- ELSE ST_AsMVTGeom(ST_Transform(${geometry}, 3857), TileBBox(${z}, ${x}, ${y}, 3857), ${extent}, ${bufferSize}, false)
67
- end AS geom,
68
- jsonb_build_object(
69
- 'count', size,
70
- 'expansionZoom', expansionZoom${attributes}
71
- ) AS attributes
72
- FROM ${table}`;
63
+ case size
64
+ WHEN 1 THEN
65
+ ST_AsMVTGeom(ST_Transform(zoomGeom, 3857), TileBBox(${z}, ${x}, ${y}, 3857), ${extent}, ${bufferSize}, false)
66
+ ELSE ST_AsMVTGeom(ST_Transform(${geometry}, 3857), TileBBox(${z}, ${x}, ${y}, 3857), ${extent}, ${bufferSize}, false)
67
+ end AS geom,
68
+ jsonb_build_object(
69
+ 'count', size,
70
+ 'expansionZoom', expansionZoom${attributes}
71
+ ) AS attributes
72
+ FROM ${table}`;
73
73
  };
74
74
  }
75
- async getTile(table, geometry, x, y, z, zoomLevel, attributes, radius = 15, clusterPoint) {
75
+ async getTile(table, geometry, x, y, z, zoomLevel, attributes, radius = 15, title, clusterPoint, colorAttribute) {
76
76
  const defaultConfig = {
77
77
  sourceLayer: "points",
78
78
  extent: 4096,
@@ -82,6 +82,7 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
82
82
  getBaseQuery: this.getBaseQuery(clusterPoint ?? geometry),
83
83
  getTileQuery: this.getTileQuery,
84
84
  };
85
+ const allAttributes = Array.from(new Set([...(title ? [title] : []), ...(colorAttribute ? [colorAttribute] : []), geometry, ...attributes]));
85
86
  const query = (0, clusterbuster_1.createQueryForTile)({
86
87
  ...defaultConfig,
87
88
  z,
@@ -91,7 +92,7 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
91
92
  table,
92
93
  geometry: geometry,
93
94
  radius,
94
- attributes,
95
+ attributes: allAttributes,
95
96
  getLevelClusterQuery: this.getLevelClusterQuery,
96
97
  getLevelGroupQuery: this.getLevelGroupQuery,
97
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MvtClusterService.js","sourceRoot":"","sources":["../../../src/output-gateway/services/MvtClusterService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MvtClusterService.js","sourceRoot":"","sources":["../../../src/output-gateway/services/MvtClusterService.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ Hlavní funkcionality:
18
18
 
19
19
  ### Obecné
20
20
 
21
+ - je potřeba vytvořit v db custom funkce pocházející z knihovny clusterbuster, které jsou v modulu db-common
22
+
21
23
  ### Obecné
22
24
 
23
25
  - OpenAPI v3 dokumentace
@@ -67,6 +67,13 @@ paths:
67
67
  schema:
68
68
  type: string
69
69
  example: location
70
+ - name: title
71
+ in: query
72
+ description: Name of the column to use for tooltip title
73
+ required: true
74
+ schema:
75
+ type: string
76
+ example: id
70
77
  - name: attributes
71
78
  in: query
72
79
  description: List of attribute columns to include in the tile features.
@@ -98,6 +105,13 @@ paths:
98
105
  schema:
99
106
  type: string
100
107
  example: point
108
+ - name: colorAttribute
109
+ in: query
110
+ description: Name of the column to use for coloring features
111
+ required: false
112
+ schema:
113
+ type: string
114
+ example: color
101
115
  responses:
102
116
  200:
103
117
  description: OK
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/mvt-maps",
3
- "version": "0.0.3-dev.1856557762",
3
+ "version": "0.0.3-dev.1886653500",
4
4
  "description": "Golemio MVT Maps Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",