opengeospatial / Geotech

20 stars 8 forks source link

Procedure and the disctinction between ObservingProcedure, PreparationProcedure and SamplingProcedure #56

Open mbeaufils opened 1 year ago

mbeaufils commented 1 year ago

Definitions from OMS:

Also connected to the distinction between Sample and Specimen as discussed in #11

mbeaufils commented 1 year ago

Proposed exercice is to highlight those specialized Procedures in this "Atterberg limits determination activity". Atterberg methods and data - colorcodes.docx

It would make sense to start from the document that distinguish Sample vs Specimen as PreparationProcedure vs SamplingProcedure seems to be strongly connected to it.

dponti commented 1 year ago

Here's a cut at parsing out the descriptions attached. I noticed some errors in the original document w/respect to some terminology and formulas. I've corrected them and the original document (not colored and without the color headers is here: https://docs.google.com/document/d/11liL_cCcT9Wq5kvRQ5vTakzCw8fZ-3No/edit?usp=sharing&ouid=114776947405466202752&rtpof=true&sd=true

Annotated document is here: Atterberg.methods.and.data.-.colorcodes.docx

mbeaufils commented 1 year ago

Based on today's meeting, here is the document that highlights the different granularity we can have for the Liquid Limit Procedure (as part of the Aterberg Limit Determination).

Liquid limit detailed approach.docx

dponti commented 1 year ago

Of the alternatives posted by @mbeaufils, I prefer alternative 2 where the results recorded as part of the procedure that are intermediate to the primary observation result are accessible within an over-arching procedure object. I've played around with an object structure and encoding to simulate this, which, in retrospect should perform equally well as alternative 2 or 3. Below is a partial UML showing the primary objects and an XML instance for liquid limit and plastic limit Atterberg tests. The example uses object derived from OGC defined object (gml, gmlcov,swe,g3 namespaces).

The primary object GeotechProcess would substitute for the OMS Procedure object and can contain any number of procedural steps, each of which can record information about the specimen conditions (if a lab procedure) and intermediate results. Results are contained in the GeotechResult object which is base on the GML coverage model to allow for multiple reported properties. The same structure could conceivably beused for an Observation result See below:

Procedure Perspective - Page 1 (7)

<?xml version="1.0" encoding="UTF-8"?>

<!-- Example of an Atterberg Limits Result -->

<GeotechProcess xmlns="http://www.opengis.net/geotech/1.0"
    xmlns:gmlcov="http://www.opengis.net/gmlcov/1.0" xmlns:gml="http://www.opengis.net/gml/3.2"
    xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:g3="http://www.opengis.net/gml/3.3/ce"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.opengis.net/geotech/1.0 geotech.xsd" gml:id="AL1">
    <gml:metaDataProperty>
        <Parameter>
            <name>Laboratory</name>
            <value>Acme Geotechnical, Los Angeles, CA</value>
        </Parameter>
    </gml:metaDataProperty>
    <gml:metaDataProperty>
        <Parameter>
            <name>Lab Supervisor</name>
            <value>Barney Rubble</value>
        </Parameter>
    </gml:metaDataProperty>
    <gml:metaDataProperty>
        <Parameter>
            <name>Checker/Approver</name>
            <value>Fred Flintstone</value>
        </Parameter>
    </gml:metaDataProperty>
    <gml:name>Atterberg Limits</gml:name>
    <procedures>
        <GeotechProcedure>
            <gml:metaDataProperty>
                <Parameter>
                    <name>Lab Technician</name>
                    <value>Dino Flintstone</value>
                </Parameter>
            </gml:metaDataProperty>
            <gml:name>Natural Water Content</gml:name>
            <specification>
                <Specification>
                    <gml:name>ASTM D2216-10, Method B</gml:name>
                    <accredtingBody>ASTM International</accredtingBody>
                    <standardTitle>Standard Test Methods of Laboratory Determination of Water (Moisture) Content of Soil and Rock by Mass</standardTitle>
                    <standardNumber>D2216</standardNumber>
                    <standardVersion>10</standardVersion>
                </Specification>
            </specification>
            <specimens>
                <Specimen>
                    <sampleRef xlink:href="#B1-3.5-A-1"/>
                    <!-- Pointer to the Sample object -->
                    <conditions>
                        <SpecimenCondition>
                            <gml:description>Specimen initial weight</gml:description>
                            <wetWeight uom="g">24.3</wetWeight>
                        </SpecimenCondition>
                    </conditions>
                </Specimen>
            </specimens>
        </GeotechProcedure>
        <GeotechProcedure>
            <gml:name>Liquid Limit</gml:name>
            <specification>
                <Specification>
                    <gml:description> Wet method sample preparation, wet-sieved. Using  a manual Casagrande cup of 200 g with 0.05 mm measured groove depression <!-- Cup size could be listed as a parameter instead of as a description -->
                    </gml:description>
                    <gml:name>ASTM D 4318-10, Method (multipoint)</gml:name>
                    <accredtingBody>ASTM International</accredtingBody>
                    <standardTitle>Standard Test Methods for Liquid Limit, Plastic Limit, and Plasticity Index of Soils</standardTitle>
                    <standardNumber>4318</standardNumber>
                    <standardVersion>10</standardVersion>
                </Specification>
            </specification>
            <specimens>
                <Specimen>
                    <sampleRef xlink:href="#B1-3.5-A-2"/>
                    <!-- Pointer to the Sample object -->
                    <conditions>
                        <SpecimenCondition stage="initial extraction from sample">
                            <gml:description>Specimen initial weight</gml:description>
                            <wetWeight uom="g">170</wetWeight>
                        </SpecimenCondition>
                        <SpecimenCondition stage="after sieving through No. 40 screen">
                            <wetWeight uom="g">156</wetWeight>
                        </SpecimenCondition>
                    </conditions>
                </Specimen>
            </specimens>
            <parameters>
                <Parameter>
                    <name>Casagrande cup weight</name>
                    <value uom="g">200</value>
                </Parameter>
            </parameters>
            <proceduralResult>
                <GeotechResult>
                    <gml:domainSet/>
                    <gml:rangeSet>
                        <gml:DataBlock>
                            <gml:rangeParameters/>
                            <gml:tupleList>
                                1,17.4,32
                                2,23.1,27
                                3,28.6,22
                                4,35.2,16                            
                            </gml:tupleList>
                        </gml:DataBlock>
                    </gml:rangeSet>
                    <observedProperties>
                        <PropertySet>
                            <swe:field name="Trial_Number">
                                <ObservedProperty>
                                    <typeData>integer</typeData>
                                    <propertyClass codeSpace="www.opengis.net/geotech/propertyList.xml">trial_no</propertyClass>
                                </ObservedProperty>
                            </swe:field>
                            <swe:field name="Water_Content">
                                <ObservedProperty>
                                    <typeData>real</typeData>
                                    <propertyClass codeSpace="www.opengis.net/geotech/propertyList.xml">water_content</propertyClass>
                                    <uom>%</uom>
                                </ObservedProperty>
                            </swe:field>
                            <swe:field name="number_blows">
                                <ObservedProperty>
                                    <typeData>integer</typeData>
                                    <propertyClass codeSpace="www.opengis.net/geotech/propertyList.xml">no_blows</propertyClass>
                                </ObservedProperty>
                            </swe:field>
                        </PropertySet>
                    </observedProperties>
                </GeotechResult>
            </proceduralResult>
        </GeotechProcedure>
        <GeotechProcedure>
            <gml:name>Plastic Limit</gml:name>
            <specification>
                <Specification>
                    <gml:description> Using mechanical roller</gml:description>
                    <gml:name>ASTM D 4318-10</gml:name>
                    <accredtingBody>ASTM International</accredtingBody>
                    <standardTitle>Standard Test Methods for Liquid Limit, Plastic Limit, and Plasticity Index of Soils</standardTitle>
                    <standardNumber>4318</standardNumber>
                    <standardVersion>10</standardVersion>
                </Specification>
            </specification>
            <specimens>
               <Specimen>
                   <sampleRef xlink:href="#B1-3.5-A-2"/>
                   <!-- Pointer to the Sample object -->
               </Specimen>
           </specimens>
            <proceduralResult>
                <GeotechResult>
                    <gml:domainSet/>
                    <gml:rangeSet>
                        <gml:DataBlock>
                            <gml:rangeParameters/>
                            <gml:tupleList>
                                12.3 13.9
                            </gml:tupleList>
                        </gml:DataBlock>
                    </gml:rangeSet>
                    <observedProperties>
                        <PropertySet>
                            <swe:field name="Water_Content">
                                <ObservedProperty>
                                    <typeData>real</typeData>
                                    <propertyClass codeSpace="www.opengis.net/geotech/propertyList.xml">water_content</propertyClass>
                                    <uom>%</uom>
                                </ObservedProperty>
                            </swe:field>
                        </PropertySet>
                    </observedProperties>
                </GeotechResult>
            </proceduralResult>
        </GeotechProcedure>
    </procedures>
</GeotechProcess>
mbeaufils commented 1 year ago

Thanks @dponti I think we are speaking of the same boxes, yet organize them differently. I would summary the two approaches like this diagram.

image