geonetwork-ui 2.10.0-dev.89f026e83 → 2.10.0-dev.8afb6cd00
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/fesm2022/geonetwork-ui.mjs +319 -242
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +51 -11
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +0 -5
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/fields.config.ts +60 -47
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +33 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +9 -1
- package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts +4 -54
- package/src/libs/ui/map/src/lib/map-utils.ts +48 -0
- package/src/libs/util/shared/src/lib/utils/geojson.ts +58 -1
- package/translations/de.json +19 -19
- package/translations/en.json +19 -19
- package/translations/es.json +19 -19
- package/translations/fr.json +19 -19
- package/translations/it.json +19 -19
- package/translations/nl.json +19 -19
- package/translations/pt.json +19 -19
- package/translations/sk.json +19 -19
|
@@ -2,6 +2,23 @@ import { Injectable } from '@angular/core'
|
|
|
2
2
|
import { extend } from 'ol/extent.js'
|
|
3
3
|
import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
4
4
|
import { BoundingBox, getGeometryBoundingBox } from '../../../../../../libs/util/shared/src'
|
|
5
|
+
import { MapContextLayer } from '@geospatial-sdk/core'
|
|
6
|
+
import {
|
|
7
|
+
createSpatialExtentLayer,
|
|
8
|
+
SpatialExtentLayerStyle,
|
|
9
|
+
} from '../../../../../../libs/ui/map/src'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Style of the extent overlay drawn on top of the previewed data: a dashed
|
|
13
|
+
* black outline over a very light fill, so the extent stays readable without
|
|
14
|
+
* hiding the data underneath.
|
|
15
|
+
*/
|
|
16
|
+
const RECORD_EXTENT_OVERLAY_STYLE: SpatialExtentLayerStyle = {
|
|
17
|
+
'stroke-color': 'rgba(0, 0, 0, 0.6)',
|
|
18
|
+
'stroke-width': 2,
|
|
19
|
+
'stroke-line-dash': [8, 6],
|
|
20
|
+
'fill-color': 'rgba(0, 0, 0, 0.03)',
|
|
21
|
+
}
|
|
5
22
|
|
|
6
23
|
@Injectable({
|
|
7
24
|
providedIn: 'root',
|
|
@@ -26,4 +43,20 @@ export class MapUtilsService {
|
|
|
26
43
|
[Infinity, Infinity, -Infinity, -Infinity]
|
|
27
44
|
)
|
|
28
45
|
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Builds a non-interactive overlay layer drawing the spatial extent(s)
|
|
49
|
+
* declared in the record's metadata (bounding boxes and/or geometries).
|
|
50
|
+
* Returns null when the record has no usable spatial extent.
|
|
51
|
+
*
|
|
52
|
+
* This is purely for display and is independent from the map's initial view,
|
|
53
|
+
* which is derived separately (see {@link getRecordExtent}).
|
|
54
|
+
*/
|
|
55
|
+
getRecordExtentLayer(record: Partial<CatalogRecord>): MapContextLayer | null {
|
|
56
|
+
return createSpatialExtentLayer(record.spatialExtents ?? [], {
|
|
57
|
+
label: 'Spatial extent',
|
|
58
|
+
clickable: false,
|
|
59
|
+
style: RECORD_EXTENT_OVERLAY_STYLE,
|
|
60
|
+
})
|
|
61
|
+
}
|
|
29
62
|
}
|
|
@@ -431,11 +431,19 @@ export class MapViewComponent implements AfterViewInit {
|
|
|
431
431
|
}),
|
|
432
432
|
withLatestFrom(this.mdViewFacade.metadata$),
|
|
433
433
|
map(([context, metadata]) => {
|
|
434
|
-
|
|
434
|
+
// overlay the record's declared spatial extent on top of the data layers
|
|
435
|
+
const extentLayer = this.mapUtils.getRecordExtentLayer(metadata)
|
|
436
|
+
const layers = extentLayer
|
|
437
|
+
? [...context.layers, extentLayer]
|
|
438
|
+
: context.layers
|
|
439
|
+
// the view (initial zoom) is derived from the data layer or, as a
|
|
440
|
+
// fallback, from the record extent — independently from the overlay above
|
|
441
|
+
if (context.view) return { ...context, layers }
|
|
435
442
|
const extent = this.mapUtils.getRecordExtent(metadata)
|
|
436
443
|
const view = extent ? { extent } : null
|
|
437
444
|
return {
|
|
438
445
|
...context,
|
|
446
|
+
layers,
|
|
439
447
|
view,
|
|
440
448
|
}
|
|
441
449
|
}),
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Component, inject, Input } from '@angular/core'
|
|
2
2
|
import { CommonModule } from '@angular/common'
|
|
3
|
-
import {
|
|
4
|
-
import { GeoJSONFeatureCollection } from 'ol/format/GeoJSON.js'
|
|
5
|
-
import GeoJSON from 'ol/format/GeoJSON.js'
|
|
6
|
-
import { Polygon } from 'ol/geom.js'
|
|
7
|
-
import {
|
|
8
|
-
createViewFromLayer,
|
|
9
|
-
MapContext,
|
|
10
|
-
MapContextLayer,
|
|
11
|
-
} from '@geospatial-sdk/core'
|
|
3
|
+
import { createViewFromLayer, MapContext } from '@geospatial-sdk/core'
|
|
12
4
|
import { MapContainerComponent } from '../map-container/map-container.component'
|
|
13
5
|
import { BehaviorSubject, from, Observable, of } from 'rxjs'
|
|
14
6
|
import { map, switchMap, tap } from 'rxjs/operators'
|
|
15
7
|
import { DatasetSpatialExtent } from '../../../../../../../libs/common/domain/src/lib/model/record'
|
|
8
|
+
import { createSpatialExtentLayer } from '../../map-utils'
|
|
16
9
|
|
|
17
10
|
@Component({
|
|
18
11
|
selector: 'gn-ui-spatial-extent',
|
|
@@ -30,39 +23,10 @@ export class SpatialExtentComponent {
|
|
|
30
23
|
spatialExtents$ = new BehaviorSubject<DatasetSpatialExtent[]>([])
|
|
31
24
|
mapContext$: Observable<MapContext> = this.spatialExtents$.pipe(
|
|
32
25
|
switchMap((extents) => {
|
|
33
|
-
|
|
26
|
+
const layer = createSpatialExtentLayer(extents)
|
|
27
|
+
if (!layer) {
|
|
34
28
|
return of(null)
|
|
35
29
|
}
|
|
36
|
-
const featureCollection: GeoJSONFeatureCollection = {
|
|
37
|
-
type: 'FeatureCollection',
|
|
38
|
-
features: [],
|
|
39
|
-
}
|
|
40
|
-
extents.forEach((extent) => {
|
|
41
|
-
if (extent.geometry) {
|
|
42
|
-
featureCollection.features.push({
|
|
43
|
-
type: 'Feature',
|
|
44
|
-
properties: {},
|
|
45
|
-
geometry: extent.geometry,
|
|
46
|
-
})
|
|
47
|
-
} else if (extent.bbox?.length >= 0) {
|
|
48
|
-
featureCollection.features.push({
|
|
49
|
-
type: 'Feature',
|
|
50
|
-
properties: {},
|
|
51
|
-
geometry: this.bboxCoordsToGeometry(extent.bbox),
|
|
52
|
-
})
|
|
53
|
-
}
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
const layer: MapContextLayer = {
|
|
57
|
-
type: 'geojson',
|
|
58
|
-
data: featureCollection,
|
|
59
|
-
label: 'Spatial extents',
|
|
60
|
-
style: {
|
|
61
|
-
'stroke-color': 'black',
|
|
62
|
-
'stroke-width': 2,
|
|
63
|
-
'fill-color': 'rgba(153, 153, 153, 0.3)',
|
|
64
|
-
},
|
|
65
|
-
}
|
|
66
30
|
return from(createViewFromLayer(layer)).pipe(
|
|
67
31
|
map((view) => ({ view, layers: [layer] }) as MapContext),
|
|
68
32
|
tap(() => this._cdr.markForCheck())
|
|
@@ -71,18 +35,4 @@ export class SpatialExtentComponent {
|
|
|
71
35
|
)
|
|
72
36
|
|
|
73
37
|
error = ''
|
|
74
|
-
|
|
75
|
-
bboxCoordsToGeometry(bbox: [number, number, number, number]): Geometry {
|
|
76
|
-
const geometry = new Polygon([
|
|
77
|
-
[
|
|
78
|
-
[bbox[0], bbox[1]],
|
|
79
|
-
[bbox[0], bbox[3]],
|
|
80
|
-
[bbox[2], bbox[3]],
|
|
81
|
-
[bbox[2], bbox[1]],
|
|
82
|
-
[bbox[0], bbox[1]],
|
|
83
|
-
],
|
|
84
|
-
])
|
|
85
|
-
|
|
86
|
-
return new GeoJSON().writeGeometryObject(geometry)
|
|
87
|
-
}
|
|
88
38
|
}
|
|
@@ -12,6 +12,54 @@ import {
|
|
|
12
12
|
MouseWheelZoom,
|
|
13
13
|
} from 'ol/interaction.js'
|
|
14
14
|
import MapBrowserEvent from 'ol/MapBrowserEvent.js'
|
|
15
|
+
import type { DatasetSpatialExtent } from '../../../../../libs/common/domain/src/lib/model/record'
|
|
16
|
+
import type {
|
|
17
|
+
MapContextLayer,
|
|
18
|
+
MapContextLayerGeojson,
|
|
19
|
+
} from '@geospatial-sdk/core'
|
|
20
|
+
import { spatialExtentsToFeatureCollection } from '../../../../../libs/util/shared/src'
|
|
21
|
+
|
|
22
|
+
export type SpatialExtentLayerStyle = NonNullable<
|
|
23
|
+
MapContextLayerGeojson['style']
|
|
24
|
+
>
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Default style for a spatial-extent layer: a solid black outline over a
|
|
28
|
+
* translucent grey fill.
|
|
29
|
+
*/
|
|
30
|
+
export const DEFAULT_SPATIAL_EXTENT_STYLE: SpatialExtentLayerStyle = {
|
|
31
|
+
'stroke-color': 'black',
|
|
32
|
+
'stroke-width': 2,
|
|
33
|
+
'fill-color': 'rgba(153, 153, 153, 0.3)',
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Builds a GeoJSON map layer drawing the given spatial extents: each extent is
|
|
38
|
+
* rendered from its own geometry or, when only a bounding box is available,
|
|
39
|
+
* from a polygon derived from that box.
|
|
40
|
+
*
|
|
41
|
+
* @returns the layer, or `null` when none of the extents can be represented.
|
|
42
|
+
*/
|
|
43
|
+
export function createSpatialExtentLayer(
|
|
44
|
+
extents: DatasetSpatialExtent[],
|
|
45
|
+
overrides?: {
|
|
46
|
+
label?: string
|
|
47
|
+
clickable?: boolean
|
|
48
|
+
style?: SpatialExtentLayerStyle
|
|
49
|
+
}
|
|
50
|
+
): MapContextLayer | null {
|
|
51
|
+
const data = spatialExtentsToFeatureCollection(extents)
|
|
52
|
+
if (data.features.length === 0) {
|
|
53
|
+
return null
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
type: 'geojson',
|
|
57
|
+
data,
|
|
58
|
+
label: 'Spatial extents',
|
|
59
|
+
style: DEFAULT_SPATIAL_EXTENT_STYLE,
|
|
60
|
+
...overrides,
|
|
61
|
+
}
|
|
62
|
+
}
|
|
15
63
|
|
|
16
64
|
export function prioritizePageScroll(interactions: Collection<Interaction>) {
|
|
17
65
|
interactions.clear()
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
Feature,
|
|
3
|
+
FeatureCollection,
|
|
4
|
+
Geometry,
|
|
5
|
+
Polygon,
|
|
6
|
+
Position,
|
|
7
|
+
} from 'geojson'
|
|
8
|
+
import type { DatasetSpatialExtent } from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
2
9
|
|
|
3
10
|
/**
|
|
4
11
|
* @returns The geometry if available, otherwise null.
|
|
@@ -94,3 +101,53 @@ export function getGeometryBoundingBox(geometry: Geometry): BoundingBox {
|
|
|
94
101
|
return coordinatesReducer(emptyExtent, geometry.coordinates)
|
|
95
102
|
}
|
|
96
103
|
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Builds the closed GeoJSON Polygon matching the given bounding box.
|
|
107
|
+
*/
|
|
108
|
+
export function bboxToPolygon(bbox: BoundingBox): Polygon {
|
|
109
|
+
const [minX, minY, maxX, maxY] = bbox
|
|
110
|
+
return {
|
|
111
|
+
type: 'Polygon',
|
|
112
|
+
coordinates: [
|
|
113
|
+
[
|
|
114
|
+
[minX, minY],
|
|
115
|
+
[minX, maxY],
|
|
116
|
+
[maxX, maxY],
|
|
117
|
+
[maxX, minY],
|
|
118
|
+
[minX, minY],
|
|
119
|
+
],
|
|
120
|
+
],
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Returns the geometry carried by a spatial extent, falling back to the polygon
|
|
126
|
+
* derived from its bounding box. Returns null when the extent has neither.
|
|
127
|
+
*/
|
|
128
|
+
export function spatialExtentToGeometry(
|
|
129
|
+
extent: DatasetSpatialExtent
|
|
130
|
+
): Geometry | null {
|
|
131
|
+
if (extent.geometry) return extent.geometry
|
|
132
|
+
if (extent.bbox) return bboxToPolygon(extent.bbox)
|
|
133
|
+
return null
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Converts a list of dataset spatial extents into a GeoJSON FeatureCollection,
|
|
138
|
+
* e.g. to be used as the data source of a map layer.
|
|
139
|
+
*/
|
|
140
|
+
export function spatialExtentsToFeatureCollection(
|
|
141
|
+
extents: DatasetSpatialExtent[]
|
|
142
|
+
): FeatureCollection {
|
|
143
|
+
return {
|
|
144
|
+
type: 'FeatureCollection',
|
|
145
|
+
features: extents.reduce<Feature[]>((features, extent) => {
|
|
146
|
+
const geometry = spatialExtentToGeometry(extent)
|
|
147
|
+
if (geometry) {
|
|
148
|
+
features.push({ type: 'Feature', properties: {}, geometry })
|
|
149
|
+
}
|
|
150
|
+
return features
|
|
151
|
+
}, []),
|
|
152
|
+
}
|
|
153
|
+
}
|
package/translations/de.json
CHANGED
|
@@ -243,25 +243,25 @@
|
|
|
243
243
|
"editor.record.form.temporalExtents.addRange": "Zeitraum",
|
|
244
244
|
"editor.record.form.temporalExtents.date": "Datum",
|
|
245
245
|
"editor.record.form.temporalExtents.range": "Datumsbereich",
|
|
246
|
-
"editor.record.form.topics.
|
|
247
|
-
"editor.record.form.topics.
|
|
248
|
-
"editor.record.form.topics.
|
|
249
|
-
"editor.record.form.topics.
|
|
250
|
-
"editor.record.form.topics.
|
|
251
|
-
"editor.record.form.topics.
|
|
252
|
-
"editor.record.form.topics.
|
|
253
|
-
"editor.record.form.topics.
|
|
254
|
-
"editor.record.form.topics.
|
|
255
|
-
"editor.record.form.topics.
|
|
256
|
-
"editor.record.form.topics.
|
|
257
|
-
"editor.record.form.topics.
|
|
258
|
-
"editor.record.form.topics.
|
|
259
|
-
"editor.record.form.topics.
|
|
260
|
-
"editor.record.form.topics.
|
|
261
|
-
"editor.record.form.topics.
|
|
262
|
-
"editor.record.form.topics.
|
|
263
|
-
"editor.record.form.topics.
|
|
264
|
-
"editor.record.form.topics.
|
|
246
|
+
"editor.record.form.topics.iso.biota": "Biologie",
|
|
247
|
+
"editor.record.form.topics.iso.boundaries": "Grenzen",
|
|
248
|
+
"editor.record.form.topics.iso.climatologyMeteorologyAtmosphere": "Klimatologie/Meteorologie/Atmosphäre",
|
|
249
|
+
"editor.record.form.topics.iso.economy": "Wirtschaft",
|
|
250
|
+
"editor.record.form.topics.iso.elevation": "Höhenangaben",
|
|
251
|
+
"editor.record.form.topics.iso.environment": "Umwelt",
|
|
252
|
+
"editor.record.form.topics.iso.farming": "Landwirtschaft",
|
|
253
|
+
"editor.record.form.topics.iso.geoscientificInformation": "Geowissenschaften",
|
|
254
|
+
"editor.record.form.topics.iso.health": "Gesundheitswesen",
|
|
255
|
+
"editor.record.form.topics.iso.imageryBaseMapsEarthCover": "Bilddaten/Basiskarten/Landbedeckung",
|
|
256
|
+
"editor.record.form.topics.iso.intelligenceMilitary": "Aufklärung/Militär",
|
|
257
|
+
"editor.record.form.topics.iso.location": "Ortsangaben",
|
|
258
|
+
"editor.record.form.topics.iso.oceans": "Meere",
|
|
259
|
+
"editor.record.form.topics.iso.planningCadastre": "Planungsunterlagen/Kataster",
|
|
260
|
+
"editor.record.form.topics.iso.society": "Gesellschaft",
|
|
261
|
+
"editor.record.form.topics.iso.structure": "Bauwerke",
|
|
262
|
+
"editor.record.form.topics.iso.transportation": "Verkehrswesen",
|
|
263
|
+
"editor.record.form.topics.iso.utilitiesCommunication": "Ver- und Entsorgung/Nachrichtenwesen",
|
|
264
|
+
"editor.record.form.topics.iso.inlandWaters": "Binnengewässer",
|
|
265
265
|
"editor.record.form.topics.placeholder": "Ein oder mehrere Themen auswählen",
|
|
266
266
|
"editor.record.form.updateFrequency.planned": "Dieses Dataset wird regelmäßig aktualisiert.",
|
|
267
267
|
"editor.record.importFromExternalFile.failure.body": "Beim Importieren des Datensatzes ist ein Fehler aufgetreten:",
|
package/translations/en.json
CHANGED
|
@@ -243,25 +243,25 @@
|
|
|
243
243
|
"editor.record.form.temporalExtents.addRange": "Time period",
|
|
244
244
|
"editor.record.form.temporalExtents.date": "Date",
|
|
245
245
|
"editor.record.form.temporalExtents.range": "Date range",
|
|
246
|
-
"editor.record.form.topics.
|
|
247
|
-
"editor.record.form.topics.
|
|
248
|
-
"editor.record.form.topics.
|
|
249
|
-
"editor.record.form.topics.
|
|
250
|
-
"editor.record.form.topics.
|
|
251
|
-
"editor.record.form.topics.
|
|
252
|
-
"editor.record.form.topics.
|
|
253
|
-
"editor.record.form.topics.
|
|
254
|
-
"editor.record.form.topics.
|
|
255
|
-
"editor.record.form.topics.
|
|
256
|
-
"editor.record.form.topics.
|
|
257
|
-
"editor.record.form.topics.
|
|
258
|
-
"editor.record.form.topics.
|
|
259
|
-
"editor.record.form.topics.
|
|
260
|
-
"editor.record.form.topics.
|
|
261
|
-
"editor.record.form.topics.
|
|
262
|
-
"editor.record.form.topics.
|
|
263
|
-
"editor.record.form.topics.
|
|
264
|
-
"editor.record.form.topics.
|
|
246
|
+
"editor.record.form.topics.iso.biota": "Biota",
|
|
247
|
+
"editor.record.form.topics.iso.boundaries": "Boundaries",
|
|
248
|
+
"editor.record.form.topics.iso.climatologyMeteorologyAtmosphere": "Climatology / Meteorology / Atmosphere",
|
|
249
|
+
"editor.record.form.topics.iso.economy": "Economy",
|
|
250
|
+
"editor.record.form.topics.iso.elevation": "Elevation",
|
|
251
|
+
"editor.record.form.topics.iso.environment": "Environnement",
|
|
252
|
+
"editor.record.form.topics.iso.farming": "Farming",
|
|
253
|
+
"editor.record.form.topics.iso.geoscientificInformation": "Geoscientific Information",
|
|
254
|
+
"editor.record.form.topics.iso.health": "Health",
|
|
255
|
+
"editor.record.form.topics.iso.imageryBaseMapsEarthCover": "Imagery / Base Maps / Earth Cover",
|
|
256
|
+
"editor.record.form.topics.iso.intelligenceMilitary": "Intelligence / Military",
|
|
257
|
+
"editor.record.form.topics.iso.location": "Location",
|
|
258
|
+
"editor.record.form.topics.iso.oceans": "Oceans",
|
|
259
|
+
"editor.record.form.topics.iso.planningCadastre": "Planning / Cadastre",
|
|
260
|
+
"editor.record.form.topics.iso.society": "Society",
|
|
261
|
+
"editor.record.form.topics.iso.structure": "Structure",
|
|
262
|
+
"editor.record.form.topics.iso.transportation": "Transportation",
|
|
263
|
+
"editor.record.form.topics.iso.utilitiesCommunication": "Utilities / Communication",
|
|
264
|
+
"editor.record.form.topics.iso.inlandWaters": "Inland Waters",
|
|
265
265
|
"editor.record.form.topics.placeholder": "Select one or several topics",
|
|
266
266
|
"editor.record.form.updateFrequency.planned": "This dataset is updated regularly",
|
|
267
267
|
"editor.record.importFromExternalFile.failure.body": "Failure",
|
package/translations/es.json
CHANGED
|
@@ -243,25 +243,25 @@
|
|
|
243
243
|
"editor.record.form.temporalExtents.addRange": "",
|
|
244
244
|
"editor.record.form.temporalExtents.date": "",
|
|
245
245
|
"editor.record.form.temporalExtents.range": "",
|
|
246
|
-
"editor.record.form.topics.
|
|
247
|
-
"editor.record.form.topics.
|
|
248
|
-
"editor.record.form.topics.
|
|
249
|
-
"editor.record.form.topics.
|
|
250
|
-
"editor.record.form.topics.
|
|
251
|
-
"editor.record.form.topics.
|
|
252
|
-
"editor.record.form.topics.
|
|
253
|
-
"editor.record.form.topics.
|
|
254
|
-
"editor.record.form.topics.
|
|
255
|
-
"editor.record.form.topics.
|
|
256
|
-
"editor.record.form.topics.
|
|
257
|
-
"editor.record.form.topics.
|
|
258
|
-
"editor.record.form.topics.
|
|
259
|
-
"editor.record.form.topics.
|
|
260
|
-
"editor.record.form.topics.
|
|
261
|
-
"editor.record.form.topics.
|
|
262
|
-
"editor.record.form.topics.
|
|
263
|
-
"editor.record.form.topics.
|
|
264
|
-
"editor.record.form.topics.
|
|
246
|
+
"editor.record.form.topics.iso.biota": "",
|
|
247
|
+
"editor.record.form.topics.iso.boundaries": "",
|
|
248
|
+
"editor.record.form.topics.iso.climatologyMeteorologyAtmosphere": "",
|
|
249
|
+
"editor.record.form.topics.iso.economy": "",
|
|
250
|
+
"editor.record.form.topics.iso.elevation": "",
|
|
251
|
+
"editor.record.form.topics.iso.environment": "",
|
|
252
|
+
"editor.record.form.topics.iso.farming": "",
|
|
253
|
+
"editor.record.form.topics.iso.geoscientificInformation": "",
|
|
254
|
+
"editor.record.form.topics.iso.health": "",
|
|
255
|
+
"editor.record.form.topics.iso.imageryBaseMapsEarthCover": "",
|
|
256
|
+
"editor.record.form.topics.iso.intelligenceMilitary": "",
|
|
257
|
+
"editor.record.form.topics.iso.location": "",
|
|
258
|
+
"editor.record.form.topics.iso.oceans": "",
|
|
259
|
+
"editor.record.form.topics.iso.planningCadastre": "",
|
|
260
|
+
"editor.record.form.topics.iso.society": "",
|
|
261
|
+
"editor.record.form.topics.iso.structure": "",
|
|
262
|
+
"editor.record.form.topics.iso.transportation": "",
|
|
263
|
+
"editor.record.form.topics.iso.utilitiesCommunication": "",
|
|
264
|
+
"editor.record.form.topics.iso.inlandWaters": "",
|
|
265
265
|
"editor.record.form.topics.placeholder": "",
|
|
266
266
|
"editor.record.form.updateFrequency.planned": "Este conjunto de datos se actualiza regularmente.",
|
|
267
267
|
"editor.record.importFromExternalFile.failure.body": "",
|
package/translations/fr.json
CHANGED
|
@@ -243,25 +243,25 @@
|
|
|
243
243
|
"editor.record.form.temporalExtents.addRange": "Période de temps",
|
|
244
244
|
"editor.record.form.temporalExtents.date": "Date concernée",
|
|
245
245
|
"editor.record.form.temporalExtents.range": "Période concernée",
|
|
246
|
-
"editor.record.form.topics.
|
|
247
|
-
"editor.record.form.topics.
|
|
248
|
-
"editor.record.form.topics.
|
|
249
|
-
"editor.record.form.topics.
|
|
250
|
-
"editor.record.form.topics.
|
|
251
|
-
"editor.record.form.topics.
|
|
252
|
-
"editor.record.form.topics.
|
|
253
|
-
"editor.record.form.topics.
|
|
254
|
-
"editor.record.form.topics.
|
|
255
|
-
"editor.record.form.topics.
|
|
256
|
-
"editor.record.form.topics.
|
|
257
|
-
"editor.record.form.topics.
|
|
258
|
-
"editor.record.form.topics.
|
|
259
|
-
"editor.record.form.topics.
|
|
260
|
-
"editor.record.form.topics.
|
|
261
|
-
"editor.record.form.topics.
|
|
262
|
-
"editor.record.form.topics.
|
|
263
|
-
"editor.record.form.topics.
|
|
264
|
-
"editor.record.form.topics.
|
|
246
|
+
"editor.record.form.topics.iso.biota": "Biote",
|
|
247
|
+
"editor.record.form.topics.iso.boundaries": "Limites",
|
|
248
|
+
"editor.record.form.topics.iso.climatologyMeteorologyAtmosphere": "Climatologie/Météorologie/Atmosphère",
|
|
249
|
+
"editor.record.form.topics.iso.economy": "Économie",
|
|
250
|
+
"editor.record.form.topics.iso.elevation": "Altitude",
|
|
251
|
+
"editor.record.form.topics.iso.environment": "Environnement",
|
|
252
|
+
"editor.record.form.topics.iso.farming": "Agriculture",
|
|
253
|
+
"editor.record.form.topics.iso.geoscientificInformation": "Informations géoscientifiques",
|
|
254
|
+
"editor.record.form.topics.iso.health": "Santé",
|
|
255
|
+
"editor.record.form.topics.iso.imageryBaseMapsEarthCover": "Imagerie/Cartes de base/Occupation des terres",
|
|
256
|
+
"editor.record.form.topics.iso.intelligenceMilitary": "Renseignement/Secteur militaire",
|
|
257
|
+
"editor.record.form.topics.iso.location": "Localisation",
|
|
258
|
+
"editor.record.form.topics.iso.oceans": "Océans",
|
|
259
|
+
"editor.record.form.topics.iso.planningCadastre": "Planification/Cadastre",
|
|
260
|
+
"editor.record.form.topics.iso.society": "Société",
|
|
261
|
+
"editor.record.form.topics.iso.structure": "Structure",
|
|
262
|
+
"editor.record.form.topics.iso.transportation": "Transport",
|
|
263
|
+
"editor.record.form.topics.iso.utilitiesCommunication": "Services d’utilité publique/Communication",
|
|
264
|
+
"editor.record.form.topics.iso.inlandWaters": "Eaux intérieures",
|
|
265
265
|
"editor.record.form.topics.placeholder": "Sélectionnez un ou plusieurs thèmes",
|
|
266
266
|
"editor.record.form.updateFrequency.planned": "Ce jeu de données est mis à jour régulièrement",
|
|
267
267
|
"editor.record.importFromExternalFile.failure.body": "Une erreur est survenue pendant l'import du jeu de données : ",
|
package/translations/it.json
CHANGED
|
@@ -243,25 +243,25 @@
|
|
|
243
243
|
"editor.record.form.temporalExtents.addRange": "Periodo di tempo",
|
|
244
244
|
"editor.record.form.temporalExtents.date": "Data rilevante",
|
|
245
245
|
"editor.record.form.temporalExtents.range": "Periodo interessato",
|
|
246
|
-
"editor.record.form.topics.
|
|
247
|
-
"editor.record.form.topics.
|
|
248
|
-
"editor.record.form.topics.
|
|
249
|
-
"editor.record.form.topics.
|
|
250
|
-
"editor.record.form.topics.
|
|
251
|
-
"editor.record.form.topics.
|
|
252
|
-
"editor.record.form.topics.
|
|
253
|
-
"editor.record.form.topics.
|
|
254
|
-
"editor.record.form.topics.
|
|
255
|
-
"editor.record.form.topics.
|
|
256
|
-
"editor.record.form.topics.
|
|
257
|
-
"editor.record.form.topics.
|
|
258
|
-
"editor.record.form.topics.
|
|
259
|
-
"editor.record.form.topics.
|
|
260
|
-
"editor.record.form.topics.
|
|
261
|
-
"editor.record.form.topics.
|
|
262
|
-
"editor.record.form.topics.
|
|
263
|
-
"editor.record.form.topics.
|
|
264
|
-
"editor.record.form.topics.
|
|
246
|
+
"editor.record.form.topics.iso.biota": "",
|
|
247
|
+
"editor.record.form.topics.iso.boundaries": "",
|
|
248
|
+
"editor.record.form.topics.iso.climatologyMeteorologyAtmosphere": "",
|
|
249
|
+
"editor.record.form.topics.iso.economy": "",
|
|
250
|
+
"editor.record.form.topics.iso.elevation": "",
|
|
251
|
+
"editor.record.form.topics.iso.environment": "",
|
|
252
|
+
"editor.record.form.topics.iso.farming": "",
|
|
253
|
+
"editor.record.form.topics.iso.geoscientificInformation": "",
|
|
254
|
+
"editor.record.form.topics.iso.health": "",
|
|
255
|
+
"editor.record.form.topics.iso.imageryBaseMapsEarthCover": "",
|
|
256
|
+
"editor.record.form.topics.iso.intelligenceMilitary": "",
|
|
257
|
+
"editor.record.form.topics.iso.location": "",
|
|
258
|
+
"editor.record.form.topics.iso.oceans": "",
|
|
259
|
+
"editor.record.form.topics.iso.planningCadastre": "",
|
|
260
|
+
"editor.record.form.topics.iso.society": "",
|
|
261
|
+
"editor.record.form.topics.iso.structure": "",
|
|
262
|
+
"editor.record.form.topics.iso.transportation": "",
|
|
263
|
+
"editor.record.form.topics.iso.utilitiesCommunication": "",
|
|
264
|
+
"editor.record.form.topics.iso.inlandWaters": "",
|
|
265
265
|
"editor.record.form.topics.placeholder": "",
|
|
266
266
|
"editor.record.form.updateFrequency.planned": "Questi dati dovrebbero essere aggiornati regolarmente",
|
|
267
267
|
"editor.record.importFromExternalFile.failure.body": "Ha successo un'errore durante l'importazione del dataset: ",
|
package/translations/nl.json
CHANGED
|
@@ -243,25 +243,25 @@
|
|
|
243
243
|
"editor.record.form.temporalExtents.addRange": "",
|
|
244
244
|
"editor.record.form.temporalExtents.date": "",
|
|
245
245
|
"editor.record.form.temporalExtents.range": "",
|
|
246
|
-
"editor.record.form.topics.
|
|
247
|
-
"editor.record.form.topics.
|
|
248
|
-
"editor.record.form.topics.
|
|
249
|
-
"editor.record.form.topics.
|
|
250
|
-
"editor.record.form.topics.
|
|
251
|
-
"editor.record.form.topics.
|
|
252
|
-
"editor.record.form.topics.
|
|
253
|
-
"editor.record.form.topics.
|
|
254
|
-
"editor.record.form.topics.
|
|
255
|
-
"editor.record.form.topics.
|
|
256
|
-
"editor.record.form.topics.
|
|
257
|
-
"editor.record.form.topics.
|
|
258
|
-
"editor.record.form.topics.
|
|
259
|
-
"editor.record.form.topics.
|
|
260
|
-
"editor.record.form.topics.
|
|
261
|
-
"editor.record.form.topics.
|
|
262
|
-
"editor.record.form.topics.
|
|
263
|
-
"editor.record.form.topics.
|
|
264
|
-
"editor.record.form.topics.
|
|
246
|
+
"editor.record.form.topics.iso.biota": "",
|
|
247
|
+
"editor.record.form.topics.iso.boundaries": "",
|
|
248
|
+
"editor.record.form.topics.iso.climatologyMeteorologyAtmosphere": "",
|
|
249
|
+
"editor.record.form.topics.iso.economy": "",
|
|
250
|
+
"editor.record.form.topics.iso.elevation": "",
|
|
251
|
+
"editor.record.form.topics.iso.environment": "",
|
|
252
|
+
"editor.record.form.topics.iso.farming": "",
|
|
253
|
+
"editor.record.form.topics.iso.geoscientificInformation": "",
|
|
254
|
+
"editor.record.form.topics.iso.health": "",
|
|
255
|
+
"editor.record.form.topics.iso.imageryBaseMapsEarthCover": "",
|
|
256
|
+
"editor.record.form.topics.iso.intelligenceMilitary": "",
|
|
257
|
+
"editor.record.form.topics.iso.location": "",
|
|
258
|
+
"editor.record.form.topics.iso.oceans": "",
|
|
259
|
+
"editor.record.form.topics.iso.planningCadastre": "",
|
|
260
|
+
"editor.record.form.topics.iso.society": "",
|
|
261
|
+
"editor.record.form.topics.iso.structure": "",
|
|
262
|
+
"editor.record.form.topics.iso.transportation": "",
|
|
263
|
+
"editor.record.form.topics.iso.utilitiesCommunication": "",
|
|
264
|
+
"editor.record.form.topics.iso.inlandWaters": "",
|
|
265
265
|
"editor.record.form.topics.placeholder": "",
|
|
266
266
|
"editor.record.form.updateFrequency.planned": "Deze dataset wordt regelmatig bijgewerkt.",
|
|
267
267
|
"editor.record.importFromExternalFile.failure.body": "",
|
package/translations/pt.json
CHANGED
|
@@ -243,25 +243,25 @@
|
|
|
243
243
|
"editor.record.form.temporalExtents.addRange": "",
|
|
244
244
|
"editor.record.form.temporalExtents.date": "",
|
|
245
245
|
"editor.record.form.temporalExtents.range": "",
|
|
246
|
-
"editor.record.form.topics.
|
|
247
|
-
"editor.record.form.topics.
|
|
248
|
-
"editor.record.form.topics.
|
|
249
|
-
"editor.record.form.topics.
|
|
250
|
-
"editor.record.form.topics.
|
|
251
|
-
"editor.record.form.topics.
|
|
252
|
-
"editor.record.form.topics.
|
|
253
|
-
"editor.record.form.topics.
|
|
254
|
-
"editor.record.form.topics.
|
|
255
|
-
"editor.record.form.topics.
|
|
256
|
-
"editor.record.form.topics.
|
|
257
|
-
"editor.record.form.topics.
|
|
258
|
-
"editor.record.form.topics.
|
|
259
|
-
"editor.record.form.topics.
|
|
260
|
-
"editor.record.form.topics.
|
|
261
|
-
"editor.record.form.topics.
|
|
262
|
-
"editor.record.form.topics.
|
|
263
|
-
"editor.record.form.topics.
|
|
264
|
-
"editor.record.form.topics.
|
|
246
|
+
"editor.record.form.topics.iso.biota": "",
|
|
247
|
+
"editor.record.form.topics.iso.boundaries": "",
|
|
248
|
+
"editor.record.form.topics.iso.climatologyMeteorologyAtmosphere": "",
|
|
249
|
+
"editor.record.form.topics.iso.economy": "",
|
|
250
|
+
"editor.record.form.topics.iso.elevation": "",
|
|
251
|
+
"editor.record.form.topics.iso.environment": "",
|
|
252
|
+
"editor.record.form.topics.iso.farming": "",
|
|
253
|
+
"editor.record.form.topics.iso.geoscientificInformation": "",
|
|
254
|
+
"editor.record.form.topics.iso.health": "",
|
|
255
|
+
"editor.record.form.topics.iso.imageryBaseMapsEarthCover": "",
|
|
256
|
+
"editor.record.form.topics.iso.intelligenceMilitary": "",
|
|
257
|
+
"editor.record.form.topics.iso.location": "",
|
|
258
|
+
"editor.record.form.topics.iso.oceans": "",
|
|
259
|
+
"editor.record.form.topics.iso.planningCadastre": "",
|
|
260
|
+
"editor.record.form.topics.iso.society": "",
|
|
261
|
+
"editor.record.form.topics.iso.structure": "",
|
|
262
|
+
"editor.record.form.topics.iso.transportation": "",
|
|
263
|
+
"editor.record.form.topics.iso.utilitiesCommunication": "",
|
|
264
|
+
"editor.record.form.topics.iso.inlandWaters": "",
|
|
265
265
|
"editor.record.form.topics.placeholder": "",
|
|
266
266
|
"editor.record.form.updateFrequency.planned": "Este conjunto de dados é atualizado regularmente.",
|
|
267
267
|
"editor.record.importFromExternalFile.failure.body": "",
|