Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
mbeaufils opened this issue Feb 2, 2023 · 5 comments

Comments

@mbeaufils
Copy link
Collaborator

mbeaufils commented Feb 2, 2023

Definitions from OMS:

  • ObservingProcedure: description of steps performed in order to determine the value of an observableProperty by an Observer. More details provided in ObservingProcedure #34

  • PreparationProcedure: description of preparation steps performed on a Sample.

  • SamplingProcedure: description of steps performed by a Sampler in order to extract a Sample from its sampledFeature in the frame of a Sampling.

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

@mbeaufils
Copy link
Collaborator Author

mbeaufils commented Feb 2, 2023

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
Copy link
Collaborator

dponti commented Feb 9, 2023

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
Copy link
Collaborator Author

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
Copy link
Collaborator

dponti commented Feb 16, 2023

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
Copy link
Collaborator Author

mbeaufils commented Feb 16, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants