- Update angular from
^17.3.11
to^18.2.7
- Refactor all libraries and apps to angular standalone API.
- Refactor all libraries and apps to angular Control Flow syntax.
-
@dlr-eoc/core-ui:
- Update styles for
@clr 17
- Schematics add path in tsconfig no baseUrl
- Replace not found import
IconShapeTuple
from@cds/core
- Schematics transpile after build because custom buiulder was removed in v14.0.0.
- Update styles for
-
@dlr-eoc/layer-control:
- Fix direction of
@cds
icon
- Fix direction of
- Update
TUTORIALS.md
- Minor changes in some libraries's
README.md
14.0.0 (2024-08-05) (map-cesium, angular update, @clr and @cds update)
- Update angular from
^16.2.3
to^17.3.11
Issue #232 - Upadte @clr/angular from
^15.12.0
to^17.2.1
Issue #232 - Upadte @clr/ui from
^15.12.0
to^17.2.1
Issue #232 Clients now have to set the clarity theme as described in their documentation (Step 3: Set the Theme) - Remove
@clr/icons
and replace it with the icons from@cds/core
. Now each icon that is used must be imported into the component where it is in the template. See clarity documentation icons. Useimport '@cds/core/icon/register.js';
in a main file of the application so that it is used only once. - Set node and npm compatibility for angular 17 (node: 20.15.1 and npm: 10.7.0)
- @dlr-eoc/map-cesium:
- Added popup interface as an alternative to the infoBox. (In the long run the popup will replace the infoBox)
- Adjustments for 3D scene lighting and support for imageBasedLighting luminanceAtZenith.
- Added control option for the default globe color.
- Added support for icon markers for point geojson features.
13.0.0 (2024-07-08) (services-map-state, map-ol, map-cesium and map-maplibre)
- Update ol from
^7.3.0
to^v9.2.4
Issue #225@dlr-eoc/map-ol
,@dlr-eoc/map-tools
,@dlr-eoc/services-ogc
,@dlr-eoc/utils-maps
,@dlr-eoc/utils-ogc
anddemo-maps
- @dlr-eoc/map-maplibre:
- Move functions
addUkisLayerMetadata
andgetUkisLayerMetadata
from maplibre-layers.helpers to maplibre.helpers and removehasUkisLayerMetadata
. - Update
maplibre-gl
fromv^3.3.0
tov^4.1.3
see maplibre-gl Breaking Changes.
- @dlr-eoc/map-ol:
- Move type
IPopupEvent
to@dlr-eoc/services-layers
- @dlr-eoc/map-cesium:
- Update
cesium/engine
fromv^6.1.0
tov^10.0.0
andcesium/widgets
fromv^4.3.0
tov^7.0.0
see cesiumJS Breaking Changes. - Removed some external dependencies for cesium, as they are no longer required.
-
@dlr-eoc/services-map-state:
- Added viewAngle and rotation to mapState Issue #216.
- Added optional
notifier
tosetTime
like in the setterssetExtent
,setViewAngle
orsetRotation
. - Test for incorrect values in setters
-
@dlr-eoc/map-ol:
- Adding support for mapState rotation #216
-
@dlr-eoc/map-cesium:
- Adding support for mapState viewAngle and rotation
- Added flyTo options for
setViewAngle
andsetRotation
- Added flyTo options for
setNadirViewAngle
- This can be useful if you switch the map to a 2D view and want to reset theViewAngle
before.
-
@dlr-eoc/map-maplibre:
- Update "maplibre-gl-js" from
4.1.3
to4.5.0
also see maplibre-gl. - Adding support for mapState viewAngle and rotation
- Added new
UKIS_METADATA.ignoreOpacity
andUKIS_METADATA.ignoreVisibility
which can be used inCustomLayer
to prevent changing the opacity or visibility for some layers. - Added new function
updateStyleLayerProperties(map: glMap, mllayer: TypedStyleLayer, layer: ukisLayer)
to updatepaint
,layout
,maxzoom
,minzoom
,filter
,source
andsource-layer
from ukisLayers. - Added new function
setUkisLayerMetadata(ml: TypedStyleLayer, meta: Partial<IukisMetadata>)
and interfaceIukisMetadata
.
- shared-assets:
- Add tilejson for open-map-style
- @dlr-eoc/map-maplibre:
- Fix wrong coordinate order from
getExtent
#216 - Rename
set/getBearing
toset/getRotation
because we want to have the same behavior as in openlayers andset/getBearing
is expected differently in maplibre. - Fix create
StyleLayer
id increateCustomLayer
andcreateStackedLayer
. - Fix create default
StyleLayers
forGeoJson
Data (test forMultiPolygon
andMultiLineString
). - Do not modify referenced objects when creating
StyleLayers
fromCustomLayer
orVectorLayer.options.style
see also (cddf2fc6a83444851914ed6619bc8d5ada8ce485) - Fix add layer with the correct beforeId on update
PaintProperty
workaround for maplibre issue 3001. - Fix workaround that tried to get beforeId after layer was removed. Now use workaround only if
map.getTerrain()
is not not null. - Fix set
layout.visibility
in style ofVectorLayer
based onVectorLayer.visible
. - Fix set
VectorLayer.attribution
fromVectorLayer.options.style
for TMS. - Fix set subdomains from
VectorLayer
inVectorLayer.options.style
for TMS. - Fix return type of
getUkisLayerMetadata
.
- @dlr-eoc/map-cesium:
- Fix get entity.name for infoBox in none GeoJson layers
- Get camera view and set
Mapstate
before destroy to preserve the last state for switching maps.
12.0.0 (2023-12-12) (map-ol, map-cesium and map-maplibre)
- Update angular from
^14.2.11
to^16.2.1
automatic migrations are made by ng update. See update angular from 14.0-15.0 and 14.0-15.0. - Update @clr/angular and @clr/ui from
^13.17.0
to^15.12.0
. See releases Breaking Changes. Fixes in styles have been made so update the styles folder fromprojects/core-ui/schematics/ng-add/files/src/styles
and also addclass="content-area map-view"
for content areas that include a map. - Update rxjs from
^6.6.7
to~7.8.0
. Fixes of deprecationsforkJoin(obs,obs)
toforkJoin([obs,obs])
andretryWhen()
toretry({count: number deley: ()=> })
andcombineLatest()
tocombineLatestWith()
andof<T>()
toof()
.
-
@dlr-eoc/map-cesium:
- Remove exported type
Tgroupfiltertype
. UseTgroupfiltertype = TFiltertypesUncap | TFiltertypes
and import them from@dlr-eoc/services-layers
.
- Remove exported type
-
@dlr-eoc/map-ol:
- Remove exported type
Tgroupfiltertype
. UseTgroupfiltertype = TFiltertypesUncap | TFiltertypes
and import them from@dlr-eoc/services-layers
. - Remove color and event from properties passed to raster layer popup. Now
IPopupParams
is passed so you can useIPopupParams.color
andIPopupParams.mapEvent
. For the remaining properties, useIPopupParams.properties
, which contains feature properties and async data. - The parameters of the
MapOlService.addPopup
function are changed as followsaddPopup(popupParams: IPopupParams, popupObj?: popup, html?: string, event?: 'click' | 'move', removePopups?: boolean)
. - The interfaces
IPopupArgs
andIDynamicPopupArgs
have been removed. UseIPopupParams
now - The dynamic popup now gets
IPopupParams
instead ofIDynamicPopupArgs
-popup.dynamicPopup.getAttributes(params:IPopupParams)
- Not used
notifier
is removed fromMapOlService.setZoom(zoom: number)
- Remove exported type
-
@dlr-eoc/map-tools:
- Input 'mapSvc' of ProjectionSwitchComponent become mandatory and not optional
- Additional mandatory input in ProjectionSwitchComponent "mapStateSvc" and optional "fitViewToNewExtent"
-
@dlr-eoc/utilities:
- New UKIS library export utilities for other libraries.
-
@dlr-eoc/map-maplibre:
- A example has been added to the demo-maps to show how to work with the new maplibre library.
- New UKIS library for working with maplibre was added.
-
@dlr-eoc/map-cesium:
- New UKIS library for working with CesiumJS was added.
- A new example has been added to the demo-maps to show how to work with the new cesium library.
- The GeoJsonDatasource in map-cesium was updated and styling of vector layers is now possible.
-
@dlr-eoc/services-layers:
- The
layer.popup
gets more types and usesIPopupParams
which will be applied to all popups. - Export new type
TFiltertypesUncap
to use withTFiltertypes
. SoTgroupfiltertype = TFiltertypesUncap | TFiltertypes
is usable in maps.
- The
-
@dlr-eoc/map-ol:
- Popup events can be observed by
MapOlService.popupEvents: Subject<IPopupEvent>
. For this addasObservable: true
to a popup object, you will then be able to subscribe to the event instead of having a popup container being added to the map. - A new Interface
IPopupEvent
is exposed. - Add groupID to olLayers (layer.groupID) to check if a layer was in an olLayerGroup.
- Popup events can be observed by
-
@dlr-eoc/map-tools:
- Optional parameter "fitViewToNewExtent" in the ProjectionSwitchComponent to adjust map view extent
11.1.0 (2023-05-30) (map-ol and layer-control)
- @dlr-eoc/layer-control:
- Add input to disable and enable sorting for layers or layers of groups. E.g.
<ukis-layer-control ... [layersSort]="true" [groupLayersSort]="false">
Issue #179.
- Add input to disable and enable sorting for layers or layers of groups. E.g.
- @dlr-eoc/map-ol:
- Restore ol map interactions and MapState after component toggle Issue #178.
11.0.0 (2023-05-05) (Openlayers Update and map-ol)
-
Update Openlayers to
^v7.1.0
and ol-mapbox-style to^9.2.1
. Issue #157. -
@dlr-eoc/map-ol:
- Styles from OpenLayers are no longer included in this component e3e98c1. You have to add them to your application manually see
@dlr-eoc/map-ol/README.md
. - The function
vectorOnEvent
now needs two parameters morelayer: olLayer
andfeature: olFeature | olRenderFeature
. - Refactor function
layersOnMapEvent
. Due to the removal of map.forEachLayerAtPixel in OpenLayers 7, the function works completely differently now. Iterate over all layers and test forfeature
orgetData
instead of just testing for color at a pixel. This also fixes Issue #120.
- Styles from OpenLayers are no longer included in this component e3e98c1. You have to add them to your application manually see
-
@dlr-eoc/map-ol:
- The function
zoomInOut
now accepts an optional object withcallback
,duration
,easing
andzoomStep
. - Add types for
FitOptions
onsetExtent
. - Add function
hideAllPopups
which adds a css class to the popup element Issue #120. - The function
layerOnEvent
(for popups) now accepts an optionalfeature
as the last parameter. - The function
getLayerGroups
is now public to retrieve the LayerGroups and Collections from the map. - Use
hideAllPopups
onlayer.visible
change and add css styles Issue #120. - Add
groupID
fromCustomLayer
orStackedLayer
to the layers from thereol/layer/Group
. So you can get the LayerGroup later e.g. in map.getAllLayers().
- The function
-
@dlr-eoc/utils-maps:
- Add function
getCollectionItem
fromol/Collection
. This returns the item and the index of the item if found otherwisenull
. - Add function
layerOrGroupSetZIndex
. Can set the zIndex forol/layer/Group
and all layers in the group. - Add function
layerOrGroupSetOpacity
. Can set the opacity forol/layer/Group
and all layers in the group. - Add function
layerOrGroupSetVisible
. Can set the visibility forol/layer/Group
and all layers in the group. - Add function
collectionItemSetIndex
. Moves an item in theol/Collection
to the index.
- Add function
- @dlr-eoc/map-ol:
- Use
applyBackground()
from 'ol-mapbox-style' when creating vector tile layers. - Remove LayerGroups from map before add
baselayerGroup
,layersGroup
andoverlayGroup
. - Set bbox for olLayerGroup layers in
create_custom_layer
. - Show popups on transparent features Issue #120.
- Adjust to style changes of
ol-control
from OpenLayers 7.
- Use
10.1.0 (2022-11-07) (Features and Bug Fixes)
-
@dlr-eoc/core-ui:
- Update styles for
layer-control
- spacing and borders between layers and groups.
- Update styles for
-
@dlr-eoc/layer-control:
- Extend UI with some classes and style updates of
layer-control
. - Expand layers and groups on start based on the configuration in
Layer.expanded
andLayerGroup.expanded
Issue #139](#139).
- Extend UI with some classes and style updates of
-
@dlr-eoc/services-layers:
- Extend Types of
Layer
andLayerGroup
to allow configuration of an expanded user interface to show or hide some details at startup Issue #139.
- Extend Types of
-
@dlr-eoc/services-map-state:
- Reuse
time
from last state when `setExtent Issue #148.
- Reuse
-
@dlr-eoc/map-ol:
- Use string for
ol/OverlayPositioning
change on OpenLayers v6.15.0. - Reuse
time
from last state when `setExtent Issue #148. - Remove id
map
andcrosshair
from the map div. If the map is used multiple times the ids are no longer unique and for styling classes are already there. - Fix
setExtent
fromMapStateService
after map init. Due to responsive map size it takes some time till the map has reached its full size andview.fit
can calculate the correct extent.
- Use string for
10.0.0 (2022-10-13) (Update to angular 14, Features and Bug Fixes)
- Package dependencies are set to allow Minor releases (which normally shouldn't break anything but can sometimes be) to simplify updates and usage when creating new apps.
- Remove class
floating
fromclr-main-container
, this is now set oncontent-container
e.g. in a route component@HostBinding('class') class = 'content-container floating';
- Update angular from
^13.3.5
to^14.0.2
automatic migrations are made by ng update and forms use types now.
- @dlr-eoc/layer-control:
- Allow legend on LayerGroup like on the layer - if one legend fits for all layers.
- Allow Dynamic components for Group description to display specific formatted descriptions.
- Allow Dynamic components for Layer description to display specific formatted descriptions (keep in mind that this breaks @dlr-eoc/services-ogc
generateResourceFromLayer
for this layer!!! - If you pass inputs.description toIDynamicComponent
it will try to take this).
-
@dlr-eoc/core-ui:
- Replace deprecated ComponentFactory in
DynamicComponent
. - Fix style: remove right border on tabsbody for layers inside a group.
- Replace deprecated ComponentFactory in
-
@dlr-eoc/layer-control:
- Do not use
<label for>
with<input id>
to prevent binding to the same element for duplicate IDs. - Do not change the group object binding in
layerentry-group
when creating a dynamic component from the group. - Do not change the layer object binding in
layerentry
when creating a dynamic component from the layer. - For Baselayers also show button to switch to the settings tab if layer has action Issue #135.
- Show layer expand icon for 'Baselayers' only when the layer has some things to expand (
legendImg
,description
,action
,actions
orstyles
as array to show a style switch).
- Do not use
-
@dlr-eoc/services-map-state:
- Add missing time value in function
setMapState
on state initialization Issue #133.
- Add missing time value in function
-
@dlr-eoc/map-ol:
- Update
TmsLayer
for vector tile style update. - Update
Params
andSource
forbaselayers
. - Replace deprecated ComponentFactory in
createDynamicPopupComponent
angular 45263. - Set urls for vector tile layers after apply style to override them when tilejson is not provided. This is helpful to use
tms
services where no tilejson is available. Then set the url of the sourceId in your style file to"url": ""
and add"tiles": []
. This skips the request to tilejson.
- Update
9.0.0 (2022-05-20) (Update dependencies and documentation)
- @dlr-eoc:
- Update angular from
^12.2.5
to^13.3.5
- Update ol-mapbox-style from
^7.0.0
to^8.0.7
- @dlr-eoc/utils-maps:
- Type Errors due to
@types/offscreencanvas
. All modules which use@dlr-eoc/utils-maps
(which makse use of OffscreenCanvas) have to includeoffscreencanvas
in there tsconfig types array. We cannot set this once at the main tsconfig because the types array in tsconfig.spec already overrides the main config.
- Type Errors due to
8.1.0 (2022-04-04) (Type for CustomLayer and bug fixes)
-
@dlr-eoc/services-layers:
- Add optional type for CustomLayer Issue #112 for better type checking.
-
@dlr-eoc/core-ui:
- Add inputs version and short title to
ukis-header
.
- Add inputs version and short title to
-
@dlr-eoc/map-ol:
- Show attributions for Vector Layers Issue #119.
-
@dlr-eoc/core-ui:
- Fix Styles for
clr-vertical-nav.right
trigger margin. - Fix Styles for
clr-vertical-nav.right
icon direction.
- Fix Styles for
8.0.1 (2022-01-05) (map-ol bug and PR template)
- @dlr-eoc/map-ol:
- Dispose
olRasterSource
forCustomLayer
if it is removed, updated or the source gets changed issue 100.
- Dispose
8.0.0 (2021-12-09) (services-ogc and angular update)
-
@dlr-eoc/owc-control: This package is removed. Use
owcSvc.generateOwsContextFrom(id, currentLayers, currentExtent)
anddownloadJson
from@dlr-eoc/utils-browser
; -
@dlr-eoc/map-ol:
- Removed
MapOlService.layers_on_click(evt)
andMapOlService.layers_on_pointermove(evt)
-> replace them byMapOlService.layersOnMapEvent(evt)
. - Renamed
MapOlService.layers_on_click_move(evt, layerFilter)
->MapOlService.layersOnMapEvent(evt)
layer filtering is now done later. - Renamed
MapOlService.layer_on_click(evt, layer, color?)
->MapOlService.layerOnEvent(evt, layer, color?)
. - Renamed
MapOlService.raster_on_click(evt, layer, color?)
->MapOlService.rasterOnEvent(evt, layer, color?)
. - Renamed
MapOlService.vector_on_click(evt)
->MapOlService.vectorOnEvent(evt)
.
- Removed
-
@dlr-eoc/services-layers:
- Deprecated:
isVectorLayer()
/isVectorLayertype()
andisRasterLayer()
/isRasterLayertype()
can both be raster and vector forCustomLayertype
andTmsLayertype
; - Removed zIndex from types
ILayerOptions
which was forgotten to do at breaking version6.0.0
. - Renamed (typo fix) layer's popup property
pupupFunktion
topopupFunction
- Renamed (typo fix) layer's popup property
asyncPupup
toasyncPopup
- Deprecated:
-
@dlr-eoc/services-ogc:
- Replace function
getLayerGroup()
withgetResourceFolder()
- and a private function to get folders which should be aLayerGroup
, - Remove old custom extension
IOwsOffering.iconUrl
andgetIconUrl()
. - Remove not used
getOfferingContents()
. - Remove old custom extension
IOwsOffering.title
- useIOwsResource
as layers. - Change
createTmsLayerFromOffering()
toprivate createVectorTileLayerFromOffering()
andprivate createTmsRasterLayerFromOffering()
. - Remove
previewUrl
fromIEocOwsResourceProperties
because this is is already inIOwsResourceProperties.links.previews
. - Remove
IEocWmsOffering
andIEocOwsWmtsOffering
for them you can use the generallIEocOwsOffering
and check for the codeWMS_Offering
orWMTS_Offering
. IEocOwsResourceDimensions
is removed.IEocOwsResourceDimension
is changed.IEocOwsResourceProperties.dimensions?: IEocOwsResourceDimension[]
is changed. Before it wasIEocOwsResourceProperties.dimensions?: IEocOwsResourceDimensions
IEocOwsOffering.legendUrl?
is removed.OwcJsonService.getLayers()
returns nowObservable<(Layer | LayerGroup)[]>
.IOwsContext.properties.creator?: IOwsCreator
corrected to schemaIOwsContext.properties.generator?: IOwsGenerator;
.IOwsContext.properties.links: IOwsLinks[]
corrected to schemaIOwsContext.properties.links.profiles
IOwsAuthor
,IOwsCategory
andIOwsOperation
corrected to schema.- Removed the function
convertOwcTimeToIsoTimeAndPeriodicity
. Has been replaced bygetTimeDimensions
- shared-assets:
- Add new Folder to share assets between all @dlr-eoc-projects.
- @dlr-eoc/layer-control:
- Open legend image as a link in a new tab for a larger view
- @dlr-eoc/services-layers:
- New layer type `StackedLayer``to support merged/stacked Layers as a single Layer.
- Export
const TmsLayertype = 'tms'
and integrate this inTLayertype
. - Extend Type for Popup
Layer['popup']?.filterLayer
to filter out layers inmap.forEachLayerAtPixel
andmap.forEachFeatureAtPixel
. CustomLayer
can now overwritecrossOrigin
property if used with a OpenLayers Layer.- Extend Layer Type for events issue 85.
- Extend Layer Popup Type for multiple Popups issue 85.
- @dlr-eoc/map-ol:
- Support merged/stacked Layers as a single Layer.
- Support Tiled- and Image-WMS Layers - Single Image-WMS Layers are created when
Layer.params.TILED == false
, - Support new
VectorLayer.type = tms
for VetrorTile Layers withVectorLayer.options.style
as the OpenMapStyle obj andVectorLayer.options.styleSource
for the style SourceKey. - Support new
VectorLayer.type = kml
. - Add events from Layer to olLayer and olSource issue 85.
- Allow Popups for several events issue 85.
- @dlr-eoc/services-ogc:
- Support WMS Filters
CQL_FILTER
andFILTER
(For WFS you can already pass the full url). - Support merged/stacked Layers for resources with folder
Baselayers/<layerName>
. ForlegendImg
the image furthest down is used. - Better support to convert UKIS layers to OWC.
- Support new Layer Types KML, Xyz and Tms (Raster)
- New basic Implementation of
getElevationDimension()
- New Functions to get Properties from
IOwsContext
andIEocOWsResource
-getGroupResources(), getSingleResources(), getResourceMinMaxZoom()
- Export separate interfaces for
IEocOwsTimeDimension
andIEocOwsElevationDimension
. - Functions to check
isIOwsRasterOperation()
andisIOwsVectorOperation()
. - Export Operation Codes for Offerings (
WMS_Code
,WMTS_Code
,WFS_Code
,TMS_Code
andXYZ_Code
): - Overhaul of
dimensions
- Allows sub-groups
- Allows Tms-Layers
- Extend types for
IEocOwsContext
- Parses ISO8601 strings using
luxon
(new dependency) - New function
OwcJsonService.createLayerFromDefaultOffering()
OwcJsonService.generateOwcContextFrom()
now also exports WFS-layers.
- Support WMS Filters
- @dlr-eoc/core-ui:
- Add missing Output to
GlobalProgressComponent
.
- Add missing Output to
- @dlr-eoc/services-ogc:
- Do not use bbox of
IOwsContext
for Baselayers. - Preserve order of Layers and Groups from
IOwsContext
-getLayers()
. - Removed not used
customAttributes
. OwcJsonService.createVectorLayerFromOffering
did not work properly with WFS'es: only a substring of theGetFeature
-operation.href had been used. Now fixed.OwcJsonService.createVectorLayerFromOffering
did not work properly with GeoJson-layers: GeoJson data had been incorrectly stringified (and parsed again).OwcJsonService.getTimeDimensions
:period
only added to dimension if actually given inIEocOwsResourceDimension
.OwcJsonService.getWmsOptions
: now respectsSTYLES
property either viaoffering.styles
or viaGetMap
operation. All WMS-paras only set when actually present.
- Do not use bbox of
- @dlr-eoc/map-ol:
- Fix GeoJSON layer from url - it used
olTileJSON
bevor. - Set
crossOrigin
onolSource
(olImageSource | olTileImageSource | olTileSource) for all layers withLayer.popup
as default to anonymous - Display cursor pointer for Popups only if the top layer has pixels.
- Popups with event
move
are rendered under existing Popups with eventclick
issue 94. - Prevent popup with event
move
to get added multiple times in some cases issue 94. - Remove popup if layer above has not the same popup event issue 94.
- Popup
Popup.options
are not applied when usingPopupObjArray
issue 94. - Fixed an issue in
MapOlService.zoomInOut()
- Fixed an issue with z-index of UkisCustomLayers containing an OlLayerGroup. Before the fix the layergroup's layers would always appear at the very bottom of the map, even below base-layers.
- Fixed an issue with dynamic popups, where only the first popup on a raster-layer would be created, whereas all subsequent clicks would not lead to a new popup appearing.
- Fix GeoJSON layer from url - it used
- @dlr-eoc/layer-control:
- Set Cursor to default for
body
of layerentry. - Dynamic component layer Input lost its Instance (Type) issue 80.
- Set Cursor to default for
- @dlr-eoc/layer-control:
- WPS 2.0.0: The encoding of literal inputs has been fixed. Previously, inputs of type "text/plain" were not anoted with the correct mime-type
- WPS 2.0.0: the
executeUrl
no longer contains url-parameters (conform with the JavaPS reference implementation)
7.3.1 (2021-04-20) (fix package)
- Fix: create
@dlr-eoc/
npm packages for 7.3.0 did not work.
7.3.0 (2021-04-20) (Layer, Utils Features and bug fixes maps)
- @dlr-eoc/layer-control:
- adjust misleading title on hover state issue 53.
- @dlr-eoc/map-ol:
- Fix
updateGeojsonLayerParamsWith()
overwrites cluster source if the layer uses VectorLayer.cluster. - Do not automatically zoom in on Clusters if Popup event is move.
- reuse popup on move 12f77a80 #47
- getLayerByKey() not working on layergroups (recursive).
- removeLayerByKey() not working on layergroups (recursive).
- addLayer(), addLayers() and setLayers() don't set the filtertype on layergroup children (recursive).
updateLayerParamsWith
now also works with GeojsonLayers: issue 51
- Fix
- @dlr-eoc/map-three:
- regarding three-version 125:
Geometry
is now deprecated, replaced withBufferGeometry
- regarding three-version 125:
- @dlr-eoc/layer-control::
- @dlr-eoc/services-layers::
- Adjust LayerGroup types so it can use a Angular Component for
action
issue 69.
- Adjust LayerGroup types so it can use a Angular Component for
- dlr-eoc/map-ol::
- now allows for angular-components in popups. In any Ukis-Layer, just add a
dynamicPopup
field to thepopup
property. If the popup-component requires any@Input
's, provide these withgetAttributes(args: IPopupArgs)
. Addresses Issue #14 - added basic functionality for WMS-layers to map-ol. As for now,
VectorLayers
of typewfs
do not have any dedicated own methods or properties. All wfs-specific methods, like CQL-filters, are simply red from the layer'surl
property.
- now allows for angular-components in popups. In any Ukis-Layer, just add a
- @dlr-eoc/utils-maps::
- created new custom renderer
InterpolationRenderer
.- Takes a vector-source (or a clustered vector-source) and does inverse-distance-interpolation on every pixel between the data points.
- Allows user to optionally style data-point-labels just like any other openlayers vector-layer.
- extended webgl-utils to handle textures that are not intended for display, but for data-transmission to and from shaders.
- updated all renderers to implement ol-6.5's new
renderDeclutter
method.
- created new custom renderer
- @dlr-eoc/utils-ogc::
- Created new package
@dlr-eoc/utils-ogc
. Provides our OGC-services that have been made independent of angular. - Created first service
WpsClient
for accessing WPS 1.0.0 and 2.0.0 services.- Port of original
@dlr-eoc/services-ogc/WpsClient
made independent of angular- and browser-libraries (runs on node as well) - Original implementation remains as a wrapper for backwards-compatibility.
- Added method
describeProcess
- Added ability to overwrite data-decoding with a user-provided method, for cases where a unconventional mime-type or encoding has been used.
- Expose WmsService Pull #70.
- Port of original
- Created new package
- @dlr-eoc/utils-maps:
- updated all custom renderers to implement the method
renderDeclutter
that is required as of ol6.5.
- updated all custom renderers to implement the method
- @dlr-eoc/map-ol:
- add more tests for get/set layers, import testdata and add few private helper functions.
- addBboxSelection() returns DragBox and optional inputs.
- use constants to store filtertype strings e.g.
const FILTER_TYPE_KEY = 'filtertype'
. - add ID to Baselayer Groups
- private functions: getLayersFromGroup(), setRecursiveKey(), getLayerGroups(), getLayerGroupForLayer() - these should be moved to
utils-maps
.
- @dlr-eoc/utils-maps::
- moved existing custom renderers out of
demo-maps
intoutils-maps
, since they have no dependencies on angular and can be used in any openlayers project.
- moved existing custom renderers out of
- @dlr-eoc/utils-ogc::
- moved business-logic of
@dlr-eoc/services-ogc/WpsClient
into@dlr-eoc/utils-ogc
- moved business-logic of
7.2.0 (2020-08-31) (Npm packages and a lot of features and bug fixes)
-
@dlr-eoc/layer-control:
-
@dlr-eoc/core-ui: Input/Output binding of dynamic component Issue #23
-
demo-maps: Set routing to HashLocationStrategy and fix update Search Params on MapState change example.
-
@dlr-eoc/map-ol:
- Allow
CustomLayer
to use olLayerGroup Issue #37. - Set min/max resolution and zoom of Layer in the creation of layers Issue #36.
- Allow to add a custom olControl on ngOnInit in a 'route-component' Issue #35.
- Subscribe to map state before map creation, then set this state on AfterViewInit so if
mapStateSvc.setMapState
ormapStateSvc.setExtent
is triggered from a View/Route in ngOnInit the state is set correctly Pull #17.
- Allow
- @dlr-eoc/map-ol: The function mapOnMoveend now set the MapState without rounding the values for zoom and center.
- update dependencies angular, clarity, ol, proj4
- @dlr-eoc/services-map-state: Create new instances on set state and remove the not needed extent Subject.
- angular: Created a
tsconfig.json
for usage by the IDE and atsconfig.base.json
for new projects to inherit from to conform with angular 10. More information: https://angular.io/guide/migration-solution-style-tsconfig
all projects: all packages now available on npm @dlr-eoc
-
@dlr-eoc/map-ol:
- Subscribe to
pointermove
to allow layer Popup on move. - Optional filter function for
removeAllPopups(filter?)
inMapOlService
. - Return created ol layers from
setUkisLayers()
inMapOlService
.
- Subscribe to
-
@dlr-eoc/services-layers:
- Add new attribute min/max Zoom to Layer Issue #36.
- Add new attribute
cssClass
to Layer and LayerGroup for custom styling Issue #32. - Add new attribute
expanded
to Layer and LayerGroup Issue #25. - Layer IDynamicComponent Interface is extended for Outputs Issue #23.
- Adjust layer types so it can use a Angular Component for
action
orlegendImg
#12 #13. - RasterLayers can now specify the parameter
crossOrigin
in their constructor.
-
@dlr-eoc/layer-control:
-
@dlr-eoc/map-tools: Allow map navigator to set the input step.
-
@dlr-eoc/services-map-state: Add function to get the last action of the MapStateService so if a full state was set or only the extent.
-
@dlr-eoc/core-ui: Export DynamicComponent and ViewRefDirective
-
@dlr-eoc/services-layers: RasterLayers can now specify the parameter
crossOrigin
in their constructor. -
@dlr-eoc/utils-browser:
Paper
class to aid in getting dimensions of paper-sheets (A5, A4, ...) in pixel and cm. -
@dlr-eoc/utils-browser:
download
utilities to save us some boilerplate when saving data to a file. -
@dlr-eoc/utils-maps:
ol
utilities to copy a map's current image in a canvas (potentially for later downloading). -
@dlr-eoc/services-ogc:
- Added
CswClient
, a client of OGC-conform CSW-Servers. - Added
OpensearchWrapperService
, a client for OpenSearch endpoints (like the one provided by PyCSW).
- Added
-
@dlr-eoc/utils-browser:
Paper
class to aid in getting dimensions of paper-sheets (A5, A4, ...) in pixel and cm.download
utilities to save us some boilerplate when saving data to a file.
-
@dlr-eoc/utils-maps:
ol
utilities to copy a map's current image in a canvas (potentially for later downloading).mapToSingleCanvas
can now also optionally keep track of the maps state instead of only storing a snapshot. This way, we can now not only take 'photos' but also 'videos' of the map and use them elsewhere.- added utilities for the usage of WebGL. The new
Shader
API is a very thin, object-oriented wrapper around WebGL that removes a lot of the verbosity usually associated with writing shaders. Contrary tothreejs
, however, the programmer is still able to directly manipulate every data-structure manually. - added utilities for the usage of
threejs
.Map2SphereConverter
helps in converting EPSG:4326 in 3d-coordinates and backWGS84TextureMesh
is a custom mesh that projects a canvas onto a 3d-object. It works well in combination withmapToSingleCanvas
to project ol-maps onto objects.
-
demo-maps:
- Custom layers: added illustrations for the usage of WebGL in openlayer's custom
LayerRenderer
.minimal_renderer
contains an absolute minimal example of what is required to create a custom rendererdtm_renderer
illustrates how WebGL can make use of normal-mapsthreejs_renderer
illustrates how we can integrate the popularthree.js
library into an openlayers-map
- Threejs: added an example of how two maps with the same data can be displayed side by side. Here, an openlayers-map is displayed next to a threejs-scene. Data is being synced between them.
- Custom layers: added illustrations for the usage of WebGL in openlayer's custom
-
@dlr-eoc/map-three: Created a component
ukis-map-three
analogous toukis-map-ol
. It projects an ol-map onto a Mesh, allowing us to display maps in 3d. The threejs-dependency is bundled here, so that the package does not artificially bloat our build-size when no threejs is required.
- @dlr-eoc/core-ui: Add class ukis-range-input to adjust style of clr range
7.1.0 (2020-06-03) (Schematics, OL-configuration, performance-monitoring)
- @dlr-eoc/core-ui: add tests for schematics to CI
- @dlr-eoc/core-ui: Provide header component from core-ui module
- @dlr-eoc/map-ol: Allow to pass OpenLayers options to IMapControls
- demo-maps: Added new component
performance
, that measures FPS and change detection. - demo-maps: Added new route
map7
that showcases drop in performance when displaying large vector datasets. - demo-maps: Added service
LargeLayersService
that allows users to load data from a WFS with a specified data-strategy (downloading full data, downloading only current viewport, using simplified geometry, not loading any properties) to compare how each strategy affects loading- and render-performance.
-
@dlr-eoc/core-ui: on ngAdd without routing setup a view component so not all code is placed in the App component - this
-
@dlr-eoc/core-ui: Start convert clr-theme to use custom css properties. If you must support IE11 see Setting up IE11 support.
-
@dlr-eoc/services-layers: Type for CustomLayer (type: 'custom') now optional on creation
-
demo-maps: Add more examples how to use CustomLayers for OpenLayers route-example-custom-layers
-
@dlr-eoc/map-ol:
- Overview-Map Control now as default uses a Clarity Icon
- Prepare for OpenLayers Types with ol@dev
- Start to use custom css properties
-
demo-maps: workaround for header overflow #6
-
@dlr-eoc/layer-control: Layerentry expand icon not working in Edge Browser due to [dir].
-
@dlr-eoc/map-ol:
-
@dlr-eoc/core-ui: Use the same types for 'ts' as @schematics/angular /**Types of property 'kind' are incompatible */
-
@dlr-eoc/services-ogc:
- Used to depend on @boundlessgeo/jsonix, because this fork of @highsource/jsonix worked with angular8. However, that fork declared a couple of variables globally, which now no longer works with angular9 and the ES2015 target.
- Created an own fork under @michaellangbein/jsonix that adresses both the global variables issue and allows building to es2015.
- All imports of 'jsonix' have been updated to '@michaellangbein/jsonix'
- As a consequence of using this package, the
sourceIsEvt
hack insrc/index.html
is no longer required and has been removed.
7.0.0 (2020-03-11) (Opensourcing)
-
change npm package scope from @ukis to @dlr-eoc: this is breaking all imports and path mappings for @ukis!!!
-
update dependencies angular 9 and clarity 3
-
@ukis/map-navigator: is renamed to @ukis/map-tools
-
@ukis/layer-control: directive reverseForOf removed!
-
@ukis/map-ol: duplicated exported type 'TGeoExtent' removed! - now exported from @ukis/services-layers
-
@ukis/services-map-state: duplicated exported type 'TGeoExtent' removed! - now exported from @ukis/services-layers
-
@ukis/services-layers: getLayerOrGroupById() - is returning a Layer | LayerGroup | null - not a array anymore!
-
@ukis/base-layers-raster: esri and google layers are removed, new layers from EOC Geoservice (a complete restructuring)!!!
- @ukis/services-ogc:
- made wps-datatypes available via public api.
- allowed to set caching mechanism on a client-wide level.
- @ukis/services-layers:
- removeLayer(), removeLayerGroup(), removeLayerFromGroup(), removeLayerOrGroupById() - add optional force if layer was set to not removable
- updateLayerOrGroupInStore() - removed optional (not used) filtertype
- scripts: create package for libraryScripts and nexus publish
- projects/demo-maps: added route 'licenses' as an example for how to display third party licenses.
- @ukis/layer-control: add css class to visible layer or group to style them.
- @ukis/core-ui: new package which adds install support through schematics :)
ng add @ukis/core-ui
- @ukis/map-ol: MapOlService exports projectionChange (Subject)
- @ukis/user-info: fix tests
- all projects: add dev- and peerDependencies check through depcheck
6.2.0 (2019-12-05) (Sprint NextGEOSS)
- @ukis/services-ogc: added support for WPS 2.0
- @ukis/services-layers: new type TFiltertypes = 'Baselayers' | 'Overlays' | 'Layers' replace old duplicate definitions (98c42aae0e6, a5f211272b6).
- @ukis/map-ol: new functions in map-ol.service: setLayers(), updateLayerByKey(), setUkisLayers(), setUkisLayer(), updateUkisLayer() (80c7e727f1c).
- @ukis/map-ol: ne type Tgroupfiltertype = 'baselayers' | 'layers' | 'overlays' | 'Baselayers' | 'Overlays' | 'Layers' to be backwards compatible with TFiltertypes.
- @ukis/map-ol: add tests for add/get/remove layers and a simple test for update layer (db5bb17d5c2).
- @ukis/map-ol: add update olSource on CustomLayer id uid changed (7ccc339162b).
- @ukis/map-ol: rename functions in map-ol.service: setLayers() to setUkisLayers() and setLayer() to setUkisLayer() - They were only used in map-ol.component! (f35efcfbb2e).
- @ukis/map-ol: refactor map-ol.component and map-ol.service.
- demo-maps: adjust routes to test refactoring.
- @ukis/services-layers: fix: update Layer and LayerGroup was not working. (5acc1e36547,6c8dea04538)
- @ukis/map-ol: fix functions in map-ol.service addLayers(), removeLayerByKey().
- @ukis/map-ol: fix wms params were passed by obj reference - this was causing a unsuspected update of a layer on the map!
- @ukis/map-ol: fix wmts params update was triggered although nothing has changed! and use new function updateUkisLayer instead of remove and add the layer.
6.1.0 (2019-12-05) (Add projection switch from SV.)
- @ukis/map-navigator: SV: added projection switch. See mariss client for example.
- @ukis/map-ol: SV: adjusted setProjection method. It creates a new View instance with keeping previously set settings with exception resolution-related parameters. They are calculated automatically by the OL. After applying new projection all existing layers are triggered to redraw their tiles
- @ukis/map-ol: SV: created getZoom method in the map-ol.service in order to get zoom value from actual olView instance.
- @ukis/map-ol: SV: changed the zoom value source for mapSate.
- @ukis/services-layers: adjust types
- @ukis/map-ol: Backwards incompatible changes in ol6 on map.forEachLayerAtPixel - fix this for popup layers with className = layer.id
- @ukis/map-ol: add more types from openlayers
- @ukis/map-ol: set all olView options on MapOlService.createMap
- @ukis/map-navigator: set precision also on zoom and remove duplicate projection in dropdown
6.0.0 (2019-11-19) (Sprint Geoservice 2 and Sprint water system 1)
-
@ukis/services-layers: zIndex is removed (only used internal).
-
@ukis/services-owc-json: is now in @ukis/services-ogc
-
@ukis/services-wps: is now in @ukis/services-ogc
-
@ukis/map-navigator: mouse-position component (cc2e51b70ff, 04d9bac9209)
-
@ukis/services-ogc: services for ogc like OWC, WMTS, WMS and WPS (cf4fd58022a)
-
@ukis/services-layers: Add dimensions and styles property for OWC (be9464860d4)
-
@ukis/services-layers: Wmts Layer use default tilegrid if nothing is provided and set tileSize on WMS (b7ce28e5d1e)
-
@ukis/services-layers: Added new types for Rasterlayers like WMS and WMTS (936c8b683da, ca6136c574e)
-
@ukis/layer-control: now allows switching between styles of a layer (if more than one style is present) (22c49e96015)
-
@ukis/services-layers: RasterLayer now has a property 'styles' to accommodate the above mentioned feature (0e36a07f536)
-
@ukis/map-ol: update to openLayers 6.1.1
-
@ukis/map-ol: getFeaturesExtent add optional get extent geographic
-
@ukis/map-ol: Added a method getTileGrid (b7ce28e5d1e)
-
@ukis/map-ol: Added a method 'setLayer', analogous to 'setLayers' (9c74273b78e)
- @ukis/map-ol: fixed some type-signatures in map-ol-service (76a9f4552c5)
5.3.0 (2019-09-09) (layer-control and services-layers)
-
@ukis/services-layers: prevent to add layers or groups with same id (71f5668a182)
-
@ukis/layer-control: LayerGroup is not set to visible if the group is updated with the layerservice (51b35fe2c17)
-
@ukis/services-layers: new functions: getLayerOrGroupById(), getLayerById() (71f5668a182)
-
@ukis/services-layers: LayerGroup now have the optional property visible witch is also set to Layers of the Group; Added Tests and dokumentation.
-
demo-maps: add custom vector layer with bbox to demo-maps, add kml as custom layer (e2544e8295e, ba5daa1028d)
-
@ukis/services-layers: function params change - isInLayergroups(layergroup: Layer | string, groups?: Array<Layer | LayerGroup>) (71f5668a182)
-
@ukis/services-layers: The filtertype on addLayer(), removeLayer(), updateLayer() and addLayerGroup() are now optional if not provided the type of the Layer or LayerGroup is used.
5.2.1 (2019-08-13) (layer-control)
- @ukis/layer-control: layerentry-group don't use layer.name for the checkbox-id so layer with same name are not toggled simultaneously. (UKISDEV-898) (d360c8a21bf)
5.2.0 (2019-08-06) (services-layers)
-
@ukis/services-layers: add function 'removeBaseLayers' and 'removeLayers' so layers can be filtered for all slots 'Baselayers' | 'Layers' | 'Overlays' (UKISDEV-885) (bdb1017ab3b)
-
@ukis/services-layers: add 'description' to LayerGroup to show it in the ukis-layerentry-group (UKISDEV-886) (3ffb35c9347)
-
@ukis/services-layers, @ukis/layer-control: add 'actions' to Layer and LayerGroup to trigger functions with clarity-icons (UKISDEV-886) (3ffb35c9347)
5.1.2 (2019-07-19) (olmap fix for routing)
- @ukis/map-ol: map viewport was not set on route change due to olMap got no target element when used a string on map.setTarget - now using @ViewChild to get the nativeElement (3dc113ecb6b)
- demo-maps: added new demo for a layout with two vertical navs
5.1.1 (2019-07-08) (angular update)
- "@angular/core": "~7.2.0" to "~8.1.0"
- "@clr": "^1.0.4" to "^2.0.2"
5.1.0 (2019-06-17) (services-wps/map-ol)
- @ukis/services-wps: created new wps-client
- @ukis/map-ol: added means to do bbox-selection and show a hover-popup.
- @ukis/services-layers: commented out some log messages (layer/layergroup remove etc.) which are not good for production
- @ukis/map-ol: added public setHitTolerance(tolerance: number) method, for configuration of click events on touch devices
- @ukis/services-layers: fixed bug where layer-visibility would be turned off after call to removeOverlays
- @ukis/services-owc-json: adjusted owc-json.service.spec.ts to the latest state of owc-json.service.ts
5.0.0 (2019-05-09) (ability to put layers aboth overlays)
- @ukis/services-layers: filtertype of Layers has changed from
'Baselayers' | 'Overlays' | string
to'Baselayers' | 'Overlays' | 'Layers'
and default type is now 'Layers'. This is involving@ukis/map-ol
,@ukis/layer-control
and@ukis/services-owc-json
-
@ukis/services-layers: custem layer default type not set (b6af54571e3)
-
@ukis/map-ol: don't remove custom_layer from layer so it can be created newly (UKISDEV-802) (1f8ea6f7704))
- @ukis/services-map-state: set Mapstate use object or instance (not only instance) (30e6ce143cd)
4.0.0 (2019-05-03) (refactoring)
move all datatypes to there services (UKISDEV-787) (1f9f3c748ec)
-
@ukis/datatypes-layers: exports moved to @ukis/services-layers
-
@ukis/datatypes-map-state: exports moved to @ukis/services-map-state
-
@ukis/datatypes-owc-json: exports moved to @ukis/services-owc-json
-
@ukis/datatypes-user-info: removed! already in @ukis/user-info
-
@ukis/dataset-explorer: move dataset-explorer to project-coastalx! (UKISDEV-789) (bf9d5e3649d)
-
@ukis/observation-explorer: move observation-explorer to project-mariss! (UKISDEV-790) (b3240e4344b)
-
@ukis/layer-control: layer in group ordering not working (4ee6fd97384)
-
@ukis/layer-control: layer opacity slider not working on drag in group item (87d4b12179c)
-
@ukis/map-ol: popup not added for Vecorlayers (10dd1791d3b)
-
@ukis/map-ol: create ol map in constructor of service and add layers, view and controls later (83c64c406ce)
-
demo-user-info: create demo app for @ukis/user-info module (UKISDEV-786) (814097ed357)
-
demo-maps: create demo app for @ukis/map-ol module (UKISDEV-785) (01636a24f83) (116f4bf9316)
3.0.2 (2019-04-26) (costalx-fixes)
- @ukis/dataset-explorer: data type icons path to polygon, raster, line etc. was given absolute, therefore could not be found in deployed environments (#UKISDEV-771)
3.0.1 (2019-04-26) (costalx-fixes)
- @ukis/map-ol: imports ol.css in bundel not working on linux build (#UKISDEV-766) (896f15ab39e)
3.0.0 (2019-04-15) (FEATURE-planetary and costalx-fixes)
- @ukis/user-info: component ukis-login-view removed - create your view e.g. in a route with the provided components! (#UKISDEV-767) (5c3001e6f6d)
- @ukis/user-info: user.service.ts api changes!!! (#UKISDEV-767) (5c3001e6f6d)
- @ukis/services-util-store: method to remove cookies (ca3b11fecac)
- @ukis/map-ol: imports ol.css in bundel (#UKISDEV-766) (5809fdb9df4)
2.1.0 (2019-04-01)
- @ukis/services-layers: filter for remove overlays (#UKISDEV-749) (a39b6fd7bf4)
- @ukis/services-owc-json , @ukis/services-owc-json: implemented support for geojson-layers: storing geojson-data in a data-offering
- @ukis/dataset-explorer: filter for bbox and time (#UKISDEV-604)
- @ukis/dataset-explorer: Datasetexplorer is not removing layers from service (#UKISDEV-738) (f5a98f5c9be)
- @ukis/services-layers: vector-layers can no longer have type "wms", "wmts" or "xyz", raster-layers can no longer have type "geojson" or "wfs".
- @ukis/services-owc-json , @ukis/services-owc-json: in marshalling to and from owc to layer, the layertype is now explicitly checked for compliance with @ukis/services-layers:
2.0.0 (2019-03-15) (SPRINT-geoservice I)
- @ukis/map-ol: change input name layersSvc for mal-ol (fc24393c4d9)
- @ukis/map-ol: fix typo controlls, rename to controls (f71cadb1db3)
- @ukis/layer-control: opacity slider not working with dragging (#UKISDEV-673) (caba7bc876c)
- @ukis/owc-control: control to export map layers as OWS-Context (#UKISDEV-645) (46cc38c6179)
1.0.0 (2019-02-12) (RESTRUCTURE to monorepo)
- "@angular/core": "~7.2.0"
- repo: remove not used files and (#UKISDEV-668) (7f4378ad74b)