Earth Resource Markup Language (ERML) - Overview for Melbourne Science Hackfest
- If you were looking for the NVCL dataset information for Melbourne Science Hackfest, it can be found at NVCLGovHackOverview
This page is for participants in Melbourne Science Hackfest
who are interested in creating a mashup of the ERML data. This page provides a quick introduction to the ERML data, services and its use. If you are looking for the full overview then you can find it at EarthResourceDeployments
What is ERML?
Earth Resource Markup Language (ERML), is an information model
for describing relationships between concepts like mines, minerals and commodities. In AuScope a community of data providers spread all over Australia have agreed to expose their data publicly using the ERML model. Each one of these data providers has their own proprietary schema for modelling mining data which would normally be a pain for consumers of the data. The use of ERML means there is a consistent way to query and receive the information - much easier!
The ERML model itself is broken up into a series of concepts (Mines, Commodities) where each of these concepts has one or more complex relationships with other concepts. For instance, every Mine will have one or more Commodities (think Gold, Silver, Iron) along with information describing how much of each commodity has been extracted. If you are familiar with UML then the following schema should outline all of the relationships, if UML isn't your thing then don't worry too much, this is only to give you a rough idea of the relationships between concepts.
The ERML Model
How to query it
As mentioned, ERML is a complex model and is queryable through a OGC Web Feature Service (WFS)
interface. The WFS interface exposes a variety of feature types which correspond to the above concepts. A feature type is analogous to an object in Object Oriented Programming, it has a defined set of attributes which may be comprised of further feature types. A WFS allows you to query for instances of a particular feature type and have those instances be returned as XML encoded features.
As an example, the ERML WFS instances expose a feature type called MiningFeatureOccurrence
. This feature type contains spatial geometry and references to a Mine which allows you to georeference a specific instance of a Mine. For simplicity's sake, let's just request the first two instances of the MiningFeatureOccurrence
with the following query:
Courtesy of the Department of Mines and Petroleum Western Australia
Of course, if all we could do was request the first X instances of a feature type then WFS wouldn't be very useful. What WFS also allows you to do is generate OGC Filter queries
and embed them in a WFS request. Filters allow you to ask questions like, "are there any mines within this region of interest" or "are there any mines created after 2005". To make an filter query within your WFS query, you'll want to switch to HTTP POST requests, to test out a filter simply POST the following to a WFS:
POST the below to http://geossdi.dmp.wa.gov.au/services/wfs to get the first two mines whose status is 'Not Operating'
<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature service="WFS" version="1.1.0" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:er="urn:cgi:xmlns:GGIC:EarthResource:1.1" maxFeatures="2">
<wfs:Query typeName="er:MiningFeatureOccurrence" srsName="EPSG:4326">
<gml:lowerCorner>110 -13 </gml:lowerCorner>
<gml:upperCorner>130 -36 </gml:upperCorner>
For more detailed information, see: OGC WFS specification OGC Filter specification
Some of the service are set up with WMS support(As described in the next section
WMS support for app schema is a feature supported by Geoserver and more information can be found below
As descibed in the Geoserver documentation
, there are many ways to provide filtering for wms
- Inlining the filter in a Get request
- Post the filter in a Post request
- Inline a sld that contains the filter request in a Get request
- Post a sld containing the filter in a Post request
Going through each of the methods above is out of scope for this write up. Please refer to the GeoServer documentation
for more information
Below is an example of a SLD we used in a post WMS request to filter a WMS request.
<?xml version="1.0" encoding="UTF-8"?>
<ogc:PropertyIsLike escapeChar="!" wildCard="*" matchCase="false" singleChar="#" >
Below is a basic sample request without filtering and uses the default SLD in the setup.
ERML providers expose the following feature types:
| Feature Type
|| Information about a single commodity (mineral) extracted from the ground.
|| Maps a MineralOccurrence to a spatial location
|| Represents an extracted amount of a particular commodity.
|| Metadata describing a mine
|| A mining activity is an instance of mining that produced some commodity.
|| Maps a Mine to a spatial location.
Geoscience Western Australia
Primary Industries and Resources South Australia
Northern Territory Geological Survey
Mineral Resources Tasmania:
Department of Primary Industries New South Wales
: - http://gsnsw.arrc.csiro.au/gsnsw-earthresource/wfs
Where is it used?
The AuScope Portal
is a web based GIS portal for displaying spatial data sets like ERML. To see it in action please visit the portal
and click on any of the red markers.
- 31 May 2012
- 07 Jul 2014
- 18 Feb 2016