-
Notifications
You must be signed in to change notification settings - Fork 8
Play with the FROST Geotech plugin
The SensorThings API has very powerful query features that keep easy things easy, but still allow very complex requests. A good starting explanation on how to query the SensorThings API can be found at the Getting Data section on the FROST-Documentation website.
This page is about relevant queries you may do with the FROST Geotech plugin
The simplest queries are those that fetch a list of all entities of a type. For instance, getting a list of all the geotechTests (Mapped to Sensor in STA):
https://[FrostGeotechServerAddress]/v1.1/Sensors
Or to get all borehole collars:
https://[FrostGeotechServerAddress]/v1.1/BhCollarThings
To get a single entity from a list, add (<id>)
to the URL of the list. To get the geoTechTest (Sensor) with id 1
:
https://[FrostGeotechServerAddress]/v1.1/Sensors(1)
Or to get the borehole collar with id 42
:
https://[FrostGeotechServerAddress]/v1.1/BhCollarThings(42)
To get a list of entities related to a certain entity, one can navigate along relations. for instance, to get all Datastreams for Sensor (geoTechTest) with id 1
:
https://[FrostGeotechServerAddress]/v1.1/Sensors(1)/Datastreams
Or to get the Trajectories related to borehole collar 1
:
https://[FrostGeotechServerAddress]/v1.1/BhCollarThings(1)/BhTrajectoryThings
Or to get the Datastreams related to a Trajectory 1
:
https://[FrostGeotechServerAddress]/v1.1/BhTrajectoryThings(1)/Datastreams
And from there, to get the Observations related to a Datastream 1
:
https://[FrostGeotechServerAddress]/v1.1/Datastreams(1)/Observations
All lists can be filtered using the $filter parameter.
To get a list of all the geotechTests that are of type CPT (sensorType https://data.geoscience.fr/ncl/Proc/86
):
https://[FrostGeotechServerAddress]/v1.1/Sensors?$filter=sensortype eq 'https://data.geoscience.fr/ncl/Proc/86'
Get the results of the available DataStreams associated to my Geotechtest organised this way : (Depth, Result for property 1, Result for property 2, ...)
https://ogc-demo.k8s.ilt-dmz.iosb.fraunhofer.de/FROST-GeoTech/v1.1/BhTrajectoryThings(9)?
$select=name&
$expand=BhSamplings(
$orderBy=atPosition;
$select=atPosition,time;
$expand=BhSamples(
$top=1;
$select=name;
$expand=Observations(
$top=3;
$select=result,phenomenonTime;
$expand=Datastream(
$select=unitOfMeasurement;
$expand=ObservedProperty(
$select=name
)
)
)
)
)
Get this same result in csv
is Currently not possible unfortunately, but Hylke has plans for it.
Get the CPT tests in this perimeter that match this lithology (Rock)
Given that BhTrajectoryThings(9) is the trajectory with the CPT test:
https://ogc-demo.k8s.ilt-dmz.iosb.fraunhofer.de/FROST-GeoTech/v1.1/BhTrajectoryThings(9)/BhSamplings?
$filter=BhTrajectoryThing/BhCollarThing/RelatedBhCollarThings/BhTrajectoryThings/BhSamplings/BhSamples/Observations/result eq 'Rock'
and atPosition gt BhTrajectoryThing/BhCollarThing/RelatedBhCollarThings/BhTrajectoryThings/BhSamplings/fromPosition
and atPosition lt BhTrajectoryThing/BhCollarThing/RelatedBhCollarThings/BhTrajectoryThings/BhSamplings/toPosition
Get the results of those same CPT tests
https://ogc-demo.k8s.ilt-dmz.iosb.fraunhofer.de/FROST-GeoTech/v1.1/BhTrajectoryThings(9)/BhSamplings?
$filter=BhTrajectoryThing/BhCollarThing/RelatedBhCollarThings/BhTrajectoryThings/BhSamplings/BhSamples/Observations/result eq 'Rock'
and atPosition gt BhTrajectoryThing/BhCollarThing/RelatedBhCollarThings/BhTrajectoryThings/BhSamplings/fromPosition
and atPosition lt BhTrajectoryThing/BhCollarThing/RelatedBhCollarThings/BhTrajectoryThings/BhSamplings/toPosition&
$expand=BhSamples($expand=Observations)
- About the Borehole IE and Sampling Boreholes
- Geometry considerations
- Features properties vs observations
- A brief introduction to ISO 19148 and ISO 19156
- Enabling linear referencing based observations
- Conceptual Borehole Model
- A brief introduction to GeoSciML
- Extending gsml:GeologicUnit
- Extending gsml:ShearStructureDisplacement
- Extending gsml:Fold
- Extending gsml:Contact
- Adding gsml:GeotechUnit
- Extending gsml:Joint
- A brief introduction to GroundWaterML2
- Extending gwml2:HydroGeoUnit
- Extending gwml2:FluidBody
- Extending gwml2:FluidBodySurface
- Extending gwml2:HydroGeoVoid
- A brief introduction to LandInfra and InfraGML
- Reusing InfraGML:Alignment
- Extending InfraGML:Facility and FacilityPart