LogGraphicsML v1.0

Log Graphics Markup Language (LogGraphicsML) is an XML-based markup language for reusable and sharable definitions of graphic presentations of well log data.

Table of Contents

Terms of Reference
Specifications
Issues
Feedback

Terms of Reference

LogGraphicsML
An XML-based markup language for reusable definitions of graphic presentations of well log data.
LogGraphicsML document
A XML document (file, bytestream, InformationSet, DOM instance) which conforms to the LogGraphicsML specification.
application
A graphics rendering system which implements this specification. Applications are not restricted in choice of parser technology (SAX, DOM, or 'home-grown'; with or without public or application-defined DTD). The parsing of a LogGraphicsML document is therefore considered to be internal to the application.
application model
It is presumed that the application implements a tree of graphic objects, which represents all or part of a well log display, and that each object can render as its part of the display the data to which it is bound, according to presentation parameters from a LogGraphicsML document. This application model is stated for contextual reference only; no design or implementation constraints on applications is intended.
graphic object

An object which renders all or part of a well log display. (for example, a track, curve, grid, or fill area). The application creates the object, initializes it with display parameters from a well log presentation specification, binds it to well log data, and invokes its draw functionality.

The graphic objects are envisioned for this version of LogGraphicsML include the following:

  • format - the composition of well log graphic objects into a consistent two-dimensional multi-chart display. Each object is displayed in the context of a 'vertical' or index axis and a 'horizontal' or displacement axis. All objects are commonly indexed along the vertical axis, and individually indexed and scaled along the horizontal axis.
  • track - a gridded chart on which channel data is displayed. The magnitude of the channel at each index location is presented as a scaled displacement.
  • index - the independent variable corresponding to the vertical axis of the well log display. Typically well logs are indexed in depth or time.
  • channel - a data stream which is indexed consistently with the index axis. Channels are scaled and displayed against the grid of a track.
  • trace - the presentation of a channel as a polyline, with magnitude represented as displacement along the horizontal axis.
  • pip - the presentation of a channel as a sequence of tick marks, with cumulative magnitude represented as the accumulation of tick marks along the vertical axis.
  • fill - the presentation of a fill pattern between traces and/or track positions, typically used to indicate a derived magnitude.

graphic element
An element of this schema which specifies a graphic object (for example, VerticalScale, Track, Curve, LinearGrid).
property element
An element of this schema which specifies a property used to initialize the graphic object which is the element's parent, or which references it (for example, Alignment, Color, Thickness).
channel
A data stream comprised of well log measurements or computations. The 'ChannelName' in a LogGraphicsML document is a symbolic name for a type or class of channel, i. e. a token which is reusable with channels of a given type or class. The invokation of the graphics rendering system is expected to include reference to a LogGraphicsML document defining the display, as well as references to sources of channel data for the symbolic names appearing in the display definition document; for example:
    <!-- Generate LogBurst! display of Stratton 02 
         well logging run 1, pass 2, using
         standard Resistivity log presentation 0324 -->

    <Display graphicsSystem="LogBurst.exe">
      <Presentation 
          format="LogGraphicsML" version="v1.0">
        http://www.posc.org/standardPresentations/Resistivity_0324.xml
      </Presentation>
      <ChannelBinding ChannelName="Spontaneous_Potential">
        <DataSet format="LIS">
          http://www.WellLogData.com/030025012_Run_1_Pass_2.lis
        </DataSet>
        <DataChannel>SP01</DataChannel>
      </ChannelBinding>
      <ChannelBinding channelName="Shallow_Laterolog_Resistivity">...</ChannelBinding>
      <ChannelBinding channelName="Deep_Laterolog_Resistivity">...</ChannelBinding>
      <ChannelBinding channelName="Deep_Laterolog_Conductivity">...</ChannelBinding>
        ...
    </Display>
composition
The organization of diverse graphical components into a comprehensive display. For example, even the simplest well log display is typically comprised of a 'top header', two well log charts at different scales (e. g. 1":100" and 5":100"), and a 'bottom header'. LogGraphicsML defines a presentation for each log graphics component, but not for the display of non-channel data and information, and not for the organisation or presentation of the composite display.
default
For a given graphic object parameter, the expected effect on the graphic object of the corresponding property not having been specified. Three cases are noted:
  • The default is a literal value which replaces the missing value (for example, if no value is given for //LogGraphics/Font/Name, the value 'Arial' is presumed).
  • The default is a determinable value (for example, if a value is not given for //LogGraphics/WrapLineThickness, the value is ../LineThickness).
  • The default is an effect which doesn't correspond to one of the values for the property (for example, if no value is given for //LogGraphics/Track/AreaFill/FromCurveReference, the area fill begins at the left edge of the track.

The application is expected to correctly implement the default behavior for absent property elements (note that the default-augmenting behavior defined for SAX and DOM parsers using a DTD is not sufficient to provide this behavior for property elements as defined in this specification).

For example, the following XML fragments are expected to have identical effect on line thicknesses in the rendered result:
    <!-- property element present, with value -->

    <Curve UniqueId="SP01">
      <ChannelName>Spontaneous_Potential</ChannelName>
      <Thickness>0.50</Thickness>
      <WrapThickness>0.50</WrapThickness>
    </Curve ...>

    <!-- property element absent -->

    <Curve UniqueId="SP01">
      <ChannelName>Spontaneous_Potential</ChannelName>
    </Curve ...>

Specifications

W3C XML Schema for LogGraphicsML

Example

Issues

Precedence
How to determine which objects are to be 'frontmost', which are obscured by more 'frontward' objects, is undefined.
Units
Which set of units of measure mnemonics to use (RP66, Epicentre, ...) is undefined. No method of indicating the units system is defined.

Feedback

Comments and questions about this work may be directed to Jim Theriot at jim.theriot@posc.org.

Copyright © 2001 Petrotechnical Open Software Corp. All Rights Reserved.