bedrock_ge.gi.ags.transform
Transforms, i.e. maps, AGS data to Bedrock’s schema.
Ags3HOLE
Section titled “Ags3HOLE”Ags3SAMP
Section titled “Ags3SAMP”BaseSAMP
Section titled “BaseSAMP”BaseInSitu
Section titled “BaseInSitu”BaseLocation
Section titled “BaseLocation”BaseSample
Section titled “BaseSample”Project
Section titled “Project”check_foreign_key
Section titled “check_foreign_key”ags3_db_to_no_gis_brgi_db
Section titled “ags3_db_to_no_gis_brgi_db”def ags3_db_to_no_gis_brgi_db(ags3_db: Dict[str, pd.DataFrame], crs: CRS) -> Dict[str, pd.DataFrame]
Maps a database with GI data from a single AGS 3 file to a database with Bedrock’s schema.
This function converts an AGS 3 formatted geotechnical database into Bedrock’s internal database format, maintaining data relationships and structure. It handles various types of geotechnical data including project information, locations, samples, lab tests, and in-situ measurements.
The mapping process:
- Project Data: Converts AGS 3 ‘PROJ’ group to Bedrock’s ‘Project’ table
- Location Data: Converts AGS 3 ‘HOLE’ group to Bedrock’s ‘Location’ table
- Sample Data: Converts AGS 3 ‘SAMP’ group to Bedrock’s ‘Sample’ table
- Other Data: Handles lab tests, in-situ measurements, and miscellaneous tables
Arguments:
ags3_db
Dict[str, pd.DataFrame] - A dictionary containing AGS 3 data tables, where keys are table names and values are pandas DataFrames.crs
CRS - Coordinate Reference System for the project data.
Returns:
Dict[str, pd.DataFrame]: A dictionary containing Bedrock GI database tables, where keys are table names and values are transformed pandas DataFrames.
Notes:
The function creates a copy of the input database to avoid modifying the original data. It performs foreign key checks to maintain data integrity during the mapping.
ags_proj_to_brgi_project
Section titled “ags_proj_to_brgi_project”@pa.check_types(lazy=True)def ags_proj_to_brgi_project(ags_proj: pd.DataFrame, crs: CRS) -> DataFrame[Project]
Maps the AGS 3 ‘PROJ’ group to a Bedrock GI ‘Project’ table.
Arguments:
ags_proj
pd.DataFrame - The AGS 3 ‘PROJ’ group.crs
CRS - The coordinate reference system of the project.
Returns:
DataFrame[Project]
- The Bedrock GI ‘Project’ table.
ags3_hole_to_brgi_location
Section titled “ags3_hole_to_brgi_location”@pa.check_types(lazy=True)def ags3_hole_to_brgi_location(ags3_hole: DataFrame[Ags3HOLE], project_uid: str) -> DataFrame[BaseLocation]
ags3_samp_to_brgi_sample
Section titled “ags3_samp_to_brgi_sample”@pa.check_types(lazy=True)def ags3_samp_to_brgi_sample(ags3_samp: DataFrame[Ags3SAMP], project_uid: str) -> DataFrame[BaseSample]
ags3_in_situ_to_brgi_in_situ
Section titled “ags3_in_situ_to_brgi_in_situ”@pa.check_types(lazy=True)def ags3_in_situ_to_brgi_in_situ(group_name: str, ags3_in_situ: pd.DataFrame, project_uid: str) -> DataFrame[BaseInSitu]
Maps AGS 3 in-situ measurement data to Bedrock’s in-situ data schema.
Arguments:
group_name
str - The AGS 3 group name.ags3_data
pd.DataFrame - The AGS 3 data.project_uid
str - The project uid.
Returns:
DataFrame[BaseInSitu]
- The Bedrock in-situ data.
generate_sample_ids_for_ags3
Section titled “generate_sample_ids_for_ags3”@pa.check_types(lazy=True)def generate_sample_ids_for_ags3( ags3_with_samp: DataFrame[BaseSAMP]) -> DataFrame[Ags3SAMP]