Soil API¶
SoilAPI ¶
Bases: API
HTTP client for the soil endpoints of the OWI metadatabase.
Examples:
Initialize the soil API client.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
api_subdir
|
str
|
API sub-path appended to the base root. |
"/soildata/"
|
**kwargs
|
Forwarded to :class: |
{}
|
Examples:
Source code in src/owi/metadatabase/soil/io.py
Functions¶
get_proximity_entities_2d ¶
Find entities within a 2D radius around a geographic point.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
api_url
|
str
|
Endpoint suffix for the proximity query. |
required |
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Search radius in kilometers. |
required |
**kwargs
|
Additional query filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with |
Raises:
| Type | Description |
|---|---|
InvalidParameterError
|
If invalid query values are provided. |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> with patch.object(SoilAPI, 'process_data', return_value=(pd.DataFrame({'id': [1]}), {'existance': True})):
... out = api.get_proximity_entities_2d('testlocationproximity', 50.0, 2.0, 1.0)
>>> out['exists']
True
Source code in src/owi/metadatabase/soil/io.py
get_closest_entity_2d ¶
get_closest_entity_2d(
api_url,
latitude,
longitude,
radius_init=1.0,
target_srid="25831",
**kwargs,
)
Return the nearest entity in 2D for a given endpoint.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
api_url
|
str
|
Endpoint suffix for the proximity query. |
required |
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius_init
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID used for metric distance calculations. |
"25831"
|
**kwargs
|
Additional query filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with nearest entity metadata and full data table. |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> sample = pd.DataFrame({'id': [1], 'title': ['A'], 'easting': [2.0], 'northing': [50.0]})
>>> with patch.object(SoilAPI, '_search_any_entity', return_value=sample):
... out = api.get_closest_entity_2d('test', 50.0, 2.0)
>>> int(out['id'])
1
Source code in src/owi/metadatabase/soil/io.py
get_closest_entity_3d ¶
get_closest_entity_3d(
api_url,
latitude,
longitude,
depth,
radius_init=1.0,
target_srid="25831",
sampletest=True,
**kwargs,
)
Return the nearest entity in 3D for a given endpoint.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
api_url
|
str
|
Endpoint suffix for the proximity query. |
required |
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
depth
|
float
|
Reference depth in meters below seabed. |
required |
radius_init
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID used for metric distance calculations. |
"25831"
|
sampletest
|
bool
|
Whether rows are sample tests (uses |
True
|
**kwargs
|
Additional query filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with nearest entity metadata and full data table. |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> sample = pd.DataFrame({'id': [1], 'title': ['A'], 'easting': [2.0], 'northing': [50.0], 'depth': [5.0]})
>>> with patch.object(SoilAPI, '_search_any_entity', return_value=sample):
... out = api.get_closest_entity_3d('test', 50.0, 2.0, depth=5.0)
>>> int(out['id'])
1
Source code in src/owi/metadatabase/soil/io.py
get_surveycampaigns ¶
Retrieve survey campaigns, optionally filtered by project site.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str or None
|
Project site name. |
None
|
**kwargs
|
Additional query filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> payload = (
... pd.DataFrame({'title': ['C1']}),
... {'existance': True, 'id': None, 'response': None},
... )
>>> with patch.object(SoilAPI, 'process_data', return_value=payload):
... out = api.get_surveycampaigns(projectsite='Demo')
>>> out['exists']
True
Source code in src/owi/metadatabase/soil/io.py
get_surveycampaign_detail ¶
Retrieve details for a single survey campaign.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str
|
Project site name. |
required |
campaign
|
str
|
Survey campaign title. |
required |
**kwargs
|
Additional query filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> payload = (pd.DataFrame({'title': ['C1']}), {'existance': True, 'id': 3, 'response': None})
>>> with patch.object(SoilAPI, 'process_data', return_value=payload):
... out = api.get_surveycampaign_detail('P', 'C1')
>>> int(out['id'])
3
Source code in src/owi/metadatabase/soil/io.py
get_proximity_testlocations ¶
Retrieve test locations within a radius around a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Radius in kilometers. |
required |
**kwargs
|
Additional query filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> prox = {'data': pd.DataFrame(), 'exists': False}
>>> with patch.object(SoilAPI, 'get_proximity_entities_2d', return_value=prox):
... out = api.get_proximity_testlocations(50.0, 2.0, 1.0)
>>> out['exists']
False
Source code in src/owi/metadatabase/soil/io.py
get_closest_testlocation ¶
Retrieve the closest test location around a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID for metric distance calculations. |
"25831"
|
**kwargs
|
Additional query filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary including selected |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> closest = {'data': pd.DataFrame(), 'id': 1, 'title': 'A', 'offset [m]': 0.0}
>>> with patch.object(SoilAPI, 'get_closest_entity_2d', return_value=closest):
... out = api.get_closest_testlocation(50.0, 2.0)
>>> out['id']
1
Source code in src/owi/metadatabase/soil/io.py
get_testlocations ¶
Retrieve geotechnical test locations matching search filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str or None
|
Project site filter. |
None
|
campaign
|
str or None
|
Survey campaign filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> payload = (pd.DataFrame({'title': ['L1']}), {'existance': True, 'id': None, 'response': None})
>>> with patch.object(SoilAPI, 'process_data', return_value=payload):
... out = api.get_testlocations(projectsite='P')
>>> out['exists']
True
Source code in src/owi/metadatabase/soil/io.py
get_testlocation_detail ¶
Retrieve details for a specific geotechnical test location.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
location
|
str
|
Location title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> payload = (pd.DataFrame({'title': ['L1']}), {'existance': True, 'id': 10, 'response': None})
>>> with patch.object(SoilAPI, 'process_data', return_value=payload):
... out = api.get_testlocation_detail('L1')
>>> int(out['id'])
10
Source code in src/owi/metadatabase/soil/io.py
testlocation_exists ¶
Check whether a test location exists and return its id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
location
|
str
|
Location title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Location id when found; otherwise |
Examples:
>>> from unittest.mock import patch
>>> api = SoilAPI(token="dummy")
>>> payload = (None, {'existance': True, 'id': 4, 'response': None})
>>> with patch.object(SoilAPI, 'process_data', return_value=payload):
... out = api.testlocation_exists('L1')
>>> int(out)
4
Source code in src/owi/metadatabase/soil/io.py
get_insitutest_types ¶
Retrieve available in-situ test types.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with available test type rows and existence flag. |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> payload = (
... pd.DataFrame({'title': ['PCPT']}),
... {'existance': True, 'id': None, 'response': None},
... )
>>> with patch.object(SoilAPI, 'process_data', return_value=payload):
... out = api.get_insitutest_types()
>>> out['exists']
True
Source code in src/owi/metadatabase/soil/io.py
insitutest_type_exists ¶
Check whether an in-situ test type exists and return its id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
testtype
|
str
|
In-situ test type title. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Type id when found; otherwise |
Examples:
>>> from unittest.mock import patch
>>> api = SoilAPI(token="dummy")
>>> payload = (None, {'existance': False, 'id': None, 'response': None})
>>> with patch.object(SoilAPI, 'process_data', return_value=payload):
... out = api.insitutest_type_exists('PCPT')
>>> out
False
Source code in src/owi/metadatabase/soil/io.py
get_insitutests ¶
Retrieve in-situ tests matching provided filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Test location filter. |
None
|
testtype
|
str or None
|
In-situ test type filter. |
None
|
insitutest
|
str or None
|
In-situ test title filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with in-situ test summary rows and existence flag. |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> payload = (pd.DataFrame({'title': ['CPT-1']}), {'existance': True, 'id': None, 'response': None})
>>> with patch.object(SoilAPI, 'process_data', return_value=payload):
... out = api.get_insitutests(projectsite='P')
>>> out['exists']
True
Source code in src/owi/metadatabase/soil/io.py
get_proximity_insitutests ¶
Retrieve in-situ tests in a radius around a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Radius in kilometers. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with in-situ test rows and existence flag. |
Examples:
>>> from unittest.mock import patch
>>> import pandas as pd
>>> api = SoilAPI(token="dummy")
>>> prox = {'data': pd.DataFrame(), 'exists': False}
>>> with patch.object(SoilAPI, 'get_proximity_entities_2d', return_value=prox):
... out = api.get_proximity_insitutests(50.0, 2.0, 1.0)
>>> out['exists']
False
Source code in src/owi/metadatabase/soil/io.py
get_closest_insitutest ¶
Return the closest in-situ test for a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID for metric distance calculations. |
"25831"
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with selected test metadata and candidate data. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_closest_insitutest_byname ¶
Return the closest in-situ test around a named location.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str
|
Project site name. |
required |
location
|
str
|
Location title. |
required |
radius
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID for metric distance calculations. |
"25831"
|
**kwargs
|
Additional test filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with selected in-situ test metadata. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the location is not found. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_closest_soilprofile_byname ¶
get_closest_soilprofile_byname(
projectsite,
location,
radius=1.0,
target_srid="25831",
retrieve_details=True,
verbose=True,
**kwargs,
)
Return the closest soil profile around a named location.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str
|
Project site name. |
required |
location
|
str
|
Location title. |
required |
radius
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID for metric distance calculations. |
"25831"
|
retrieve_details
|
bool
|
Return full profile details when |
True
|
verbose
|
bool
|
Print selected profile info. |
True
|
**kwargs
|
Additional profile filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Closest profile summary or full detail dictionary. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the location is not found. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 | |
get_insitutest_detail ¶
get_insitutest_detail(
insitutest,
projectsite=None,
location=None,
testtype=None,
combine=False,
**kwargs,
)
Retrieve detail records for a single in-situ test.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insitutest
|
str
|
In-situ test title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
testtype
|
str or None
|
Test type filter. |
None
|
combine
|
bool
|
Merge raw and processed tables on depth when |
False
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with summary, raw/processed/condition tables and status. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_cpttest_detail ¶
get_cpttest_detail(
insitutest,
projectsite=None,
location=None,
testtype=None,
combine=False,
cpt=True,
**kwargs,
)
Retrieve CPT test details and optionally build a CPT object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insitutest
|
str
|
CPT in-situ test title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
testtype
|
str or None
|
Test type filter. |
None
|
combine
|
bool
|
Merge raw and processed tables on depth when |
False
|
cpt
|
bool
|
Build and include a |
True
|
**kwargs
|
Forwarded to CPT object loading. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilCptDetailResult
|
Detail dictionary with optional |
Examples:
Source code in src/owi/metadatabase/soil/io.py
989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 | |
insitutest_exists ¶
Check whether an in-situ test exists and return its id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
insitutest
|
str
|
In-situ test title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
testtype
|
str or None
|
Test type filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Test id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_soilprofiles ¶
Retrieve soil profile summaries matching search filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
soilprofile
|
str or None
|
Soil profile title filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Summary table and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_proximity_soilprofiles ¶
Retrieve soil profiles within a radius around a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Radius in kilometers. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Profile summary table and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_closest_soilprofile ¶
Return the closest soil profile for a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID for metric distance calculations. |
"25831"
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with selected profile metadata. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_soilprofile_detail ¶
get_soilprofile_detail(
projectsite=None,
location=None,
soilprofile=None,
convert_to_profile=True,
profile_title=None,
drop_info_cols=True,
**kwargs,
)
Retrieve soil profile details and optional Groundhog conversion.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
soilprofile
|
str or None
|
Soil profile title filter. |
None
|
convert_to_profile
|
bool
|
Convert detail rows to |
True
|
profile_title
|
str or None
|
Custom title for converted profile. |
None
|
drop_info_cols
|
bool
|
Drop informational columns before conversion. |
True
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Detail dictionary with optional converted profile object. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 | |
soilprofile_exists ¶
Check whether a soil profile exists and return its id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
soilprofile
|
str
|
Soil profile title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Profile id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
soiltype_exists ¶
Check whether a soil type exists and return its id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
soiltype
|
str
|
Soil type name. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Soil type id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
soilunit_exists ¶
Check whether a soil unit exists and return its id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
soilunit
|
str
|
Soil unit name. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
soiltype
|
str or None
|
Soil type filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Soil unit id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_soilunits ¶
Retrieve soil units matching search filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str or None
|
Project site filter. |
None
|
soiltype
|
str or None
|
Soil type filter. |
None
|
soilunit
|
str or None
|
Soil unit filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Soil unit rows and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_batchlabtest_types ¶
Retrieve available batch lab test types.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Batch test type rows and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_batchlabtests ¶
get_batchlabtests(
projectsite=None,
campaign=None,
location=None,
testtype=None,
batchlabtest=None,
**kwargs,
)
Retrieve batch lab test summaries matching search filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str or None
|
Project site filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
testtype
|
str or None
|
Test type filter. |
None
|
batchlabtest
|
str or None
|
Batch lab test title filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Batch test summary rows and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
batchlabtesttype_exists ¶
Check whether a batch lab test type exists and return its id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
batchlabtesttype
|
str
|
Batch lab test type title. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Type id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_proximity_batchlabtests ¶
Retrieve batch lab tests within a radius around a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Radius in kilometers. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Batch test summary rows and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_closest_batchlabtest ¶
Return the closest batch lab test for a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID for metric distance calculations. |
"25831"
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with selected test metadata. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_batchlabtest_detail ¶
get_batchlabtest_detail(
batchlabtest,
projectsite=None,
location=None,
testtype=None,
campaign=None,
**kwargs,
)
Retrieve detailed data for one batch lab test.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
batchlabtest
|
str
|
Batch lab test title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
testtype
|
str or None
|
Test type filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Detail dictionary with summary/raw/processed/conditions tables. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
batchlabtest_exists ¶
batchlabtest_exists(
batchlabtest,
projectsite=None,
location=None,
testtype=None,
campaign=None,
**kwargs,
)
Check whether a batch lab test exists and return its id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
batchlabtest
|
str
|
Batch lab test title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
testtype
|
str or None
|
Test type filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Test id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
geotechnicalsampletype_exists ¶
Check whether a geotechnical sample type exists.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sampletype
|
str
|
Sample type title. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Sample type id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_geotechnicalsamples ¶
get_geotechnicalsamples(
projectsite=None,
campaign=None,
location=None,
sampletype=None,
sample=None,
**kwargs,
)
Retrieve geotechnical sample summaries matching filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str or None
|
Project site filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
sampletype
|
str or None
|
Sample type filter. |
None
|
sample
|
str or None
|
Sample title filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Sample rows and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_proximity_geotechnicalsamples ¶
Retrieve geotechnical samples around a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Radius in kilometers. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Sample rows and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_closest_geotechnicalsample ¶
get_closest_geotechnicalsample(
latitude,
longitude,
depth,
radius=1.0,
target_srid="25831",
**kwargs,
)
Return the closest geotechnical sample for a 3D query point.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
depth
|
float
|
Query depth in meters below seabed. |
required |
radius
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID for metric distance calculations. |
"25831"
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with selected sample metadata. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_geotechnicalsample_detail ¶
get_geotechnicalsample_detail(
sample,
projectsite=None,
location=None,
sampletype=None,
campaign=None,
**kwargs,
)
Retrieve details for one geotechnical sample.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sample
|
str
|
Sample title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
sampletype
|
str or None
|
Sample type filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Sample detail dictionary with response and existence status. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
geotechnicalsample_exists ¶
geotechnicalsample_exists(
sample,
projectsite=None,
location=None,
sampletype=None,
campaign=None,
**kwargs,
)
Check whether a geotechnical sample exists.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sample
|
str
|
Sample title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
sampletype
|
str or None
|
Sample type filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Sample id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_sampletests ¶
get_sampletests(
projectsite=None,
campaign=None,
location=None,
sample=None,
testtype=None,
sampletest=None,
**kwargs,
)
Retrieve sample test summaries matching filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
projectsite
|
str or None
|
Project site filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
sample
|
str or None
|
Sample title filter. |
None
|
testtype
|
str or None
|
Sample test type filter. |
None
|
sampletest
|
str or None
|
Sample test title filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Sample test summary rows and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_proximity_sampletests ¶
Retrieve sample tests around a coordinate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
radius
|
float
|
Radius in kilometers. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Sample test summary rows and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_closest_sampletest ¶
Return the closest sample test for a 3D query point.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
latitude
|
float
|
Latitude in decimal degrees. |
required |
longitude
|
float
|
Longitude in decimal degrees. |
required |
depth
|
float
|
Query depth in meters below seabed. |
required |
radius
|
float
|
Initial search radius in kilometers. |
1.0
|
target_srid
|
str
|
SRID for metric distance calculations. |
"25831"
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Dictionary with selected sample-test metadata. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
sampletesttype_exists ¶
Check whether a sample test type exists.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sampletesttype
|
str
|
Sample test type title. |
required |
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Type id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_sampletesttypes ¶
Retrieve available sample test types.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Sample test type rows and existence flag. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_sampletest_detail ¶
get_sampletest_detail(
sampletest,
projectsite=None,
location=None,
testtype=None,
sample=None,
campaign=None,
**kwargs,
)
Retrieve detailed data for one sample test.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sampletest
|
str
|
Sample test title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
testtype
|
str or None
|
Test type filter. |
None
|
sample
|
str or None
|
Sample filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
SoilApiResult
|
Detail dictionary with summary/raw/processed/conditions tables. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 | |
sampletest_exists ¶
sampletest_exists(
sampletest,
projectsite=None,
location=None,
testtype=None,
sample=None,
campaign=None,
**kwargs,
)
Check whether a sample test exists and return its id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sampletest
|
str
|
Sample test title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
testtype
|
str or None
|
Test type filter. |
None
|
sample
|
str or None
|
Sample filter. |
None
|
campaign
|
str or None
|
Campaign filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
int | int64 | bool | None
|
Sample test id when found; otherwise |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_soilunit_depthranges ¶
Retrieve depth intervals where a soil unit occurs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
soilunit
|
str
|
Soil unit title. |
required |
projectsite
|
str or None
|
Project site filter. |
None
|
location
|
str or None
|
Location filter. |
None
|
**kwargs
|
Additional queryset filters. |
{}
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
Table of depth intervals for the selected soil unit. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_unit_insitutestdata ¶
Retrieve in-situ test data that fall inside a soil unit.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
soilunit
|
str
|
Soil unit name. |
required |
depthcol
|
str or None
|
Depth column in detail |
"z [m]"
|
**kwargs
|
Filters forwarded to in-situ test retrieval methods. |
{}
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
In-situ test data constrained to selected unit depth ranges. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_unit_batchlabtestdata ¶
Retrieve batch lab test data that fall inside a soil unit.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
soilunit
|
str
|
Soil unit name. |
required |
depthcol
|
str or None
|
Depth column in detail |
"z [m]"
|
**kwargs
|
Filters forwarded to batch lab test retrieval methods. |
{}
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
Batch test data constrained to selected unit depth ranges. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_unit_sampletests ¶
Retrieve sample test metadata that fall inside a soil unit.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
soilunit
|
str
|
Soil unit name. |
required |
**kwargs
|
Filters forwarded to sample test retrieval methods. |
{}
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
Sample test metadata constrained to selected unit depth ranges. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_soilprofile_profile ¶
Retrieve soil profiles along a line segment corridor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lat1
|
float
|
Start latitude. |
required |
lon1
|
float
|
Start longitude. |
required |
lat2
|
float
|
End latitude. |
required |
lon2
|
float
|
End longitude. |
required |
band
|
float
|
Corridor half-width in meters. |
1000
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
Soil profile summary rows along the profile. |
Examples:
Source code in src/owi/metadatabase/soil/io.py
get_insitutests_profile ¶
Retrieve in-situ tests along a line segment corridor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lat1
|
float
|
Start latitude. |
required |
lon1
|
float
|
Start longitude. |
required |
lat2
|
float
|
End latitude. |
required |
lon2
|
float
|
End longitude. |
required |
band
|
float
|
Corridor half-width in meters. |
1000
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
In-situ test summary rows along the profile. |
Examples: