310 likes | 407 Views
XML for geoscience data – standards-based developments. Simon Cox CSIRO Exploration & Mining http://www.ned.dem.csiro.au/CoxSimon/. Tenement Map – Mines Dept. Geological Map - GSWA. Magnetic Anomaly Map - AGSO. http. Assay data - Contractor. DEM, Hydro, Infra - AUSLIG.
E N D
XML for geoscience data – standards-based developments Simon Cox CSIRO Exploration & Mining http://www.ned.dem.csiro.au/CoxSimon/
Tenement Map – Mines Dept Geological Map- GSWA Magnetic Anomaly Map - AGSO http Assay data -Contractor DEM, Hydro,Infra - AUSLIG Geospatial data in the web world • Internet is an extension of the desktop
Geoscience Data types • maps • geophysical surveys & images, remote sensing • drill-holes (3-D, 1-D) • interpreted geology (3-D) • ore-body-models, block-models (3-D) • CAD mine-plan, pit-shells, shafts & driveways, stopes (3-D) • plant, trucks (4-D?) • samples, assay data • reports (0-D) • etc …
Open geospatial standards • OpenGIS Consortium (OGC) • Industry oriented membership consortium • Open specifications • ISO is abstract level, OGC is implementation level • Accelerated development cycle • technical committee meets bimonthly “web year” • Based on Feature model
OGC’s Web-based geospatial specifications • Web Feature Service • Web Map Service XML (GML) gif, jpeg, png, ... • Registry/Catalog • Coverages • Annotations • Geospatial Fusion Services
Request - WFS Feature server client Response - GML ArcSDE ArcIMS datastore Open Geospatial Services ArcXML Oracle,filesystem, ObjectStoreetc ...
Standardised XML-based languages • MathML • SVG- Scalable Vector Graphics – 2-D graphics • X3D- VRML in XML – 3-D graphics • SMIL - Synchronized Multimedia Integration Language – TV on the web • WML - Wireless Markup Language – the Web on your cellphone • XHTML – webpages on speed • SOAP, UDDI, WSDL, XML/EDI - B2B components • MRML - Mind Reading Markup Language • ArcXML - request/response/portrayal codes in ArcIMS transactions • XML customised for Geoscience information?
OGC’s Geography Markup Language • Encoding ISO/OGC Feature Model • Serving features with semantics over http • Lossless data transfer in other contexts • e.g. between desktop tools, sneakernet • GML 2.0 – 20 Feb 2001 (Eds. Cox, Cuthbert, Lake & Martell) • W3C XML Schema • GML is used in an application schema • i.e. a domain-specific feature-catalogue
eXploration & Mining Markup Language • GML for geoscience • uses open software standards • compatible with open infrastructure standards • multiple vendor support • Semantics match geoscience requirements
Request - WFS Feature server client Response - GML datastore Open Geospatial Services • XMML is GML-for-geoscience • Development requires • domain expertise • community agreeement Geoscience data - XMML
Priority feature types • Samples – geochemistry, assays, (geochronology?) • Drillholes • Geophysics • Grid, TIN, point-sampled “coverages” • Solid geology, structure • Maps? • Stratigraphy & classifications? • Wrappers for “reports” and other textual data?
Section view Map view Example Feature Type: drillhole Observations • Collar Location (Point Property) • Shape (Linestring Property)
GML Components • Use GML components in domain-specific feature-types
Section view Map view • Point observations • Horizons • Intervals • Continuous logs All these are “logs” • Samples Position is 1-D • arc-length from collar Example Feature Type: drillhole Observations • Collar Location (Point Property) • Shape (Linestring Property) • Survey
Coding a drillhole in GML <xmml:Borehole gml:fid="CGQ-0001" … > <gml:boundedBy> … </gml:boundedBy> <md:metadata> … </md:metadata> <xmml:collarLocation> <gml:Point> … </gml:Point></xmml:collarLocation> <xmml:holeShape> … </xmml:holeShape> <xmml:holeLog> <xmml:HoleSurvey gml:fid="survey1"> <map:points> <map:PointArray … /> </map:points> <xmml:orientations> <xmml:TangentList … /> </xmml:orientations> </xmml:HoleSurvey> </xmml:holeLog> <xmml:holeLog> <xmml:PointLog gml:fid="log1"> <gml:name>CONTACTS</gml:name> <map:points> <map:PointArray … /> </map:points> <map:observations> <osf:ObservationSet osf:count="12“ osf:scheme="ContactCodes … /> </map:observations> </xmml:PointLog> </xmml:holeLog> <xmml:relatedFeature> <xmml:Sample gml:fid="SAMP-03"> <xmml:location xlink:href="#xpointer(id('contactLocations'))“ … /> … <osf:observationProperty> <osf:Code osf:scheme="schemes.xml#SampMaterial">Till</osf:Code> </osf:observationProperty> </xmml:Sample> </xmml:relatedFeature> <xmml:holeLog> <xmml:IntervalLog gml:fid="log8"> <gml:name>Setup</gml:name> <map:patches> <xmml:IntervalSet osf:count="2“> … </xmml:IntervalSet> </map:patches> <map:observations> <osf:ObservationSet osf:count="2"> … </osf:ObservationSet> </map:observations> </xmml:IntervalLog> </xmml:holeLog> <xmml:holeLog><xmml:PointLog gml:fid="log9"> … </xmml:PointLog> </xmml:holeLog> </xmml:Borehole>
Why use GML based encoding? • Open data standard • Not limited to single vendor architecture • Clients will access data from multiple servers in single session • Any WFS conformant server: Oracle SDO, ArcIMS, MapInfo server • Supports domain-specific semantics • “drillhole” not “linestring” • Common coding for 3-D, 2-D, 0-D • customised using W3C XML Schema • Separate meaning from presentation
Support • GML • OGC members - Oracle, Intergraph, MapInfo, ESRI, POSC, IBM, Microsoft ... • Adopters - Ordnance Survey, US Census Bureau, NSW (CANRI) • XMML • $ - MERIWA, Fractal Graphics, CSIRO, WMC, Placer-Dome, Snowdens, AGSO + state surveys, BGS? • In-kind - RCI, Surpac, Fugro, Micromine, Terra Search, Metech, Pasminco • Collaborators - CGKN , USGS
XMML + WFS applications • Data download from web • All Survey and Open-file data can be delivered in common format • Geoscience data mixed and matched with data from any WFS compliant server • Data upload through web • data to contractor for processing, order-form to lab for analysis • between agencies into consolidated data-stores • Statutory reporting – “features” loaded direct into data-store • Archive • metadata & data use same technology • Lossless data transfer, on desktop, over the web • Multiple exploration software applications • Inter-office collaboration • Applications developers can focus on their distinctive features • E-business friendly • Transaction control, security provided by generic web-business tools
Summary • Data sharing in Geology, Exploration & Mining • between apps, between orgs • Leverage internet technology • B2B infrastructure, XML for data • Leverage open multi-vendor spatial technology • “Feature” data model, GML standard, web-hosted service model • XMML “tagset” for geology and mining • rich semantics, customised to domain
More information? • Website http://www.ned.dem.csiro.au/XMML/ • Mailing list http://www.ned.dem.csiro.au/mailman/listinfo/xmml-public/ • Documentation http://www.ned.dem.csiro.au/XMML/docs/
Pro’s and cons of Feature Model? • Feature model matches modern GIS applications • AM/FM, telecoms, marketing • … but has performance limitations for continuously varying properties (c.f. categorical properties) • E.g. Geophysics –look at “functional-mapping” approach • O-O model looks like a good match to Geology • “mine”, “ore-deposit”, “fault”, “bed”, “formation” • … but early binding sometimes requires interpretative judgements • Change feature-type? • Change classification? Classification level? • Use just for transfer • Your local application will almost certainly need a different datamodel natively
Map + legend Feature? Feature-type? “Accompanying Memoir” An alternative O-O model • NADM - North American Data Model for geologic maps • USGS/GSC working group A complete NADM object Spatial item(occurrence) Description(Observations andmeasurements) Concept(classification, type) • All occur at instance-level of model • Associations between these generate object semantics • enforces another level of indirection …
Analysing a dataset title header - various components body of report, with references to supporting material
HTML presentation markup <html> <head> <title>Sample report</title> </head> <body> <h1>Sample Report</h1> <img align="right" src=“mugshot.jpg"> <h2><i>J. Q. Geologist</i></h2> <h3>Huge Resources <br>PO Box 999<br>Digemup<br>WA</h3> <p><i>Created:</i> 1999-11-08 <br><i>Last Modified:</i> 1999-12-01</p> <hr> <img align="right" src="locmap.gif"> <p>We report the results of a drilling program. The <a href="log.dbf">drill-log</a> database and <a href="chem.xls">assay</a> results are available separately. </p> <p>Etc ...</p> </body> </html>
XML semantic markup <xml> <report id=“259”> <cite> <title>Sample Report</title> <author> <name>J. Q. Geologist</name> <portrait src="jqg.jpg” /> </author> <organisation>Huge Resources</organisation> <address> <street>PO Box 999</street> <locality>Digemup</locality> <state>WA</state> </address> <date type="created">1999-11-08</date> <date type="modified">1999-12-01</date> </cite> <related label="drill log database" href="log.dbf” /> <related label="assays" href="chem.xls” /> <description>We report the results of a drilling program</description> <map src="locmap.gif” /> </report></xml>
XML - structured data in clear-text <contacts> <person id=“RogersonRick”> <name> <given>Rick</given> <family>Rogerson</family> </name> <affiliation> <name>GSWA</name> <address> … </address> </affiliation> </person> <person id=“RootJonathon”> … </person> <person id=“HortonMike”> … </person> … </contacts> <drillhole id=“we368> <collar north=“369.5” east=“114” elev=“342” /> <survey> <observation depth=“5” azimuth=“141” incl=“85” /> <observation depth=“19” azimuth=“135” incl=“87” /> <observation depth=“29” azimuth=“130” incl=“88” /> ... </survey> <log> <interval top=“7” bottom=“13”> <lith scheme=“AGSO” code=“62” /> <cu method=“A” value=“256” /> <au method=“C” value=“2.5” /> </interval> <interval top=“13” bottom=“21”> <lith scheme=“AGSO” code=“64” /> <cu method=“A” value=“134” /> <au method=“C” value=“1.8” /> </interval> … </log> ... </drillhole>
XML benefits • Structured data, clear-text, self-describing, web compatible • Standard (free) software components – • parsers & libraries • easy to upgrade legacy applications software • Standard (free) transformation tools • data display format (HTML, SVG, X3D) • data other data formats (Shapefile, CSV) • Enables clean separation of content and presentation • Name your own tags • machine readable schemas (DTD, XML Schema, Schematron)
transformation XSLTrules SVG Visualisation presentation X3D information Report Stylingprocessor HTML CSV shapefile XML Schema data model validation Legacy Applic- ations Standard processing pipeline • One data file many output formats Data in XML (XMML)