https://openlayers.org/en/latest/examples/
shows more than 200 examples, based on javascript using the open source OpenLayer
package. It can bet used without installation of gis programs on user pc. Impressing possibilities! incredible number of
different data sources can be used. It
is easy to make user interactive gis programs.
I have
tried, tweaked, investigated most of these examples
Some of the
more useful, interesting, impressing examples are shown in this web-directory
The program is
based on fast coloring of each pixel based on the height value in the DEM layer.
Of course, data is no better than the source. The resolution appears to be
about 2m*2m, which is fine for Greenland, but not for DK, where citizens can
access layers with 0.40m*0.40m.

The area around Frederiksberg castle shows a maximum
height of 47m, but is in reality 37m, the contour level curves give a good
impression of the topography, however. https://www.kb.dk/danmarksetfraluften/#zoom=16&lat=55.67060030756023&lng=12.522444926964853
The map can also be used to investigate the risk of
flooding at high tide. If the height level is set to 1, one can get an overview
of the areas that are flooded at 1m high water (the map and drawing are not
precise, however); especially on Amager in Copenhagen, large areas are in a danger
zone.

const
source = new VectorSource({
features: features,
});
const
clusterSource = new Cluster({
distance: parseInt(distanceInput.value),
minDistance:
parseInt(minDistanceInput.value),
source: source,
});