Europe’s Information Society
eContentplus
1GE connector
Page 1 of 6
OneGeology-Europe Connector
Version Date Comments Authors
nb
V1 2009-08 First Version A. Tellez-Arenas
B. François Tertre
1 Functions of the 1GEconnector
The 1GEconnector is provided to be installed in front of a standard OGC WMS/WFS, in order
to:
Handle a language parameter (as it is required by INSPIRE)
Transform GML into GeoSciML (to implement the 1GE data model)
Handle GeoSciML attributes in ogc:filter (either in WFS getFeature requests, or in SLD
sent with a WMS GetMap requests)
The 1GEconnector is currently a test version, and it will be improved until the end of the
project.
The 1GEconnector is a Web Application running on Web Server that handle HTTP Get
requests (either WMS or WFS requests) and return responses (XML, HTML or image), as a
WMS or a WFS service (the requests are not case sensitives).
09:49 06/12/2011 Page 1 of 6
Europe’s Information Society
eContentplus
1GE connector
Page 2 of 6
1.1 When the request is a WMS of WFS GetCapabilities request
Request which the parameter request is equal to “GetCapabilities”
1. The 1GEconnector checks the parameters “service”, “version” and “lang”.
2. It then searches for a file named “getCapabilities-wms-1_1_1-fr.xml” (in the case of a
value “wms” for the service, “1.1.1” for the version, and “fr” for the lang), in the
directory configured.
3. If the file exists, it returns its content.
4. Else, it transfers the request to the standard WMS (or WFS) itself.
1.2 When the request is a WMS GetMap request
Request which the parameter request is equal to “GetMap”
1. The 1GEconnector reads the layer name parameter (LAYERS) and replaces the value
by those configured.
o Thanks to this process, a local WMS could be configured with a layer named
“0” and the 1GEconnector transforms another layer name such as
“ongeologyeuropegeologicunits” into “0”. In that case
“ongeologyeuropegeologicunits” is the visible layer name, and 0 is the
internal layer name.
2. If the request contains a SLD_BODY, the 1GEconnector parses the SLD_BODY
value, and replaces each GeoSciML attributes by the corresponding attribute
configured in the local WMS. Then it transfers the request to the local WMS. If this
WMS is ESRI, the SLD_BODY request is transformed to be understood by ESRI.
This last “ESRI SLD part” is not fully tested and has to be fixed.
o Example: the following GeoSciML attribute is replaced by the local attribute
“lower_age”:
gsml:MappedFeature/gsml:specification/gsml:GeologicUnit/gsml:preferredAg
e/gsml:GeologicEvent/gsml:eventAge/gsml:CGI_TermRange/gsml:lower/gsml:
CGI_TermValue/gsml:value
The following ogc:filter
gsml:MappedFeature/gsml:specification/gsml:Geologic
Unit/gsml:preferredAge/gsml:GeologicEvent/gsml:eventAge/gsml:CGI_TermR
ange/gsml:lower/gsml:CGI_TermValue/gsml:value
urn:cgi:classifier:ICS:StratChart:2008:MiddleJurassic
Is replaced by
09:49 06/12/2011 Page 2 of 6
Europe’s Information Society
eContentplus
1GE connector
Page 3 of 6
lower_age
urn:cgi:classifier:ICS:StratChart:2008:MiddleJurassic
3. The new request (with ogc:filter and layer name updated) is sent to the local WMS,
then its response is returned.
1.3 When the request is a WMS GetFeatureInfo request
Request which the parameter request is equal to “GetFeatureInfo”
1. The 1GEconnector reads the layer name parameter (LAYERS) and replaces the value
by those configured.
2. The request updated is sent to the local WMS.
3. If the parameter INFO_FORMAT is “text/html”, the response is directly returned.
4. If the parameter INFO_FORMAT is “application/vnd.ogc.gml” or “text/xml”, the
GML response is transformed into GeoSciML then returned, according to the
configuration. Note: in the case of an ESRI WMS, the response of the GetFeatureInfo
in application/vnd.ogc.gml is not GML. Nevertheless, the 1GEconnector is able to
transform the ESRI response into GeoSciML.
Remark: it is possible to use the 1GEconnector to transform the GML into HTML, handling
the lang parameter to partially translate the response. This option is not yet fully tested.
1.4 When the request is a WFS GetFeature request
Request which the parameter request is equal to “GetFeature”
1. The 1GEconnector reads the layer name parameter (LAYERS) and replaces the value
by those configured.
2. The 1GEconnector parses the ogc:filter, and replaces each GeoSciML attributes by the
corresponding attribute configured in the local WFS (same process as for the
GetMap).
3. The GML response is transformed into GeoSciML then returned, according to the
configuration.
1.5 Other cases
If the 1GEconnector receives any other request, it is transferred to the WMS or the WFS.
09:49 06/12/2011 Page 3 of 6
Europe’s Information Society
eContentplus
1GE connector
Page 4 of 6
PROXY
getCapabilities (WMS/WFS) • Check
+lang service/version/lang Repository
getMap (WMS)
+layerName • Change layerName
getCapabilities
+SLD (xpath) • Change path in SLD
+lang getMap WMS
getFeatureInfo
getFeatureInfo (WMS)
• Change layerName
+layerName
• Transform GML to
+lang
GeoSciML
+format
getCapabilities
WFS
getFeature
getFeature (WFS) • Change layerName
+layerName • Change path in Query
+query •Transform GML to
+lang GeoSciML
Parameters:
• layerName (original, proxy)
• equivalences (attributes / gsml_path)
• service url (by lang and service type)
2 Installation, Configuration, logs and test
2.1 Installation
The 1GEconnector is a war that has to be copied in the webapps directory of any Java Servlet
engine, such as tomcat.
We consider here that the deployment folder is /1GEconnector. In the
following explanation we call it /1GEconnector.
2.2 In the case of a single project
The simple case is when the 1GEconnector only delivers one WMS and/or one WFS.
Configuration file: /1GEconnector/WEB-INF/classes/1GEconfiguration_default.xml
To access the service: http:///1GEconnector will act as a standard
OGC web service (WMS and/or WFS)
09:49 06/12/2011 Page 4 of 6
Europe’s Information Society
eContentplus
1GE connector
Page 5 of 6
2.3 In the case of a multi project
One single installation of the 1GEconnector can implement several WMS and/or WFS, using
several configuration files.
Configuration files: /1GEconnector/WEB-
INF/classes/1GEconfiguration_.xml
To access the services:
http:///1GEconnector?CONFIG=
2.4 Configuration file structure
The dtd of XML configuration file can be found here:
/1GEconnector/1GEconfiguration.dtd
WMS/WFS parts:
In case of WMS, an extra parameter is interceptHTML, it will be used to replace the
current getFeatureInfo in format text/html to a custom getFeatureInfo generated by the
connector using the GML response
repository
o The repository is not mandatory, but allows the connector to have a caching
system for the getCapabilities file, and to have a multilingualism for the
getCapabilities
o The value of this markup is a path to the folder where the cached getCapabilities
XML files are.
o The cached getCapabilities XML files need to be named like getCapabilities-
wfs-1_0_0-en.xml, getCapabilities-wms-1_1_1-en.xml and so one.
ServerList
o The ServerList contains a list of server (can be only one server) with the
proposed language, type of server (mapserver, esri, geoserver, other), a flag to
precise if the SLD_BODY is allowed. The reserved word default precise if this
server will be used as a default server.
o Server
lang – this attribute precise the language of the server (only one language
by server, to add another language to a server, just duplicate the entire
markup server )
default – this attribute precise if the current server will be used as a
default server
type – this attribute precise the type of the server (mapserver, geoserver,
esri, other)
sldbody – this attribute is turn 0 to precise that the current server doesn’t
accept the SLD_BODY (only SLD will be used in this case)
url – this markup is used to configure the URL to accede the server.
LayerList
o The LayerList contains a list of Layer (can be only one layer) with the matching
with the layer name from original server (or the layers names if there is
multilingualism), and with the mapping between the attributes from the GML from
the original server and the attributes from the output GSML.
09:49 06/12/2011 Page 5 of 6
Europe’s Information Society
eContentplus
1GE connector
Page 6 of 6
o Layer
Name – this attribute precise the name showed by the layer in the connector.
The translation from the original name to this name is automatic in the
getCapabilities and in all requests to the connector.
originals/original – these markups are used to match to the original
name (from the original server). Multi markups can be used as you can
have one layer by language.
GeoSciML_Mapping
The mapping allows the connector to transform a GML to a GSML.
It precise the fields to use from the GML to fill the GSLM.
The mapping is composed of entry which precise the attribute
(name of the field from the GML) and the gsml_uri (uri to fill in
the GSML)
2.5 Logs
The logs are presented in two types, the first type is a classical Tomcat log, and the second is
an HTML log that can be consulted from the outside of the server.
(http:///1GEconnector/logs.jsp).
The content of these logs depends of the requested debug mode of the connector. This debug
mode is settled up in the configuration file on the root markup
(configuration_1GEconnector), with the attribute debug. To activate the debug mode, just
put the value “1” to this attribute.
3 Technologies used
The connector is a JAVA web application and uses some libraries:
From the commons Apache project (http://commons.apache.org/):
o BeanUtils (1.7.1)
o Collections (3.1)
o Digester (1.7)
o Lang (2.1)
o Logging (1.1)
Apache Log4j libraries (http://logging.apache.org/log4j/)
Apache Velocity librairies (http://velocity.apache.org/)
09:49 06/12/2011 Page 6 of 6