Page tree

GGIC Web Services

Best Practice Cookbook

September 2015

 

-------------------------------------

1.      ISO:19115 Metadata Services  

 

  • Catalog Services for the Web (CSW)

 

All metadata records for publications, maps, datasets, and software should conform at least to the ANZLIC metadata profile of the ISO:19115 standard for metadata services. Guidelines for producing ANZLIC-compliant metadata records are here .  The ANZLIC document describes which of the ISO:19115 attributes are mandatory to comply with the ANZLIC standard, and also includes approved vocabularies for use in many of the required attributes.

 

Additional advice is given below for populating the metadata attributes that are used for specific purposes in the Geoscience Portal.

 

  • Contact information

 

  • The Geoscience Portal uses organisationName to indicate the source of a publication or dataset. 
  • Ideally, organisationName should uniquely identify the agency.  For example, “Department of Mines” is not recommended, because that agency name could come from any jurisdiction.  “Department of Mines, WA” would be preferred.
  • Do not use agency acronyms, like GSV or MRT, unless absolutely unavoidable.
  • For example:

 

    < gmd:contact>
      < gmd:CI_ResponsibleParty>
        < gmd:organisationName>
          <gco:CharacterString> Geoscience Australia </gco:CharacterString>
        </ gmd:organisationName>

 

  <gmd:contact>
    <gmd:CI_ResponsibleParty>
      <gmd:organisationName>
        <gco:CharacterString> Department of Mines and Petroleum, WA </gco:CharacterString>
      </gmd:organisationName>

 

    < gmd:contact>
      < gmd:CI_ResponsibleParty>
        < gmd:organisationName>
          <gco:CharacterString> Mineral Resources Tasmania </gco:CharacterString>
        </ gmd:organisationName>

 

  • Dataset URI

 

  • The dataSetURI attribute is not a mandatory ANZLIC attribute, but it is highly recommended to use dataSetURI to provide users with a pathway to access a dataset or publication.
  • The Geoscience Portal can use this URL to link users to the data.
  • The dataSetURI attribute should contain a URL from where a user can obtain the data or publication, potentially via a download service.  If a download service is not available, then at least provide a link to an agency website, or Customer Service Centre where the data or publication can be ordered.
  • Examples of recommended use of dataSetURI :
     

A link to a formatted web page that provides multiple download formats for a dataset:

  <dataSetURI>
      <gco:CharacterString> http://www.ga.gov.au/metadata-gateway/metadata/record/74619/

     </gco:CharacterString>
   </dataSetURI>

 

    <dataSetURI>
      <gco:CharacterString> http://www.resourcesandenergy.nsw.gov.au/miners-and-explorers/geoscience-information/projects/3D-mapping-of-NSW/new-england-orogen-3d-map#SNE3D

      </gco:CharacterString>
    </dataSetURI>

 

A link to a download page for a series of products:

   <dataSetURI>      <gco:CharacterString> http://geodownloads.dmp.wa.gov.au/seriesmapping/digitalgeology_enh2.asp
      </gco:CharacterString>
    </dataSetURI>

 

A link to an organisation’s central data downloads page:

   <dataSetURI>
      <gco:CharacterString> http://geodownloads.dmp.wa.gov.au/datacentre/datacentreDb.asp

      </gco:CharacterString>
    </dataSetURI>

 

A link to an organisation’s central product catalog web page where the product can be discovered:

   <dataSetURI>
      <gco:CharacterString> http://www.mrt.tas.gov.au/portal/products

      </gco:CharacterString>
    </dataSetURI>

 

  • Distribution Information

 

  • The MD_DigitalTransferOptions element is not a mandatory ANZLIC element, but it is highly recommended to use MD_DigitalTransferOptions to provide a link(s) to a downloadable files and web services from which data can be obtained.
  • Many different downloadable files or web services may be described.
     
  • For example, for multiple file downloads for a dataset:

 

<distributionInfo>

    <MD_Distribution>

       <transferOptions>
          <MD_DigitalTransferOptions>
            <onLine>
              <CI_OnlineResource>
                <linkage>
                  <URL> http://www.ga.gov.au/corporate_data/71390/09GA-AR1_Interpreted_Seismic_Sections.zip </URL>
                </linkage>
                <protocol>
                  <gco:CharacterString> WWW:DOWNLOAD-1.0-http--download </gco:CharacterString>
                </protocol>
                <name>
                  <gco:CharacterString> 09GA-AR1_Interpreted_Seismic_Sections.zip </gco:CharacterString>
                </name>
                <description>
                  <gco:CharacterString> 09GA-AR1 Interpreted Seismic Sections [3 MB] </ gco:CharacterString>
                </description>
                <function>
                  <CI_OnLineFunctionCode

                          codeList = "http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_OnLineFunctionCode"

                          codeListValue = "download" > download </CI_OnLineFunctionCode>
                </function>
              </CI_OnlineResource>
            </onLine>
            <onLine>
              <CI_OnlineResource>
                <linkage>
                  <URL> http://www.ga.gov.au/corporate_data/71390/09GA-AR1_Images_300dpi.zip </URL>
                </linkage>
                <protocol>
                  <gco:CharacterString> WWW:DOWNLOAD-1.0-http--download </gco:CharacterString>
                </protocol>
                <name>
                  <gco:CharacterString> 09GA-AR1_Images_300dpi.zip </gco:CharacterString>
                </name>
                <description>
                  <gco:CharacterString> 09GA-AR1 Images 300dpi resolution [15 MB] </ gco:CharacterString>
                </description>
                <function>
                  <CI_OnLineFunctionCode

                      codeList = "http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_OnLineFunctionCode"

                      codeListValue = "download" > download </CI_OnLineFunctionCode>
                </function>
              </CI_OnlineResource>
            </onLine>
            <onLine>
              <CI_OnlineResource>
                <linkage>
                  <URL> http://www.ga.gov.au/corporate_data/71390/09GA-AR1_Survey_Maps.zip </URL>
                </linkage>
                <protocol>
                  <gco:CharacterString> WWW:DOWNLOAD-1.0-http--download </gco:CharacterString>
                </protocol>
                <name>
                  <gco:CharacterString> 09GA-AR1_Survey_Maps.zip </gco:CharacterString>
                </name>
                <description>
                  <gco:CharacterString> 09GA-AR1 Survey Maps [79 MB] </gco:CharacterString>
                </description>
                <function>
                  <CI_OnLineFunctionCode

                         codeList = "http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_OnLineFunctionCode"

                         codeListValue = "download" > download </CI_OnLineFunctionCode>
                </function>
              </CI_OnlineResource>
            </onLine>

 

  • For example, to provide a web service endpoint as an OnlineResource for a dataset:

 

<distributionInfo>

    <MD_Distribution>

       <transferOptions>
          <MD_DigitalTransferOptions>
            <onLine>
              <CI_OnlineResource>
                <linkage>
                       <URL> http://www.ga.gov.au/gis/services/earth_science/GA_Onshore_Seismic_Surveys/
                                   MapServer/WMSServer?request=GetCapabilities &amp; service=WMS </URL>
                </linkage>
                <protocol>
                  <gco:CharacterString> OGC:WMS </gco:CharacterString>
                </protocol>
                <name>
                  <gco:CharacterString> Geoscience Australia Onshore Seismic Surveys WMS </gco:CharacterString>
                </name>

                <description>
                  <gco:CharacterString> Geoscience Australia Onshore Seismic Surveys WMS </gco:CharacterString>
                </description>
                <function>
                  <CI_OnLineFunctionCode codeList = "http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_OnLineFunctionCode"
                                                                 codeListValue = "information" > information </CI_OnLineFunctionCode>
                </function>
              </CI_OnlineResource>

 


2.      WMS and WFS Services – general best practice

 

  • Web Service validation

    Always independently validate your web service outputs (eg, GetCapabilities, GetFeature, GetFeatureInfo, GetLegend) using an XML validation tool (eg, Oxygen, XMLSpy) or similar application.  Service validation should also include testing in various different GIS client applications (eg, ArcMap, QGis, Mapinfo, Gaia, AuScope Portal).  In particular, test services in an application that is independent of the web service server application (eg, test ArcGIS Server services outside of ArcMap).

    Validation will identify errors in XML encoding in GetCapabilities documents, missing mandatory attributes in WFS services, and incorrect population of some elements like gml:id and elements that use enumerated lists.
     
  • URI’s (ie, URN’s and URL’s)
     
    • Always deliver URL’s in preference to URN’s.  URN’s are not recommended because they cannot be resolved without special applications, whereas URL’s should resolve in a standard browser.
       
    • Never deliver a URI in a WFS or WMS element where human-readable text is expected.
       
    • Encode both URL and human readable text when delivering vocabulary terms.  For example, most vocabulary terms in EarthResourceML v2+ and GeoSciML v3+ are encoded using xlink:href and xlink:title.  For example:


<classification xlink:href = "http://resource.geoscience.gov.au/classifier/ggic/minocc-classification/epithermal" xlink:title = "epithermal" />
 

  • Do not show a URL or URN to a human user in a web application unless it is completely unavoidable.  If only a URL or URN is delivered in any WFS element, then it should be resolved into something human readable within the application.

 

  • “Unknown” values

    In WMS and WFS attributes, use OGC “nil” values for various type of unknowns.

-           above detection range

-           below detection range

-           inapplicable

-           missing

-           template

-           unknown

-           withheld
 

  • Remember to use the human-readable terms in schema properties that expect text terms, and URI’s where a schema property expects a URI.

 

For examples:

<er:expression xlink:href = "http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title = "unknown" />

 

<gsmlp:driller> unknown </gsmlp:driller>

 

  • WMS GetFeatureInfo response

    Where possible, provide a well-formatted HTML response for WMS GetFeatureInfo requests.  This entails examining the default settings from WMS server applications to see if the formatting is appropriate for your data.  For example, the default Geoserver and ArcGIS Server format is a very wide horizontal table format which is not good for WMS layers with a large number of attributes. 

    For example:

 

 

Both Geoserver and ArcGIS Server allow you to specify a HTML stylesheet to provide your GetFeatureInfo response in a more user-friendly format. 

For example, a vertical table:



 


3.      WMS GetCapabilities

 

  • The OneGeology Cookbook No 1 is a good general guide for setting up a geoscience WMS. Although it contains some items that are very specific to OneGeology’s portal needs, it does contain some good advice for WMS services in general.

 

  • Rule #1 - Don’t Rely on Default GetCapabilities Settings from Your WMS Server Application


Always check the default values in the GetCapabilities document that is generated by your WMS application (ie, Geoserver, ArcGIS Server).  ESRI in particular generates a particularly poor quality default WMS GetCapabilities that does not meet best practice guidelines.  For an ArcGIS Server WMS, it is best to manually edit the default GetCapabilities document.

 

NOTE:   Beware copy-and-paste from MS Word documents, or using other non-ASCII sources for GetCapabilities documents.  Non-ASCII characters (like fancy quote marks and en-em dashes) will not render properly in a GetCapabilities document.

 

  • WMS Service Name , Title , Abstract  (mandatory for the web service)

    Service Name is defined by the OGC specification:
    • for WMS v1.1.1 = OGC:WMS
    • for WMS v1.3.0 = WMS

 

eg:   <Service>
            <Name> WMS </Name>

 

Title and Abstract are a human-readable elements for the web service.  They should formatted like a publication’s citation title and abstract (ie, with correct capitalisation, grammar, and spaces between words), and should accurately reflect the entire content of the WMS service (ie, if there are many different data layers in the service).  Some AuScope web services have grown incrementally from services that were design only for NVCL boreholes or mineral occurrences into services that include mines, boreholes, tenements and other things. 

 

eg:     The GSV WMS title and abstract service should be something like:

 

   <Title> Geological Survey of Victoria – Geoscience Data WMS </Title>
           <Abstract> Geoscience data layers from the Geological Survey of Victoria. The service includes boreholes (including those scanned for the National Virtual Core Library) , mineral occurrences, mineral tenements, and geochemical samples </Abstract>

 

not:

   <Title> NVCL OGC WMS Services </Title>
           <Abstract> WMS services setup to be consumed by the National Virtual Core Library </Abstract>              

  • WMS Layer Name , Title, Abstract  (mandatory for each layer)

    Layer Name is designed for machine-to-machine communication and is used to uniquely identify a WMS layer in a URL request.  As such, Name does not have to be human-readable, but it helps if it can be interpreted by a human.  ArcGIS Server will default the layer Names in a WMS to simple integer numbers, beginning at zero.  This is technically conformant to the WMS standard, but as some web applications incorrectly display layer Name to human users, it is best to use a human-interpretable Name .

    As for Service Title , the Layer Title is designed to be read by a human, and should be formatted like a human would expect to read it with correct capitalisation, grammar, and spaces between words.  A good web application should only display Title to a human user.  eg:

 

<Name> TotalMagneticIntensity2015_greyscale </Name>
<Title> Total Magnetic Intensity greyscale image - 2015 </Title>
 

Each layer should have a descriptive abstract, similar to a publication citation.
 

  • Service Keywords

    Use keywords to describe the WMS and its individual data layers, if possible from an agreed vocabulary.  Keywords are used by web applications and users to discover services of interest.  (NOTE:  GGIC need to agree on a keyword vocabulary for geoscience datasets.)
    • A very limited ANZLIC keyword list exists.
    • The Australian Bureau of Statistics “ Fields of Research ” classification is a better list.
    • Record the location of the keyword vocabulary in the “vocabulary” attribute.
    • For example:

 

<KeywordList>
   <Keyword vocabulary = "http://www.abs.gov.au/ausstats/abs@.nsf/0/
                                 6BB427AB9696C225CA2574180004463E?opendocument" > Geochronology </Keyword>
   <Keyword vocabulary = "http://www.ga.gov.au" > sedimentology </Keyword>
</KeywordList>
 

  • Service OnlineResource
     

This element should contain a URL link to refer to a web page of the data provider.  Some examples:

 

<OnlineResource xlink:href = "http://www.ga.gov.au" />

 

<OnlineResource xlink:href = "http://www.resourcesandenergy.nsw.gov.au/miners-and-explorers/
                                                         geoscience-information" />

 

  • Bounding Box Extents and WMS versions

    … to be continued
     
  • Supported Spatial Reference Systems (or Coordinate Reference Systems)

 

Geoserver, by default, includes every supported spatial reference system (SRS or CRS) in the GetCapabilities document, despite most of these SRS’s being inappropriate for Australian data.  This makes for a very, very long default GetCapabilities document.

 

In contract, ArcGIS Server, by default, only describes a very few supported SRS’s in its default GetCapabilities document, despite being able to project its web services to virtually every known projection.  This may be a problem for some client applications that expect to see a list of supported SRS projections in the GetCapabilities document.  It is recommended to include a list of relevant EPSG projections in the ArcGIS Server GetCapabilities document.  At a minimum, applications that use the Google Maps API (ie, the AuScope and Geoscience Portals) require EPSG:3857 to be supported.  An example SRS/CRS list might look like:
 

<CRS> EPSG:4283 </CRS>   <!-- GDA94 lat-long -->
<CRS> EPSG:4326 </CRS>   <!-- WGS84 lat-long -->
<CRS> CRS:84 </CRS>   <!-- WGS84 with reversed coordinate order -->
<CRS> EPSG:3857 </CRS>   <!-- Web Mercator WGS84 -->
<CRS> EPSG:28348 </CRS>   <!-- GDA94 / MGA  zone 48 -->
<CRS> EPSG:28349 </CRS>   <!-- GDA94 / MGA  zone 49 -->
<CRS> EPSG:28350 </CRS>   <!-- GDA94 / MGA  zone 50 -->
<CRS> EPSG:28351 </CRS>   <!-- GDA94 / MGA  zone 51 -->
<CRS> EPSG:28352 </CRS>   <!-- GDA94 / MGA  zone 52 -->
<CRS> EPSG:28353 </CRS>   <!-- GDA94 / MGA  zone 53 -->
<CRS> EPSG:28354 </CRS>   <!-- GDA94 / MGA  zone 54 -->
<CRS> EPSG:28355 </CRS>   <!-- GDA94 / MGA  zone 55 -->
<CRS> EPSG:28356 </CRS>   <!-- GDA94 / MGA  zone 56 -->
<CRS> EPSG:28357 </CRS>   <!--GDA94 / MGA zone 57-->
<CRS> EPSG:28358 </CRS>   <!--GDA94 / MGA zone 58-->
<CRS> EPSG:32748 </CRS>   <!--WGS84 / UTM zone 48S-->
<CRS> EPSG:32749 </CRS>   <!--WGS84 / UTM zone 49S-->
<CRS> EPSG:32750 </CRS>   <!--WGS84 / UTM zone 50S-->
<CRS> EPSG:32751 </CRS>   <!--WGS84 / UTM zone 51S-->
<CRS> EPSG:32752 </CRS>   <!--WGS84 / UTM zone 52S-->
<CRS> EPSG:32753 </CRS>   <!--WGS84 / UTM zone 53S-->
<CRS> EPSG:32754 </CRS>   <!--WGS84 / UTM zone 54S-->
<CRS> EPSG:32755 </CRS>   <!--WGS84 / UTM zone 55S-->
<CRS> EPSG:32756 </CRS>   <!--WGS84 / UTM zone 56S-->
<CRS> EPSG:32757 </CRS>   <!--WGS84 / UTM zone 57S-->
<CRS> EPSG:32758 </CRS>   <!--WGS84 / UTM zone 58S-->
<CRS> EPSG:3031 </CRS>   <!--WGS84 / Antarctic Polar Stereographic-->
<CRS> EPSG:3032 </CRS>   <!--WGS84 / Australian Antarctic Polar Stereographic-->
 

  • Layer MetadataURL   (optional, but highly recommended)
     

For each data layer in a WMS, this element should contain a URL link to a source of metadata about the layer, which uses the ISO:19115 metadata standard.  The ISO:19115 record can be delivered in any format (eg, XML, HTML, PDF).  This element can also be very useful for directing users to a location where the data can be downloaded, as file download links can be included in the ISO:19115 record  (see the section about ISO:19115 metadata services in this document).

NOTE: The MetadataURL element is particularly used by the Geoscience Portal to provide extended metadata about a data layer. 

 

For example:

 

<MetadataURL>
   <Format> text/html </Format>
   <OnlineResource xlink:href = " http://www.ga.gov.au/metadata-gateway/metadata/record/74619 " />
</MetadataURL>
 

  • Layer DataURL  (optional, but highly recommended)

 

If an metadata record cannot be provided for the data layer in ISO:19115 format, then a link to a non-standards compliant metadata record can be provided here for the data layer.  The DataURL is effectively equivalent to the DatasetURI attribute in a ISO:19115 metadata record. For example:

 

<DataURL>
   <Format> text/html </Format>
   <OnlineResource xlink:href = " http://earthresources.efirst.com.au/product.asp?pID=1125&cID=12 " />

</DataURL>

 

It could also point directly to a downloadable file.  For example:
 

<DataURL>
   <Format> text/html </Format>
   <OnlineResource xlink:href = " http://www.nt.gov.au/d/Minerals_Energy/Geoscience/Content/File/

250k/NWMusgraveGeol250kM.zip " />

</DataURL>

 

If you can’t provide a specific download URL for each data layer, then you could provide a generic data download endpoint for all your web services data.  For example:

 

<DataURL>
   <Format> text/html </Format>
   <OnlineResource xlink:href = " http://geodownloads.dmp.wa.gov.au/datacentre/datacentreDb.asp " />
</DataURL>

 

  • Styles and Legends

    The Style section of a GetCapabilities document allows a data provider to deliver more than one way to symbolise a WMS layer, and describes how a WMS layer legend is to be delivered.  Each style has a Name and Title (same formatting rules apply as for Layer Name and Title ). 

 

If a data layer has only one style, then the style Name is typically “default”.  Use style name/title that reflect the purpose of the style, and avoid flippant style titles – ie: not like this

           <Style>

<Name> point </Name>
<Title> A boring default style </Title>
<Abstract> A sample style that just prints out a purple square </Abstract>

 

Legends WMS data layers can be generated “on-the-fly” by a standard WMS GetLegendGraphic request to the WMS application server. However, these legends are often poor quality, and default WMS application settings may render some GetLegendGraphic legends virtually unreadable.  It is highly recommended that a simple cartographically produced legend be provided as an image file (jpg or png) for each WMS data layer. 
 

For example:

  • a default ArcGIS Server legend generated by a GetLegendGraphic request:
     


 

  • a cartographically produced jpg legend for the same data layer:

    <Style>
      <Name> default </Name>
      <Title> Sedimentary Basins - Neoproterozoic to Paleozoic legend </Title>
      <LegendURL width = "244" height = "87" >
        <Format> image/jpeg </Format>
        <OnlineResource xlink:href = "http://www.ga.gov.au/gis/server/capabilities/
              SedimentaryBasins-NeoproterozoicPaleozoic.jpg" />
      </LegendURL>
    </Style>

    SedimentaryBasins-NeoproterozoicPaleozoic.jpg (183×248)  

 

  • an example of a complex legend for a geological map
     

<Style>
  <Name> Surface_Geology_of_Australia_lithostratigraphy </Name>
  <Title> Surface Geology of Australia - lithostratigraphy </Title>
  <LegendURL width = "1414" height = "1000" >
    <Format> image/jpeg </Format>
    <OnlineResource xlink:href = "http://www.ga.gov.au/gis/server/capabilities/
               Surface_geology_legend_2012.jpg" />
  </LegendURL>
</Style>

 


4.      WFS GetCapabilities

 

…. to be continued

 

 


5.      Mineral Occurrences – Portrayal WFS and WMS

 

  • Only simple mineral occurrence information is delivered using MinOccML via WFS and WMS.  MinOccML is not designed to deliver the full complexity of multi-commodity mineral deposits.  Use the EarthResourceML schema for more complex mineral deposit descriptions.
     
  • Data standard: MinOccML v1.0

 

  • The agreed GGIC (AuScope) commodity vocabulary needs to be redeveloped using URL’s, not URN’s, with exact match tags added to map to the CGI Commodity vocabulary (impending release in late 2015).

 

  • Few of the MinOccView attributes are mandatory (only identifier, shape, and the “uri” attributes), but GGIC best practice is to populate as many of the schema attributes as possible where data exists.
     
  • It is intended that the Geoscience Portal tools will operate on the following attributes:
    • name
    • earthResourceType_uri
    • commodityClassifier_uri

so every effort should be made to populate at least those attributes where data exists.

 

  • Example WFS GetFeature encoding:

 

<wfs:FeatureCollection
    xmlns:wfs = "http://www.opengis.net/wfs"
    xmlns:mo = "http://xmlns.geoscience.gov.au/minoccml/1.0"
    xmlns:xlink = "http://www.w3.org/1999/xlink"
    xmlns:gml = "http://www.opengis.net/gml"
    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" numberOfFeatures = "1"
    timeStamp = "2015-09-21T03:51:35.717Z" xsi:schemaLocation = "http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd http://xmlns.geoscience.gov.au/minoccml/1.0 http://schemas.geoscience.gov.au/MinOccML/1.0/minoccml.xsd" >
<gml:featureMembers>


<mo:MinOccView gml:id = "ga.mineraloccurrence.001254" >  

<!-- gml:id is an alpha-numeric (ie; not just numbers) unique identifier -->


<mo:identifier> http://www.geoscience.gov.au/feature/ga/mineraloccurrence/ga.mineraloccurrence.001254 </mo:identifier>

<!-- A unique URL that resolves to this xml document -->


<mo:name> Example Deposit </mo:name>  

<!-- Human readable name of the deposit, mineralised zone or occurrence, not the associated mine.  If unnamed, construct a human-readable label for the occurrence, like “unnamed occurrence 1254”, not a url or urn. -->

 

<mo:earthResourceType> deposit </mo:earthResourceType>  

<!—Free text. Preferably, use the CGI vocabulary "skos:prefLabel" for the Mineral Occurrence Type from http://resource.geosciml.org/classifier/cgi/mineral-occurrence-type/ -->


<mo:commodity> Au, Cu </mo:commodity>   

<!—Free text. If more than one commodity exists in the mineral occurrence, concatenate them with commas. Human readable text, not urn or url. -->

 

<mo:mineName> Perseverance Mine </mo:mineName>

<!— Human readable name of an associated mine, not a url or urn. -->

 

<mo:geologicHistory> Early to Late Cambrian </mo:geologicHistory>  

<!-- Human-readable geological age of the mineral occurrence. -->

 

<mo:mineralDepositModel> Epithermal Au </mo:mineralDepositModel>

<!-- Human-readable term to classify origin of the mineralisation. eg; from Cox & Singer or similar classification scheme.  -->

 

<mo:earthResourceShape> lenticular </mo:earthResourceShape>  

<!-- Human-readable term to classify the typical geometric shape of the mineral occurrence (e.g. lenticular, pipelike, irregular etc) -->

 

<mo:hostGeologicUnit> Hervey Group </mo:hostGeologicUnit>   

<!-- Name or description of the host geologic unit. Human readable text, not urn or url. -->


<mo:totalOreAmount> 102 Mt @ 4.5 g/t Au </mo:totalOreAmount>   

<!-- Text string. Units of measure should be included in the string. -->


<mo:totalReserves> unknown </mo:totalReserves>  

<!-- The economically mineable part of a Measured and/or Indicated Mineral Resource. Text string - units of measure should be included in the string. -->


<mo:totalResources> 102 Mt @ 4.5 g/t Au </mo:totalResources>  

<!-- A concentration or occurrence of material in such form, quality and quantity that there are reasonable prospects for eventual economic extraction. Text string - units of measure should be included in the string. -->


<mo:observationMethod> mining company supplied location </mo:observationMethod>   

<!-- Human readable free text descriptor of the observation method. eg; global positioning system, published map, field observation, aerial photography, unknown. -->


<mo:positionalAccuracy> 50 metres </mo:positionalAccuracy>  

<!-- Human readable free text descriptor of accuracy. eg; accurate, approximate, unknown, 5 metres, 1 kilometre. -->


<mo:earthResourceType_uri> http://resource.geosciml.org/classifier/cgi/mineral-occurrence-type/deposit </mo:earthResourceType_uri>

<!-- Use the CGI vocabulary at http://resource.geosciml.org/classifier/cgi/mineral-occurrence-type.

 

<mo:commodityClassifier_uri> http://resource.geosciml.org/classifier/cgi/commodity/Au

  </mo:commodityClassifier_uri>  

<!-- A URL to identify the major commodity to allow filtering and thematic mapping of commodities. Use URL from an agreed vocabulary -->


<mo:representativeAge_uri> http://resource.geosciml.org/classifier/ics/ischart/Cambrian </mo:representativeAge_uri> 

<!-- A URL to identify the representative age of the mineralisation. Use an agreed vocabulary, eg; http://resource.geosciml.org/classifier/ics/ischart/2014  -->


<mo:representativeOlderAge_uri> http://resource.geosciml.org/classifier/ics/ischart/Fortunian </mo:representativeOlderAge_uri>

<!-- A URL to identify the representative age of the mineralisation. Use an agreed vocabulary, eg; http://resource.geosciml.org/classifier/ics/ischart/2014  -->


<mo:representativeYoungerAge_uri> http://resource.geosciml.org/classifier/ics/ischart/Furongian
</mo:representativeYoungerAge_uri>

<!-- A URL to identify the representative age of the mineralisation. Use an agreed vocabulary, eg; http://resource.geosciml.org/classifier/ics/ischart/2014  -->


<mo:mineralDepositModel_uri> http://www.opengis.net/def/nil/OGC/0/missing

</mo:mineralDepositModel_uri> 

<!-- A URL to identify the deposit classification used at <mineralDepositModel>, from an agreed vocabulary. eg; Cox & Singer or similar -->


<mo:hostGeologicUnit_uri> http://dbforms.ga.gov.au/pls/www/geodx.strat_units.sch_full?wher=stratno=25947 </mo:hostGeologicUnit_uri>

<!-- A URL to represent the host geological unit that is named at <mo:hostGeologicUnit>.  Ideally, this would link to a GeoSciML WFS feature description, but it could also link to any other resolvable URL such as the one shown -->


<mo:earthResourceSpecification_uri> http://www.mrt.tas.gov.au/resource/feature/mrt/mineraloccurrence/1254734 </mo:earthResourceSpecification_uri>


<mo:shape>
   <gml:Point srsDimension = "2" srsName = " http://www.opengis.net/def/crs/EPSG/0/4283" >
       <gml:pos> 145.181132551295 -41.5099510254563 </gml:pos>
   </gml:Point>
</mo:shape>


     </mo:MinOccView>
  </gml:featureMembers>
</wfs:FeatureCollection>

 


6.      EarthResourceML WFS services

 

  • Recommended to update all AuScope ERML v1 services to ERML v2. 
    • released in October 2013 (2 years ago)
    • some bugs in the v1 data model been resolved in v2, and
    • ERML v2 introduces more consistency in the use of the xlink:href/xlink:title pattern to encode vocabulary terms (ie, URL’s and human-readable values). 

 

  • Always deliver a human readable name in all ERML v1 gml:name elements, not just a URL. For example:
     

<er:Mine gml:id = "er.mine.101027" >
    <gml:name codeSpace = "http://www.resources.nsw.gov.au/minerals" > Dobroyde Prospect </gml:name>

    <gml:name codeSpace = "http://www.ietf.org/rfc/rfc2616" > http://gsnsw.arrc.csiro.au/resource/feature/
          gsnsw/mine/101027 </gml:name>
 

  • In ERML v2, use gml:identifier to deliver the URI identifier, and gml:name to deliver the human-readable name.

 

<gml:identifier codeSpace = "http://www.ietf.org/rfc/rfc2616" > http://gsnsw.arrc.csiro.au/resource/feature/
          gsnsw/mine/101027 </gml:identifier>
<gml:name codeSpace = "http://www.resources.nsw.gov.au/minerals" > Dobroyde Prospect </gml:name>

 

… to be continued


7.      Mineral Tenements – Portrayal WFS and WMS

 

 

  • It is intended that the Geoscience Portal tools will operate on the following attributes:
    • name
    • tenementType
    • status
    • applicationDate
    • grantDate

so every effort should be made to populate at least those attributes where data exists.

 

  • Example WFS GetFeature encoding:

 

<mt:MineralTenement
    xmlns:mt = "http://xmlns.geoscience.gov.au/mineraltenementml/1.0"
    xmlns:xlink = "http://www.w3.org/1999/xlink"
    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
    xmlns:gml = "http://www.opengis.net/gml"
    xsi:schemaLocation = "http://xmlns.geoscience.gov.au/mineraltenementml/1.0

                               http://schemas.geoscience.gov.au/MineralTenementML/1.0/mineraltenementml.xsd" >


<mt:identifier> http://data.geoscience.gov.au/resource/feature/ga/mineraltenement/123abc58567 </mt:identifier>

<!--  Mandatory. A globally unique identifier for the tenement.  Ideally, the identifier will be a URL that will resolve to this XML feature in the WFS. -->


<mt:name> EL63/2015 </mt:name>  

<!-- GGIC mandatory. The name of the tenement. -->


<mt:tenementType> exploration licence </mt:tenementType>  

<!-- GGIC mandatory. Free text string.  The local term used to classify the type of tenement, chosen from the approved GGIC Tenement Type vocabulary. All local State/Territory terms are in the approved vocabulary - http://resource.geoscience.gov.au/vocabulary/2015/tenement-type.rdf -->


<mt:commodity> Gold and other precious metals </mt:commodity>  

<!-- GGIC mandatory. A free text string to deliver commodity information about the tenement. -->


<mt:owner> Geo Exploration Pty Ltd </mt:owner>  

<!-- GGIC mandatory. A free text string to deliver the owner (grantee) of the tenement. -->


<mt:status> pending </mt:status>  

<!-- GGIC mandatory. Free text string.  The local term used to classify the status of the tenement, chosen from the approved GGIC Tenement Status vocabulary. All local State/Territory terms are in the approved vocabulary - http://resource.geoscience.gov.au/vocabulary/2015/tenement-status.rdf -->


<mt:area> 27.5 sq kms </mt:area>   

<!-- GGIC optional. A free text string to deliver the size of the tenement. Needs to include the unit of measure in the text string (eg, sq kms, blocks, hectares). This attribute is not in a numeric format, and has no standard unit of measure, so is not useable as a search filter. But most, or all, jurisdictions should still be able to deliver this information.  -->


<mt:applicationDate> 2014-11-19 </mt:applicationDate>  

<!-- GGIC mandatory if data exists. Use ISO standard date format. -->


<mt:grantDate> 2015-01-08 </mt:grantDate>   

<!-- GGIC mandatory if data exists. Use ISO standard date format. -->


<mt:expireDate> 2017-01-07 </mt:expireDate>   

<!-- GGIC mandatory if data exists. Use ISO standard date format. -->


<mt:fileID> 24281z23 </mt:fileID>  

<!-- GGIC optional. A local file ID related to the tenement.  -->


<mt:genericSymbolizer/>

<!-- GGIC optional.  This can be used to deliver a code or similar with which the feature can be symbolised. Not used for Geoscience Portal purposes. Feel free to omit this attribute altogether. -->


<mt:tenementType_uri> http://resource.geoscience.gov.au/classifier/ggic/tenement-type/exploration-licence </mt:tenementType_uri>  

<!-- GGIC mandatory. MUST use URI value from the GGIC Tenement Type vocabulary, using the format shown.  This value will be used for symbolisation and filtering in the Geoscience Portal. The vocabulary is hierarchical so that all local jurisdiction terms are covered by parent values of type = "exploration" or "production.  -->


<mt:status_uri> http://resource.geoscience.gov.au/classifier/ggic/tenement-status/pending </mt:status_uri >

<!-- GGIC mandatory. MUST use URI value from the GGIC Tenement Status vocabulary, using the format shown.  This value will be used for symbolisation and filtering in the Geoscience Portal. The vocabulary is hierarchical so that all local jurisdiction terms are covered by parent values of status = "granted" or "application".  -->

 

<mt:jurisdiction_uri> http://www.myagency.gov.au/</ mt:jurisdiction_uri>  

<!-- GGIC mandatory. URL to jurisdiction website. -->
 

<mt:shape>

<!-- GGIC mandatory -->

   <gml:Polygon srsDimension = "2" srsName = "http://www.opengis.net/def/crs/EPSG/0/4283" >  

<!-- Use the standard OGC URL encoding pattern for EPSG codes. EPSG URN codes are still valid, but we are moving away from using URN’s as a general practice. -->
      <gml:exterior>
         <gml:LinearRing srsDimension = "2" >
            <gml:posList> 145.278660993645 -41.85236731493909 145.277937680526 -41.87937538087959 145.306965906809 -41.87937754399609 145.336680620719 -41.87941383898959 145.278660993645 -41.85236731493909 </gml:posList>
         </gml:LinearRing>
      </gml:exterior>
   </gml:Polygon>
</mt:shape>
</mt:MineralTenement>

 


8.      Borehole – Portrayal WFS and WMS

 

 

  • GeoSciML v4, which will include an updated GeoSciML-Portrayal schema, is due to be published in late 2015.  Minimal changes are expected for the borehole portrayal schema in GeoSciML v4, so upgrading to the new version should be fairly painless.

 

  • The BoreholeView schema is used to constrain delivery of only simple borehole header information via WFS and WMS.  Very few of the BoreholeView attributes are mandatory (only identifier, specification_uri, metadata_uri, and shape), but GGIC best practice is to populate as many of the schema attributes as possible.

 

  • It is intended that the Geoscience Portal tools will operate on the following attributes:
    • name
    • drillStartDate
    • nvclCollection
    • tenement
    • project

so every effort should be made to populate at least those attributes where data exists.

 

  • Example WFS GetFeature encoding:

 

<wfs:FeatureCollection
    xmlns:gsmlp = "http://xmlns.geosciml.org/geosciml-portrayal/2.0"
    xmlns:ggic = "http://xmlns.geoscience.gov.au/ggic/1.0"
    xmlns:xlink = "http://www.w3.org/1999/xlink"
    xmlns:gml = "http://www.opengis.net/gml"
    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
    xmlns:wfs = "http://www.opengis.net/wfs"
    xsi:schemaLocation = "http://xmlns.geosciml.org/geosciml-portrayal/2.0 http://schemas.geosciml.org/geosciml-portrayal/2.0/geosciml-portrayal.xsd http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
    timeStamp = "2014-09-11T15:15:37.785+08:00" numberOfFeatures = "1" gml:id = "GA.borehole.123456" >
<gml:featureMembers>
  <BoreholeView xmlns = "http://xmlns.geosciml.org/geosciml-portrayal/2.0" >

 

<identifier> http://data.geoscience.gov.au/feature/ga/boreholeView/GA.borehole.123456 </identifier>

<!—Mandatory. Ideally, the identifier is resolvable; else use a unique ID, eg: GA.borehole.123456. -->


<name> Kingfisher 1A </name>

<!-- Human readable name, not URI. -->


<description> petroleum borehole; water bore </description>

<!-- Free text description of the borehole. -->


<purpose> petroleum - exploration; groundwater - hydrological </purpose>

<!-- Free text. If there is more than one purpose, concatenate them with commas. If null in source database, use "unknown". -->


<status> plugged and abandoned </status>

<!-- Free text, but can use a community-agreed vocabulary term. If null in source database, use "unknown". -->


<drillingMethod> core diamond, rotary drilling </drillingMethod>

<!-- Free text, but can use community-agreed vocabulary term(s). If more than one drilling method, concatenate them with commas. If null in source database, use "unknown". -->


<operator> BHP Petroleum </operator>

<!-- Owner/operator of the borehole. If null in source database, use "unknown". -->


<driller> Smith's Drilling Contractors </driller>

<!-- Drilling contractor. If null in source database, use "unknown". -->


<drillStartDate> 2013-12-27 </drillStartDate>

<!-- Best practice to use ISO date format (without time). If only a year is known, provide the year only. If null in source database, use "unknown". -->


<drillEndDate> 2014-01-28 </drillEndDate>

<!-- Best practice to use ISO date format (without time). If only a year is known, provide the year only. If null in source database, use "unknown". -->


<startPoint> offshore </startPoint>

<!-- Free text, but can use a community-agreed vocabulary term. If null in source database, use "unknown". -->


<inclinationType> inclined down </inclinationType>

<!-- Free text, but can use a community-agreed vocabulary term -->


<boreholeMaterialCustodian> Geoscience Australia, Geological Survey of Western Australia
       </boreholeMaterialCustodian>

<!-- Free text. Name of the agency or agencies that are custodians of borehole materials (eg, core, cuttings). -->


<boreholeLength_m> 276.3 </boreholeLength_m>

<!-- Total length (ie, TD) of the borehole in metres. If null in source database, use "unknown". -->


<elevation_m> 56.7 </elevation_m>

<!-- Collar elevation in metres above the elevation datum supplied in elevation_srs. If null in source database, use "unknown".-->


<elevation_srs> EPSG:5711 </elevation_srs>

<!-- Vertical crs/datum used to located borehole collar. Australian Height Datum is EPSG:5711.  If null in source database, use "unknown".-->


<positionalAccuracy> 50 metres </positionalAccuracy>

<!-- Free text. A description of the accuracy of the borehole location. (eg, accurate, approximate, 1 km, 50 metres) -->


<source> National Offshore Petroleum Information System (NOPIMS) </source>

<!-- Free text describing details or citations of source materials for the borehole. It may provide URLs to reference material and publications describing the borehole. -->


< specification_uri> http://data.geoscience.gov.au/feature/ga/borehole/GA.borehole.123456 </specification_uri>

<!-- Mandatory. URL link that resolves to a full GeoSciML Borehole feature. If none is available, use http://www.opengis.net/def/nil/OGC/0/missing. -->


<metadata_uri> http://www.geoscience.gov.au/boreholes_metadata.html </metadata_uri>

<!-- Mandatory. URL link to a location that provides more information about the borehole. If none is available, use http://www.opengis.net/def/nil/OGC/0/missing. -->

 

<genericSymbolizer/> <!-- Optional.  This can be used to deliver a code or similar with which the feature can be symbolised. Not used for Geoscience Portal purposes. Feel free to omit this attribute altogether. -->

 

<shape>

<!-- Mandatory. 2D or 3D location of borehole collar. ie, the point at which the borehole enters the Earth surface. -->

   <gml:Point srsDimension = "2" srsName = "http://www.opengis.net/def/crs/EPSG/0/4283" >

<!—eg, srsName = URL to GDA94 in OGC online repository. -->
       <gml:coordinates> 125.3755328 -21.69853 </gml:coordinates>

<!-- Order of coordinates: longitude, then latitude. Negative latitude value for southern hemisphere. -->
    </gml:Point>
</shape>


<!-- Insert any extra GGIC attributes hereafter... -->


<nvclCollection> true </nvclCollection> 

<!-- A "true" or "false" term to indicate if a borehole has been Hylogger scanned and is in the National Virtual Core Library collection. -->


<project> North-West Shelf Drilling Project - 2013 </project> 

<!-- Insert any extra GGIC attributes hereafter... -->


<tenement> ELA7465 </tenement> 

<!-- name of an exploration or production tenement on which the borehole is drilled... -->


<legislation> OPSSG Act 1957 </legislation> 

<!-- name of an Act or other legislation under which the drilling took place. -->

 

      </BoreholeView>
   </gml:featureMembers>
</wfs:FeatureCollection>

 


9.      GeoSciML Borehole WFS services

 

  • All GGIC/AuScope GeoSciML boreholes services currently use the old GeoSciML v2 schema.  GeoSciML v3 was released in 2013, and GeoSciML v4 will be published in late 2015.  It is recommended to upgrade all GGIC/AuScope GeoSciML boreholes to GeoSciML v4.

 

… to be continued

 

 

-------------------------------