Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Configuration of a geoDatum is important for the display of map layers in the FEWs Explorer and Grid display. A geoDatum is the coordinate system the extents, or map layers are defined in. Enumeration of of geoDatums of many different coordinate systems are available in Appendix B.

projection

One can use various projections: mercator, web_mercator, orthographic, llxy and gnomonic. In combination with WMS services only (web-) mercator is possible.

defaultExtent

Definition of the default zoom extent. 

...

An example configuration containing two extents is shown below.

Code Block
languagexml
titleDemo Extents
<geoDatum>WGS 1984</geoDatum>
<defaultExtent id="my_defaultZoom" name="Default">
	<left>96.38403320312536</left>
	<right>112.68774414062536</right>
	<top>1.8519463253148256</top>
	<bottom>-5.9482950514716</bottom>
</defaultExtent>
<extraExtent id="Indonesia" name="Indonesia">
	<left>92</left>
	<right>141</right>
	<top>7</top>
	<bottom>-11</bottom>
</extraExtent>

...

More info on connection to ArcSDE and WFS can be found here.

wmsConnection

Defines a Web Map Service (WMS) connection that can be referenced by a wmsLayer.

arcSdeConnection

Image Removed
Notice that you need to specify a mapLayersCacheDir in the global.properties, like mapLayersCacheDir=%REGION_HOME%/MapCache

More info on connection to ArcSDE and WFS can be found here.ArcSDE protocol is no longer supported in the map background layers. ESRI GeoServer supports the WFS protocol besides the ARCSDE protocol. The WFS protocol can still be used

Layer Choices

Many different types of layers can be defined to be included in the map. All configured layers will be shown in the layer selection panel, where they can be turned on/off by the user. Some of these layers will be explained below.

...

A very useful additional feature (to be used in the griddisplay only) is the feature that you can use the CTA as a real DEM and use it for plotting of water depths.
You then can easily display the water depths per pixel, based on a time series with water levels (using global datum!) and the DEM in the CTA. Therefore, enable the property useAsLocalDatumReference. Note, usesDatum in Parameters.xml for the respective parameterGroup should be set "true". The waterlevels can have any spatial distribution, like grid or polygon and should not have the exact same grid definition as the DEM. The calculation of the depths is completely on the fly and no depths have to be stored in the database.

Code Block
xml
languagexml
titleDemo of using coverageTileArchiveLayer as background map
<coverageTileArchiveLayer id="asc">
  <file>petten.cta</file>
  <visible>false</visible>
  <useAsLocalDatumReference>false</useAsLocalDatumReference>
  <classBreaks>
    <lowerColor>brown</lowerColor>
    <upperColor>green</upperColor>
    <lowerValue>-4</lowerValue>
    lowerValue>-1</lowerValue>
  </classBreaks>
</coverageTileArchiveLayer>


Code Block
xml
languagexml
titleDemo of using coverageTileArchiveLayer as DEM for plotting depths
<gridPlot id="Petten">
  <timeSeriesSet>
    <moduleInstanceId>Floodmap</moduleInstanceId>
    <valueType>grid</valueType>
    <parameterId>H.sim.hist</parameterId>
    <locationId>Floodmap_grid</locationId>
    <timeSeriesType>simulated historical</timeSeriesType>
    <timeStep unit="minute" multiplier="1"/>
    <readWriteMode>read only</readWriteMode>
  </timeSeriesSet>
  <classBreaks>
    <break lowerValue="0" color="light blue" opaquenessPercentage="25"/>
    <break lowerValue="1" color="blue" opaquenessPercentage="75"/>
    <break lowerValue="2" color="purple" opaquenessPercentage="75"/>
  </classBreaks>
  <geoMap>
    <geoDatum>Rijks Driehoekstelsel</geoDatum>
    <projection>mercator</projection>
    <defaultExtent id="Petten testmodel">
      <left>-1000</left>
      <right>10000</right>
      <top>4000</top>
      <bottom>0</bottom>
    </defaultExtent>
    <extraExtent id="Nederland">
      <left>-200000</left>
      <right>500000</right>
      <top>750000</top>
      <bottom>200000</bottom>
    </extraExtent>
    <scaleBarVisible>true</scaleBarVisible>
    <northArrowVisible>true</northArrowVisible>
    <labelsVisible>true</labelsVisible>
    <backgroundColor>light blue1</backgroundColor>
    <openStreetMapLayer id="osm" name="Open Street Map">
      <url>http://tile.openstreetmap.org</url>
      <cacheDir>$MAP_CACHE$/openstreetmaps</cacheDir>
    </openStreetMapLayer>
    <coverageTileArchiveLayer id="asc">
      <file>petten.cta</file>
      <visible>false</visible>
      <useAsLocalDatumReference>true</useAsLocalDatumReference>
      <classBreaks>
        <lowerColor>brown</lowerColor>
        <upperColor>green</upperColor>
        <lowerValue>-4</lowerValue>
        <lowerValue>-1</lowerValue>
      </classBreaks>
    </coverageTileArchiveLayer>
  </geoMap>
</gridPlot>

...

An example of the various options, that can be completely mixed is shown in the below picture.

 

openStreetMapLayer

To make use of a server that uses the open street map protocol.

From version 2018.02 it has a standard copyright label in the right bottom corner. It needs no extra configuration and can't be turned off.


geoJSonLayer

From version 2022.01 you can use a geoJSON files instead of shape files. When the geoJSON file contains multiple shape types you can use the same geoJSON file in multple layers with different types (options: point, line, polygon)

Code Block
language
Code Block
xml
xml
titleDemo Open Street MapgeoJSON file
<geoJsonLayer<openStreetMapLayer id="Osmgeojson">
<url>http://tile.openstreetmap.yourserver.com</url>
<cacheDir>$REGION_HOME$/OsmTiles</cacheDir>
</openStreetMapLayer>

For testing purposes you can use "http://tile.openstreetmap.org"

...

  <file>provinces.geojson</file>
  <shapeType>polygon</shapeType>
  <visible>false</visible>
  <lineColor>black</lineColor>
  <fillColor>light yellow</fillColor>
</geoJsonLayer>


openStreetMapLayer

To make use of a WMS server you have to use the option for wmsLayer.

You can request the capabilities of a WMS server by entering a url in your browser. The url you need to enter to do so is the base url of the server (anything before the '?' character) with "?request=GetCapabilities&service=WMS" added to it. For example, if your WMS server can be found at www.mywmsserver.com, the url you need to enter to request its capabilities is: www.mywmsserver.com?request=GetCapabilities&service=WMS

Some additional explanation for a few of the elements that can be configured for a <wmsLayer>:

  • <url> : Base url for the wms server. This is everything before the text "VERSION=" in the url. Use & to include a &
  • <wmsVersion> : Since 2018.02. Version of the wms server. Between different versions, the formatting of the url to get the wms layer may differ. FEWS currently supports version 1.1.1 (used by default and used in versions older than 2018.02) and version 1.3.0.  To find the versions a WMS server supports, you can request its capabilities as described above.
  • <wmsLayerName> : Layer name to display. It's the part after the text "LAYERS=" till the next & or ; in the url. To find the layer names a WMS server has, you can request its capabilities as described above.
  • <vendorParameter> : Any parameters you need FEWS to pass in the url in each request it sends to the WMS server. For example, if you wish to configure a wms layer and your WMS server supports several "Styles", you can ensure that FEWS requests the correct style by adding a vendorParameter element with name="Styles" and value="the value you want". To find the styles supported by a WMS server, you can request its capabilities as described above. 

 Note that the wmsLayers configured in the geoMap will be used as a background layer and will not be animated over time. If you wish to show a wms layer that contains time series data, you should configure a <gridPlot> which contains a <wmsLayer> element for the layer instead. More information on configuring animated wms layers can be found on the Grid Display configuration page.

...

<wmsLayer id="meteosat">
   <url>http://geoservices.knmi.nl/cgi-bin/METEOSAT9_DEMO.cgi?&amp;SERVICE=WMS&amp;</url>
   <wmsLayerName>IR108</wmsLayerName>
   <cacheDir>$REGION_HOME$/wms_meteosat_cache</cacheDir>
</wmsLayer>

server that uses the open street map protocol.

From version 2018.02 it has a standard copyright label in the right bottom corner. It needs no extra configuration and can't be turned off.

Code Block
languagexml
titleDemo Open Street Map
<openStreetMapLayer id="Osm">
<url>http://tile.openstreetmap.yourserver.com</url>
<cacheDir>$REGION_HOME$/OsmTiles</cacheDir>
</openStreetMapLayer>

For testing purposes you can use "http://tile.openstreetmap.org"

wmsLayer

To make use of a WMS server you have to use the option for wmsLayer.

You can request the capabilities of a WMS server by entering a url in your browser. The url you need to enter to do so is the base url of the server (anything before the '?' character) with "?request=GetCapabilities&service=WMS" added to it. For example, if your WMS server can be found at www.mywmsserver.com, the url you need to enter to request its capabilities is: www.mywmsserver.com?request=GetCapabilities&service=WMS

Some additional explanation for a few of the elements that can be configured for a <wmsLayer>:

  • <url> : Base url for the wms server. This is everything before the text "VERSION=" in the url. Use & to include a &
  • <geoDatum> : Since 2023.01.  EPSG:3857 (Web Mercator) / or by default EPSG:4326 (WGS 84). When the WMS server supports Web Mercator it is recommended to configure EPSG:3857. This is more accurate than the default EPSG:4326 (WGS84) when zoomed out and far from the equator. 
  • <wmsVersion> : Since 2018.02. Version of the wms server. Between different versions, the formatting of the url to get the wms layer may differ. FEWS currently supports version 1.1.1 (used by default and used in versions older than 2018.02) and version 1.3.0.  To find the versions a WMS server supports, you can request its capabilities as described above.
  • <wmsLayerName> : Layer name to display. It's the part after the text "LAYERS=" till the next & or ; in the url. To find the layer names a WMS server has, you can request its capabilities as described above.
  • <vendorParameter> : Any parameters you need FEWS to pass in the url in each request it sends to the WMS server. For example, if you wish to configure a wms layer and your WMS server supports several "Styles", you can ensure that FEWS requests the correct style by adding a vendorParameter element with name="Styles" and value="the value you want". To find the styles supported by a WMS server, you can request its capabilities as described above. 
  • <imageFormat> : jpg, png, gif. Default is jpg
  • <transparent> : Only supported for png and gif

 Note that the wmsLayers configured in the geoMap will be used as a background layer and will not be animated over time. If you wish to show a wms layer that contains time series data, you should configure a <gridPlot> which contains a <wmsLayer> element for the layer instead. More information on configuring animated wms layers can be found on the Grid Display configuration page.

Code Block
languagexml
titleDemo with clouds Europe
<wmsLayer id="meteosat">
   <url>http://geoservices.knmi.nl/cgi-bin/METEOSAT9_DEMO.cgi?&amp;SERVICE=WMS&amp;</url>
   <geoDatum>EPSG:3857</geoDatum>
   <wmsLayerName>IR108</wmsLayerName>
   <cacheDir>$REGION_HOME$/wms_meteosat_cache</cacheDir>
</wmsLayer>


Code Block
languagexml
titleSRTM4.1 elevation map
<wmsLayer id="srtm" name="SRTM Elevations">
    <url>http://geoserver.webservice-energy.org/geoserver/mapserv/ows?</url>
    <geoDatum>EPSG:3857</geoDatum>
    <wmsLayerName>srtm</wmsLayerName>
    <visible>false</visible>
    <cacheDir>$CACHE_FOLDER$/WMSLayers/srtm</cacheDir>
</wmsLayer>


Code Block
languagexml
titleDemo Publieke Dienst op de kaart (PDOK)
<wmsLayer id="ahn2">
	<url>http://geodata.nationaalgeoregister.nl/ahn2/wms?service=wms&amp;request=getcapabilities</url>
    <geoDatum>EPSG:3857</geoDatum>
    <wmsLayerName>ahn2_5m</wmsLayerName>
	<cacheDir>$REGION_HOME$/ahn2_5m</cacheDir>
</wmsLayer>
serverShapeLayer

To make use of a Wfs or ArcSDE connection you have to use the option for serverShapeLayer. This layer supports the common shape layer elements


Image Added

layer

Definition of a GIS layer to be displayed.

Attributes;

  • id : required id of the map layer- must be unique for the current geoMap element.
  • name : optional name of the map layer defined 

Elements:

  • description : Optional description of the map layer. Used for reference purposes only.

  • className : Name of the class used in displaying the map layer. A different class is required for different types of GIS data. NOTE: Defining a class name allows advanced users to add additional display functionality to the OpenMap utility, and this being used in map displays in DELFT-FEWS. See the OpenMap documentation for details on how to add additional display classes.

  • visible : Boolean flag indicating if layer is visible by default.

  • properties : Definition of properties associated with the map layer to be displayed. Properties that need to be defined depend on the class used. At least one property must be defined. This may be a dummy property. Multiple entries may exist.

Some additional information on the elements that can be defined in properties:

  • string : Definition of a string property. An example is the definition of the geoDatum for displaying shape files using the geoDatumDisplay class.
  • key : Key to identify the property
  • Value : Value of the property defined.

Note: when displaying a shape file layer that

Code Block
titleSRTM4.1 elevation map
<wmsLayer id="srtmv4.1_s0_pyramidal_color">
 <url>http://www.webservice-energy.org/mapserv/srtm?</url>
 <wmsLayerName>srtmv4.1_s0_pyramidal_color</wmsLayerName>
 <visible>false</visible>
 <cacheDir>$CACHE_FOLDER$/WMSLayers/srtmv4.1_s0_pyramidal_color</cacheDir>
 </wmsLayer>
Code Block
titleDemo Publieke Dienst op de kaart (PDOK)
<wmsLayer id="ahn2">
	<url>http://geodata.nationaalgeoregister.nl/ahn2/wms?service=wms&amp;request=getcapabilities</url>
	<wmsLayerName>ahn2_5m</wmsLayerName>
	<cacheDir>$REGION_HOME$/ahn2_5m</cacheDir>
</wmsLayer>
serverShapeLayer

To make use of a Wfs or ArcSDE connection you have to use the option for serverShapeLayer. This layer supports the common shape layer elements

...

layer

Definition of a GIS layer to be displayed.

Attributes;

  • id : required id of the map layer- must be unique for the current geoMap element.
  • name : optional name of the map layer defined 

Elements:

  • description : Optional description of the map layer. Used for reference purposes only.

  • className : Name of the class used in displaying the map layer. A different class is required for different types of GIS data. NOTE: Defining a class name allows advanced users to add additional display functionality to the OpenMap utility, and this being used in map displays in DELFT-FEWS. See the OpenMap documentation for details on how to add additional display classes.

  • visible : Boolean flag indicating if layer is visible by default.

  • properties : Definition of properties associated with the map layer to be displayed. Properties that need to be defined depend on the class used. At least one property must be defined. This may be a dummy property. Multiple entries may exist.

Some additional information on the elements that can be defined in properties:

  • string : Definition of a string property. An example is the definition of the geoDatum for displaying shape files using the geoDatumDisplay class.
  • key : Key to identify the property
  • Value : Value of the property defined.

Note: when displaying a shape file layer that does not use WGS 1984 as the coordinate system, a property must be defined that defines the geo datum. To do this set the key value as "geoDatum" and define the coordinate system using the enumeration in Appendix B.

...

An example for a label configuration is shown below.

Code Block
languagexml
titleExample config for using label formatting options
<esriShapeLayer id="myPrettyLabelLayer">
	<file>layerFile</file>
	<label>%labelColumn%</label>
	<labelFontSize>15</labelFontSize>
	<labelFontColor>blue</labelFontColor>
	<labelBackgroundColor>red</labelBackgroundColor>
	<labelOpaqueness>20</labelOpaqueness>				
	<labelBorderColor>black</labelBorderColor>
	<labelXAttribute>labelXColumn</labelXAttribute>
	<labelYAttribute>labelYColumn</labelYAttribute>
	<lineColor>gray90</lineColor>
	<fillColor>yellow</fillColor>
	<opaquenessPercentage>25</opaquenessPercentage>
</esriShapeLayer>

Since 2017.02 for shape-layers containing points, class breaks are allowed to use icons instead of colors. If both class breaks containing icons and a pointIconId is specified, the pointIconId is used as a default when no class break applies. It is also used in the image displayed before the layer name in the layer selection panel. Note that this image will only be loaded if the layer has been loaded, i.e., was ever visible during the current session. A config example is shown below. 

Code Block
languagexml
titleExample config for using class breaks with icons for esriShapeLayer containing points
<esriShapeLayer id="myPointLayer" name="Some Points">
	<file>myPointLayer.shp</file>
	<pointIconId>default_icon.gif</pointIconId>
	<classBreaksAttributeName>ICON_ATTRIBUTE</classBreaksAttributeName>
	<classBreaks>
		<break lowerValue="0" label="low" icon="green_circle.gif"/>
		<break lowerValue="1000" label="high" icon="blue_square.gif"/>
	</classBreaks>
</esriShapeLayer> id="myPointLayer" name="Some Points">
	<file>myPointLayer.shp</file>
	<pointIconId>default_icon.gif</pointIconId>
	<classBreaksAttributeName>ICON_ATTRIBUTE</classBreaksAttributeName>
	<classBreaks>
		<break lowerValue="0" label="low" icon="green_circle.gif"/>
		<break lowerValue="1000" label="high" icon="blue_square.gif"/>
	</classBreaks>
</esriShapeLayer>


Code Block
languagexml
titleExample geomap config for using orthographic projection
<geoMap>
    <geoDatum>WGS 1984</geoDatum>
    <projection>orthographic</projection>
    <defaultExtent id="NW halfrond">
        <left>-90</left>
Code Block
languagexml
titleExample geomap config for using orthographic projection
<geoMap>
            <geoDatum>WGS 1984</geoDatum>
            <projection>orthographic</projection>
            <defaultExtent id="NW">
                <left>-90</left>
                <right>5</right>
                <top>90</top>
                <bottom>0</bottom>
            </defaultExtent>
            <scaleBarVisible>true</scaleBarVisible>
            <northArrowVisible>true</northArrowVisible><right>5</right>
            <labelsVisible>true</labelsVisible><top>90</top>
        <bottom>0</bottom>
    <backgroundColor>dark slate blue</backgroundColor></defaultExtent>
    <extraExtent id="Europa">
       <esriShapeLayer id="World"> <left>-2</left>
        <right>25</right>
        <file>cntry98<<top>75</file>top>
        <bottom>30</bottom>
    </extraExtent>
    <geoDatum>WGS 1984</geoDatum><extraExtent id="Nederland">
        <left>2</left>
        <visible>true<<right>6</visible>right>
        <top>54</top>
        <bottom>50</bottom>
    <lineColor>black<</lineColor>extraExtent>
    <scaleBarVisible>true</scaleBarVisible>
    <northArrowVisible>true</northArrowVisible>
    <labelsVisible>true</labelsVisible>
    <fillColor>dark<backgroundColor>dark oliveslate green<blue</fillColor>backgroundColor>
    <esriShapeLayer id="World">
        <<file>cntry98</esriShapeLayer>file>
        <geoDatum>WGS    <gridLayer/>1984</geoDatum>
        <visible>true</visible>
    <esriShapeLayer id="World (overlay)">
  <lineColor>black</lineColor>
        <fillColor>dark olive green</fillColor>
    <file>cntry98<</file>esriShapeLayer>
    <gridLayer/>
    <esriShapeLayer        <geoDatum>WGS 1984</geoDatum>id="World (overlay)">
        <file>cntry98</file>
        <geoDatum>WGS <visible>true<1984</visible>geoDatum>
        <visible>true</visible>
        <lineColor>black</lineColor>
                <opaquenessPercentage>0</opaquenessPercentage>
            </esriShapeLayer>
        </geoMap>


The above config example of using a orthographic projection will result in the below picture. In this picture the GFS precipitation forecast is combined with isolines of airpressure.