@golemio/mvt-maps 0.0.2 → 0.0.3-dev.1884126079
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.
- package/db/example/sql_dump.sql +8 -8
- package/dist/output-gateway/controllers/V2MvtController.js +2 -1
- package/dist/output-gateway/controllers/V2MvtController.js.map +1 -1
- package/dist/output-gateway/ioc/Di.js +2 -2
- package/dist/output-gateway/ioc/Di.js.map +1 -1
- package/dist/output-gateway/routers/V2MvtRouter.js +1 -0
- package/dist/output-gateway/routers/V2MvtRouter.js.map +1 -1
- package/dist/output-gateway/routers/interfaces/IMvtParams.d.ts +1 -0
- package/dist/output-gateway/services/MvtClusterService.d.ts +1 -1
- package/dist/output-gateway/services/MvtClusterService.js +13 -12
- package/dist/output-gateway/services/MvtClusterService.js.map +1 -1
- package/docs/implementation_documentation.md +2 -0
- package/docs/openapi-output.yaml +7 -0
- package/package.json +2 -2
package/db/example/sql_dump.sql
CHANGED
|
@@ -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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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.clusterPoint, params.colorAttribute);
|
|
27
27
|
res.setHeader("Content-Type", "application/vnd.mapbox-vector-tile");
|
|
28
28
|
res.status(200).send(result);
|
|
29
29
|
}
|
|
@@ -46,6 +46,7 @@ let V2MvtController = exports.V2MvtController = class V2MvtController {
|
|
|
46
46
|
radius: req.query.radius ? parseInt(req.query.radius) : undefined,
|
|
47
47
|
maxZoom: parseInt(req.query.maxZoom),
|
|
48
48
|
clusterPoint: req.query.clusterPoint ? req.query.clusterPoint : undefined,
|
|
49
|
+
colorAttribute: req.query.colorAttribute ? req.query.colorAttribute : undefined,
|
|
49
50
|
};
|
|
50
51
|
}
|
|
51
52
|
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,
|
|
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,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;IAvB+F,CAAC;IAyB1F,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;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;0BA9CY,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAA;qCAAkB,qCAAiB;GADrF,eAAe,CA8C3B"}
|
|
@@ -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,
|
|
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,7 @@ 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(),
|
|
30
31
|
], Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(5 * 60, 60), this.controller.getAll);
|
|
31
32
|
}
|
|
32
33
|
}
|
|
@@ -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;
|
|
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;SAChE,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"}
|
|
@@ -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, clusterPoint?: string, colorAttribute?: string): Promise<Uint8Array>;
|
|
8
8
|
private getBaseQuery;
|
|
9
9
|
private getLevelClusterQuery;
|
|
10
10
|
private getLevelGroupQuery;
|
|
@@ -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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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, 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 = [...attributes, ...(colorAttribute ? [colorAttribute] : []), ...(geometry ? [geometry] : [])];
|
|
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":";;;;;;;;;;;;;;;AAAA,0DASgC;AAGhC,wEAAqE;AACrE,6EAAwE;AACxE,mEAAiE;AACjE,iEAAwE;AAGjE,IAAM,iBAAiB,+BAAvB,MAAM,iBAAiB;IAC1B,YACyC,SAAqC,EAChD,MAAuB;QADJ,cAAS,GAAT,SAAS,CAAoB;QACxC,WAAM,GAAN,MAAM,CAAS;
|
|
1
|
+
{"version":3,"file":"MvtClusterService.js","sourceRoot":"","sources":["../../../src/output-gateway/services/MvtClusterService.ts"],"names":[],"mappings":"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"}
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -98,6 +98,13 @@ paths:
|
|
|
98
98
|
schema:
|
|
99
99
|
type: string
|
|
100
100
|
example: point
|
|
101
|
+
- name: colorAttribute
|
|
102
|
+
in: query
|
|
103
|
+
description: Name of the column to use for coloring features
|
|
104
|
+
required: false
|
|
105
|
+
schema:
|
|
106
|
+
type: string
|
|
107
|
+
example: color
|
|
101
108
|
responses:
|
|
102
109
|
200:
|
|
103
110
|
description: OK
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/mvt-maps",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3-dev.1884126079",
|
|
4
4
|
"description": "Golemio MVT Maps Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"typescript-transform-paths": "^3.4.6"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@golemio/clusterbuster": "2.9.1-diversion.1"
|
|
72
|
+
"@golemio/clusterbuster": "2.9.1-diversion.1-dev.1844572513"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
75
|
"@golemio/core": ">=1.20.5"
|