@kadaster/ggc-models 0.0.7 → 1.0.0
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/README.md
CHANGED
|
@@ -3,31 +3,43 @@
|
|
|
3
3
|
De Generieke Geo Componenten (GGC) helpen softwareontwikkelaars om snel een kaartviewer te ontwikkelen.
|
|
4
4
|
|
|
5
5
|
Deze Angular front-end componenten kunnen in de eigen applicatie geïnstalleerd worden. Hiermee kan de kracht van OpenLayers kaartpresentatie snel en eenvoudig geïmplementeerd worden, gecombineerd met:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
|
|
7
|
+
- zoeken op de kaart
|
|
8
|
+
- legenda
|
|
9
|
+
- kaartweergave kiezen
|
|
10
|
+
- toolbar met tekenen, meten en bewerken op de kaart
|
|
10
11
|
|
|
11
12
|
Binnenkort komen ook extra componenten beschikbaar voor:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
|
|
14
|
+
- presenteren van object-informatie
|
|
15
|
+
- 3D kaartpresentatie (met Cesium)
|
|
16
|
+
- printen
|
|
17
|
+
- bestandsconversie
|
|
16
18
|
|
|
17
19
|
## Voordelen
|
|
18
20
|
|
|
19
21
|
De Generieke Geo Componenten bieden de volgende voordelen:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
|
|
23
|
+
- Responsive design voor mobiel, tablet en desktop
|
|
24
|
+
- Digitaal toegankelijk (WCAG 2.1 AA)
|
|
25
|
+
- Up-to-date met de nieuwste framework versies
|
|
26
|
+
- Eenvoudig te implementeren, te configureren en te stylen
|
|
27
|
+
- Makkelijk aan te passen
|
|
28
|
+
- Robuust, met hoge testdekking
|
|
29
|
+
- Lage onderhoudsinspanning
|
|
30
|
+
- Light-weight, door alleen componenten te laden die nodig zijn
|
|
28
31
|
|
|
29
32
|
De componenten kunnen afzonderlijk óf in samenwerking gebruikt worden. Hierdoor kun je zelf bepalen welke interactie wenselijk is in de applicatie.
|
|
30
33
|
|
|
34
|
+
## Lijst van componenten
|
|
35
|
+
|
|
36
|
+
- [@kadaster/ggc-dataset-tree](https://www.npmjs.com/package/@kadaster/ggc-dataset-tree)
|
|
37
|
+
- [@kadaster/ggc-legend](https://www.npmjs.com/package/@kadaster/ggc-legend)
|
|
38
|
+
- [@kadaster/ggc-map](https://www.npmjs.com/package/@kadaster/ggc-map)
|
|
39
|
+
- [@kadaster/ggc-models](https://www.npmjs.com/package/@kadaster/ggc-models)
|
|
40
|
+
- [@kadaster/ggc-search-location](https://www.npmjs.com/package/@kadaster/ggc-search-location)
|
|
41
|
+
- [@kadaster/ggc-toolbar](https://www.npmjs.com/package/@kadaster/ggc-toolbar)
|
|
42
|
+
|
|
31
43
|
## Licentie
|
|
32
44
|
|
|
33
45
|
Dit project is gratis en open-source software, gelicentieerd onder de [European Union Public License (EUPL) v1.2](LICENSE.md).
|
|
@@ -6,6 +6,13 @@ const DEFAULT_MAPINDEX = "_DEFAULT_";
|
|
|
6
6
|
* De default mapIndex die wordt gebruikt in 3D kaarten (Cesium)
|
|
7
7
|
*/
|
|
8
8
|
const DEFAULT_CESIUM_MAPINDEX = "_DEFAULT_CESIUM_";
|
|
9
|
+
/**
|
|
10
|
+
* Proj4-definitie voor het RD New
|
|
11
|
+
* coördinaten referentiesysteem (EPSG:28992).
|
|
12
|
+
*
|
|
13
|
+
* Wordt gebruikt voor projectie-registratie in OpenLayers.
|
|
14
|
+
*/
|
|
15
|
+
const defs = "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725 +units=m +no_defs";
|
|
9
16
|
|
|
10
17
|
var LayerChangedEventTrigger;
|
|
11
18
|
(function (LayerChangedEventTrigger) {
|
|
@@ -13,13 +20,6 @@ var LayerChangedEventTrigger;
|
|
|
13
20
|
LayerChangedEventTrigger["LAYER_REMOVED"] = "layerRemoved";
|
|
14
21
|
})(LayerChangedEventTrigger || (LayerChangedEventTrigger = {}));
|
|
15
22
|
|
|
16
|
-
// todo deze kan er volgensmij uit in de ggc-legend story (een vector style wordt een svg wat een url is)
|
|
17
|
-
class VectorTileStyle {
|
|
18
|
-
constructor(name, url) {
|
|
19
|
-
this.name = name;
|
|
20
|
-
this.url = url;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
23
|
/**
|
|
24
24
|
* Enum voor de triggers van een legend event.
|
|
25
25
|
* Added en removed worden getriggered bij het aan/uitzetten van een laag in bijvoorbeel de dataset-tree
|
|
@@ -73,6 +73,40 @@ var Webservice3DType;
|
|
|
73
73
|
Webservice3DType["TILES3D"] = "3Dtiles";
|
|
74
74
|
})(Webservice3DType || (Webservice3DType = {}));
|
|
75
75
|
|
|
76
|
+
class ObservableMapWrapper {
|
|
77
|
+
constructor(create) {
|
|
78
|
+
this.map = new Map();
|
|
79
|
+
this.create = create;
|
|
80
|
+
}
|
|
81
|
+
get size() {
|
|
82
|
+
return this.map.size;
|
|
83
|
+
}
|
|
84
|
+
getOrCreate(name) {
|
|
85
|
+
if (!this.map.has(name)) {
|
|
86
|
+
const subject = this.create();
|
|
87
|
+
this.map.set(name, { subject, observable: subject.asObservable() });
|
|
88
|
+
}
|
|
89
|
+
return this.map.get(name);
|
|
90
|
+
}
|
|
91
|
+
getOrCreateSubject(name) {
|
|
92
|
+
const map = this.getOrCreate(name);
|
|
93
|
+
return map.subject;
|
|
94
|
+
}
|
|
95
|
+
getOrCreateObservable(name) {
|
|
96
|
+
const map = this.getOrCreate(name);
|
|
97
|
+
return map.observable;
|
|
98
|
+
}
|
|
99
|
+
get(name) {
|
|
100
|
+
return this.map.get(name);
|
|
101
|
+
}
|
|
102
|
+
has(name) {
|
|
103
|
+
return this.map.has(name);
|
|
104
|
+
}
|
|
105
|
+
delete(name) {
|
|
106
|
+
return this.map.delete(name);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
76
110
|
/*
|
|
77
111
|
* Public API Surface of ggc-models
|
|
78
112
|
*/
|
|
@@ -81,5 +115,5 @@ var Webservice3DType;
|
|
|
81
115
|
* Generated bundle index. Do not edit.
|
|
82
116
|
*/
|
|
83
117
|
|
|
84
|
-
export { DEFAULT_CESIUM_MAPINDEX, DEFAULT_MAPINDEX, LayerChangedEventTrigger, LegendAddedEvent, LegendEventTrigger, LegendRemovedEvent,
|
|
118
|
+
export { DEFAULT_CESIUM_MAPINDEX, DEFAULT_MAPINDEX, LayerChangedEventTrigger, LegendAddedEvent, LegendEventTrigger, LegendRemovedEvent, ObservableMapWrapper, ViewerType, Webservice2DType, Webservice3DType, defs };
|
|
85
119
|
//# sourceMappingURL=kadaster-ggc-models.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kadaster-ggc-models.mjs","sources":["../../../projects/ggc-models/src/lib/constants.ts","../../../projects/ggc-models/src/lib/models/layer-changed-event.model.ts","../../../projects/ggc-models/src/lib/models/legend.model.ts","../../../projects/ggc-models/src/lib/models/viewer-type.model.ts","../../../projects/ggc-models/src/lib/models/webservice-type.model.ts","../../../projects/ggc-models/src/public-api.ts","../../../projects/ggc-models/src/kadaster-ggc-models.ts"],"sourcesContent":["/**\n * De default mapIndex die wordt gebruikt in 2D kaarten\n */\nexport const DEFAULT_MAPINDEX = \"_DEFAULT_\";\n\n/**\n * De default mapIndex die wordt gebruikt in 3D kaarten (Cesium)\n */\nexport const DEFAULT_CESIUM_MAPINDEX = \"_DEFAULT_CESIUM_\";\n","export enum LayerChangedEventTrigger {\n LAYER_ADDED = \"layerAdded\",\n LAYER_REMOVED = \"layerRemoved\"\n}\n\nexport interface CesiumLayerChangedEvent {\n layerId: string;\n eventTrigger: LayerChangedEventTrigger;\n}\n\nexport interface LayerChangedEvent extends CesiumLayerChangedEvent {\n mapIndex: string;\n}\n","/**\n * Mogelijke typen voor een legenda:\n * - Een lijst van iconen met tekst (`IconList[]`)\n * - Een URL naar een legenda-afbeelding (`LegendUrl`)\n * - Een mapbox vector tile stijl (`VectorTileStyle`)\n * - Of `undefined` als er geen legenda is.\n */\nexport type LegendType = IconList[] | LegendUrl |
|
|
1
|
+
{"version":3,"file":"kadaster-ggc-models.mjs","sources":["../../../projects/ggc-models/src/lib/constants.ts","../../../projects/ggc-models/src/lib/models/layer-changed-event.model.ts","../../../projects/ggc-models/src/lib/models/legend.model.ts","../../../projects/ggc-models/src/lib/models/viewer-type.model.ts","../../../projects/ggc-models/src/lib/models/webservice-type.model.ts","../../../projects/ggc-models/src/lib/utils/ObservableMapWrapper.ts","../../../projects/ggc-models/src/public-api.ts","../../../projects/ggc-models/src/kadaster-ggc-models.ts"],"sourcesContent":["/**\n * De default mapIndex die wordt gebruikt in 2D kaarten\n */\nexport const DEFAULT_MAPINDEX = \"_DEFAULT_\";\n\n/**\n * De default mapIndex die wordt gebruikt in 3D kaarten (Cesium)\n */\nexport const DEFAULT_CESIUM_MAPINDEX = \"_DEFAULT_CESIUM_\";\n\n/**\n * Proj4-definitie voor het RD New\n * coördinaten referentiesysteem (EPSG:28992).\n *\n * Wordt gebruikt voor projectie-registratie in OpenLayers.\n */\nexport const defs =\n \"+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725 +units=m +no_defs\";\n","export enum LayerChangedEventTrigger {\n LAYER_ADDED = \"layerAdded\",\n LAYER_REMOVED = \"layerRemoved\"\n}\n\nexport interface CesiumLayerChangedEvent {\n layerId: string;\n eventTrigger: LayerChangedEventTrigger;\n}\n\nexport interface LayerChangedEvent extends CesiumLayerChangedEvent {\n mapIndex: string;\n}\n","/**\n * Mogelijke typen voor een legenda:\n * - Een lijst van iconen met tekst (`IconList[]`)\n * - Een URL naar een legenda-afbeelding (`LegendUrl`)\n * - Een mapbox vector tile stijl (`VectorTileStyle`)\n * - Of `undefined` als er geen legenda is.\n */\nexport type LegendType = IconList[] | LegendUrl | undefined;\n\n/**\n * Legenda-informatie voor een specifieke laag.\n */\nexport type LayerLegend = {\n /** De layerId van deze legenda **/\n layerId: string;\n\n /** De legenda behorend bij deze laag. */\n legend: LegendType;\n\n /**\n * De naam van de service waar deze lagen in zitten, mocht er een serviceName aanwezig zijn.\n * Met deze naam wordt de legenda gegroepeerd en de serviceName staat dan boven de groepering\n * **/\n serviceTitle?: string;\n\n /** De titel van deze laag **/\n layerTitle?: string;\n\n /** True als de layer voor deze legenda is enabled. Als de layer is disabled, wordt de legenda ook niet getoond. **/\n layerEnabled?: boolean;\n\n /** nummer om de volgorde in de legenda te bepalen */\n legendIndex?: number;\n};\n\n/**\n * Een item in een iconenlijst voor de legenda.\n */\nexport type IconList = {\n /** URL naar het icoon-afbeelding. */\n imageUrl: string;\n\n /** Beschrijvende tekst bij het icoon. */\n text: string;\n};\n\n/**\n * Een URL naar een externe legenda-afbeelding.\n */\nexport type LegendUrl = {\n /** Volledige URL naar de legenda-afbeelding. */\n legendUrl: string;\n};\n\n/**\n * Enum voor de triggers van een legend event.\n * Added en removed worden getriggered bij het aan/uitzetten van een laag in bijvoorbeel de dataset-tree\n * Enabled en disabled worden getriggered als een kaartlaag wel of niet zichtbaar wordt bij het zoomen\n */\nexport enum LegendEventTrigger {\n ON_LAYER_ADDED = \"onLayerAdded\",\n ON_LAYER_REMOVED = \"onLayerRemoved\",\n ON_LAYER_ENABLED = \"onLayerEnabled\",\n ON_LAYER_DISABLED = \"onLayerDisabled\"\n}\n\n/**\n * Het event dat wordt ge-emit als een legenda moet worden toegevoegd\n */\nexport class LegendAddedEvent {\n /** De mapIndex waar de legenda moet worden toegevoegd **/\n mapIndex: string;\n /** De legenda die moet worden toegevoegd **/\n legend?: LayerLegend;\n}\n\n/**\n * Het event dat wordt ge-emit als een legenda moet worden weggehaald\n */\nexport class LegendRemovedEvent {\n /** De mapIndex waar de legenda moet worden verwijderd **/\n mapIndex: string;\n /** De layerId waar vand de legenda die moet worden verwijderd **/\n layerId: string;\n}\n","/**\n * De enum die het viewertype aangeeft TWEE_D (default = ol) of DRIE_D (cesium).\n */\nexport enum ViewerType {\n DRIE_D = \"3D\",\n TWEE_D = \"2D\"\n}\n","/**\n * De enum die de 2D webservices bevat.\n */\nexport enum Webservice2DType {\n WMS = \"wms\",\n WMTS = \"wmts\",\n GEOJSON = \"geojson\",\n VECTOR = \"vector\",\n IMAGE = \"image\"\n}\n\n/**\n * De enum die de 3D webservices bevat.\n */\nexport enum Webservice3DType {\n WMTS = \"wmts\",\n GEOJSON = \"geojson\",\n TILES3D = \"3Dtiles\"\n}\n","import { Observable } from \"rxjs\";\n\ninterface ObservableMap<O> {\n subject: SubjectLike<O>;\n observable: Observable<O>;\n}\n\ninterface SubjectLike<O> extends Observable<O> {\n asObservable(): Observable<O>;\n\n next(val: O): void;\n}\n\nexport class ObservableMapWrapper<K, O> {\n private readonly create: () => SubjectLike<O>;\n private readonly map: Map<K, ObservableMap<O>>;\n\n constructor(create: () => SubjectLike<O>) {\n this.map = new Map<K, ObservableMap<O>>();\n this.create = create;\n }\n\n get size(): number {\n return this.map.size;\n }\n\n getOrCreate(name: K): ObservableMap<O> {\n if (!this.map.has(name)) {\n const subject = this.create();\n this.map.set(name, { subject, observable: subject.asObservable() });\n }\n return this.map.get(name) as ObservableMap<O>;\n }\n\n getOrCreateSubject(name: K): SubjectLike<O> {\n const map = this.getOrCreate(name);\n return map.subject;\n }\n\n getOrCreateObservable(name: K): Observable<O> {\n const map = this.getOrCreate(name);\n return map.observable;\n }\n\n get(name: K): ObservableMap<O> | undefined {\n return this.map.get(name);\n }\n\n has(name: K): boolean {\n return this.map.has(name);\n }\n\n delete(name: K): boolean {\n return this.map.delete(name);\n }\n}\n","/*\n * Public API Surface of ggc-models\n */\n\nexport * from \"./lib/constants\";\nexport * from \"./lib/models/layer-changed-event.model\";\nexport * from \"./lib/models/legend.model\";\nexport * from \"./lib/models/viewer-type.model\";\nexport * from \"./lib/models/webservice-type.model\";\nexport * from \"./lib/utils/ObservableMapWrapper\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* De default mapIndex die wordt gebruikt in 2D kaarten
|
|
3
5
|
*/
|
|
@@ -6,6 +8,13 @@ declare const DEFAULT_MAPINDEX = "_DEFAULT_";
|
|
|
6
8
|
* De default mapIndex die wordt gebruikt in 3D kaarten (Cesium)
|
|
7
9
|
*/
|
|
8
10
|
declare const DEFAULT_CESIUM_MAPINDEX = "_DEFAULT_CESIUM_";
|
|
11
|
+
/**
|
|
12
|
+
* Proj4-definitie voor het RD New
|
|
13
|
+
* coördinaten referentiesysteem (EPSG:28992).
|
|
14
|
+
*
|
|
15
|
+
* Wordt gebruikt voor projectie-registratie in OpenLayers.
|
|
16
|
+
*/
|
|
17
|
+
declare const defs = "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725 +units=m +no_defs";
|
|
9
18
|
|
|
10
19
|
declare enum LayerChangedEventTrigger {
|
|
11
20
|
LAYER_ADDED = "layerAdded",
|
|
@@ -26,7 +35,7 @@ interface LayerChangedEvent extends CesiumLayerChangedEvent {
|
|
|
26
35
|
* - Een mapbox vector tile stijl (`VectorTileStyle`)
|
|
27
36
|
* - Of `undefined` als er geen legenda is.
|
|
28
37
|
*/
|
|
29
|
-
type LegendType = IconList[] | LegendUrl |
|
|
38
|
+
type LegendType = IconList[] | LegendUrl | undefined;
|
|
30
39
|
/**
|
|
31
40
|
* Legenda-informatie voor een specifieke laag.
|
|
32
41
|
*/
|
|
@@ -63,11 +72,6 @@ type LegendUrl = {
|
|
|
63
72
|
/** Volledige URL naar de legenda-afbeelding. */
|
|
64
73
|
legendUrl: string;
|
|
65
74
|
};
|
|
66
|
-
declare class VectorTileStyle {
|
|
67
|
-
name: string;
|
|
68
|
-
url: string;
|
|
69
|
-
constructor(name: string, url: string);
|
|
70
|
-
}
|
|
71
75
|
/**
|
|
72
76
|
* Enum voor de triggers van een legend event.
|
|
73
77
|
* Added en removed worden getriggered bij het aan/uitzetten van een laag in bijvoorbeel de dataset-tree
|
|
@@ -125,5 +129,26 @@ declare enum Webservice3DType {
|
|
|
125
129
|
TILES3D = "3Dtiles"
|
|
126
130
|
}
|
|
127
131
|
|
|
128
|
-
|
|
132
|
+
interface ObservableMap<O> {
|
|
133
|
+
subject: SubjectLike<O>;
|
|
134
|
+
observable: Observable<O>;
|
|
135
|
+
}
|
|
136
|
+
interface SubjectLike<O> extends Observable<O> {
|
|
137
|
+
asObservable(): Observable<O>;
|
|
138
|
+
next(val: O): void;
|
|
139
|
+
}
|
|
140
|
+
declare class ObservableMapWrapper<K, O> {
|
|
141
|
+
private readonly create;
|
|
142
|
+
private readonly map;
|
|
143
|
+
constructor(create: () => SubjectLike<O>);
|
|
144
|
+
get size(): number;
|
|
145
|
+
getOrCreate(name: K): ObservableMap<O>;
|
|
146
|
+
getOrCreateSubject(name: K): SubjectLike<O>;
|
|
147
|
+
getOrCreateObservable(name: K): Observable<O>;
|
|
148
|
+
get(name: K): ObservableMap<O> | undefined;
|
|
149
|
+
has(name: K): boolean;
|
|
150
|
+
delete(name: K): boolean;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export { DEFAULT_CESIUM_MAPINDEX, DEFAULT_MAPINDEX, LayerChangedEventTrigger, LegendAddedEvent, LegendEventTrigger, LegendRemovedEvent, ObservableMapWrapper, ViewerType, Webservice2DType, Webservice3DType, defs };
|
|
129
154
|
export type { CesiumLayerChangedEvent, IconList, LayerChangedEvent, LayerLegend, LegendType, LegendUrl };
|