diff --git a/docs/source/notebooks/01_Creating_a_new_Borehole_Object.ipynb b/docs/source/notebooks/01_Creating_a_new_Borehole_Object.ipynb index fe5898f..9365b82 100644 --- a/docs/source/notebooks/01_Creating_a_new_Borehole_Object.ipynb +++ b/docs/source/notebooks/01_Creating_a_new_Borehole_Object.ipynb @@ -162,6 +162,8 @@ " 'has_address': None,\n", " 'location': None,\n", " 'has_location': None,\n", + " 'year': None,\n", + " 'has_year': None,\n", " 'x': None,\n", " 'y': None,\n", " 'has_x': None,\n", @@ -174,8 +176,8 @@ " 'altitude_above_kb': None,\n", " 'has_altitude_above_sea_level': None,\n", " 'has_altitude_above_kb': None,\n", - " 'id': None,\n", - " 'has_id': None,\n", + " 'borehole_id': None,\n", + " 'has_borehole_id': None,\n", " 'borehole_type': None,\n", " 'has_borehole_type': None,\n", " 'md': None,\n", @@ -187,12 +189,12 @@ " 'depth_unit': None,\n", " 'has_depth_unit': None,\n", " 'is_vertical': None,\n", - " 'contractree': None,\n", + " 'contractee': None,\n", " 'drilling_contractor': None,\n", " 'logging_contractor': None,\n", " 'field': None,\n", " 'project': None,\n", - " 'has_contractree': None,\n", + " 'has_contractee': None,\n", " 'has_drilling_contractor': None,\n", " 'has_logging_contractor': None,\n", " 'has_field': None,\n", @@ -209,10 +211,13 @@ " 'logs': None,\n", " 'well_tops': None,\n", " 'litholog': None,\n", + " 'well_design': None,\n", " 'has_deviation': False,\n", " 'has_logs': False,\n", " 'has_well_tops': False,\n", " 'has_litholog': False,\n", + " 'has_well_design': False,\n", + " 'has_properties': False,\n", " 'df': None,\n", " 'gdf': None,\n", " 'properties': None}" @@ -236,7 +241,7 @@ { "data": { "text/plain": [ - "dict_keys(['name', 'has_name', 'address', 'has_address', 'location', 'has_location', 'x', 'y', 'has_x', 'has_y', 'crs', 'crs_pyproj', 'has_crs', 'has_crs_pyproj', 'altitude_above_sea_level', 'altitude_above_kb', 'has_altitude_above_sea_level', 'has_altitude_above_kb', 'id', 'has_id', 'borehole_type', 'has_borehole_type', 'md', 'tvd', 'tvdss', 'has_md', 'has_tvd', 'has_tvdss', 'depth_unit', 'has_depth_unit', 'is_vertical', 'contractree', 'drilling_contractor', 'logging_contractor', 'field', 'project', 'has_contractree', 'has_drilling_contractor', 'has_logging_contractor', 'has_field', 'has_project', 'start_drilling', 'end_drilling', 'start_logging', 'end_logging', 'has_start_drilling', 'has_end_drilling', 'has_start_logging', 'has_end_logging', 'deviation', 'logs', 'well_tops', 'litholog', 'has_deviation', 'has_logs', 'has_well_tops', 'has_litholog', 'df', 'gdf', 'properties'])" + "dict_keys(['name', 'has_name', 'address', 'has_address', 'location', 'has_location', 'year', 'has_year', 'x', 'y', 'has_x', 'has_y', 'crs', 'crs_pyproj', 'has_crs', 'has_crs_pyproj', 'altitude_above_sea_level', 'altitude_above_kb', 'has_altitude_above_sea_level', 'has_altitude_above_kb', 'borehole_id', 'has_borehole_id', 'borehole_type', 'has_borehole_type', 'md', 'tvd', 'tvdss', 'has_md', 'has_tvd', 'has_tvdss', 'depth_unit', 'has_depth_unit', 'is_vertical', 'contractee', 'drilling_contractor', 'logging_contractor', 'field', 'project', 'has_contractee', 'has_drilling_contractor', 'has_logging_contractor', 'has_field', 'has_project', 'start_drilling', 'end_drilling', 'start_logging', 'end_logging', 'has_start_drilling', 'has_end_drilling', 'has_start_logging', 'has_end_logging', 'deviation', 'logs', 'well_tops', 'litholog', 'well_design', 'has_deviation', 'has_logs', 'has_well_tops', 'has_litholog', 'has_well_design', 'has_properties', 'df', 'gdf', 'properties'])" ] }, "execution_count": 6, @@ -287,7 +292,7 @@ "metadata": {}, "outputs": [], "source": [ - "borehole.init_properties(id='DABO123456', \n", + "borehole.init_properties(borehole_id='DABO123456', \n", " address='Am Kraftwerk 17, 52249 Eschweiler, Deutschland', \n", " location=(6.313031, 50.835676), \n", " crs='EPSG:4326', \n", @@ -321,6 +326,8 @@ " 'has_address': True,\n", " 'location': ,\n", " 'has_location': True,\n", + " 'year': None,\n", + " 'has_year': False,\n", " 'x': 6.313031,\n", " 'y': 50.835676,\n", " 'has_x': True,\n", @@ -343,8 +350,8 @@ " 'altitude_above_kb': None,\n", " 'has_altitude_above_sea_level': True,\n", " 'has_altitude_above_kb': False,\n", - " 'id': 'DABO123456',\n", - " 'has_id': True,\n", + " 'borehole_id': 'DABO123456',\n", + " 'has_borehole_id': True,\n", " 'borehole_type': 'exploration',\n", " 'has_borehole_type': True,\n", " 'md': 100,\n", @@ -356,12 +363,12 @@ " 'depth_unit': 'm',\n", " 'has_depth_unit': True,\n", " 'is_vertical': True,\n", - " 'contractree': None,\n", + " 'contractee': 'RWE Power AG',\n", " 'drilling_contractor': 'RWE BOWA',\n", " 'logging_contractor': 'DMT GmbH',\n", " 'field': 'RWE Erdwärme',\n", " 'project': 'DGE Rollout',\n", - " 'has_contractree': True,\n", + " 'has_contractee': True,\n", " 'has_drilling_contractor': True,\n", " 'has_logging_contractor': True,\n", " 'has_field': True,\n", @@ -378,15 +385,19 @@ " 'logs': None,\n", " 'well_tops': None,\n", " 'litholog': None,\n", + " 'well_design': None,\n", " 'has_deviation': False,\n", " 'has_logs': False,\n", " 'has_well_tops': False,\n", " 'has_litholog': False,\n", + " 'has_well_design': False,\n", + " 'has_properties': True,\n", " 'df': Value\n", " ID DABO123456\n", " Name RWE EB1\n", " Address Am Kraftwerk 17, 52249 Eschweiler, Deutschland\n", " Location POINT (6.313031 50.835676)\n", + " Year None\n", " X 6.313031\n", " Y 50.835676\n", " Coordinate Reference System EPSG:4326\n", @@ -397,7 +408,7 @@ " True Vertical Depth 100\n", " True Vertical Depth Sub Sea -36\n", " Depth Unit m\n", - " Well is vertical True\n", + " Borehole is vertical True\n", " Drilling Contractee RWE Power AG\n", " Drilling Contractor RWE BOWA\n", " Logging Contractor DMT GmbH\n", @@ -410,13 +421,15 @@ " Litholog False\n", " Well Tops False\n", " Well Deviation False\n", - " Well Logs False,\n", + " Well Logs False\n", + " Well Design False,\n", " 'gdf': None,\n", " 'properties': Value\n", " ID True\n", " Name True\n", " Address True\n", " Location True\n", + " Year False\n", " X True\n", " Y True\n", " Coordinate Reference System True\n", @@ -439,8 +452,8 @@ " Litholog False\n", " Well Tops False\n", " Well Deviation False\n", - " Well Logs False,\n", - " 'contractee': 'RWE Power AG'}" + " Well Logs False\n", + " Well Design False}" ] }, "execution_count": 8, @@ -500,6 +513,10 @@ " POINT (6.313031 50.835676)\n", " \n", " \n", + " Year\n", + " None\n", + " \n", + " \n", " X\n", " 6.313031\n", " \n", @@ -540,7 +557,7 @@ " m\n", " \n", " \n", - " Well is vertical\n", + " Borehole is vertical\n", " True\n", " \n", " \n", @@ -595,6 +612,10 @@ " Well Logs\n", " False\n", " \n", + " \n", + " Well Design\n", + " False\n", + " \n", " \n", "\n", "" @@ -605,6 +626,7 @@ "Name RWE EB1\n", "Address Am Kraftwerk 17, 52249 Eschweiler, Deutschland\n", "Location POINT (6.313031 50.835676)\n", + "Year None\n", "X 6.313031\n", "Y 50.835676\n", "Coordinate Reference System EPSG:4326\n", @@ -615,7 +637,7 @@ "True Vertical Depth 100\n", "True Vertical Depth Sub Sea -36\n", "Depth Unit m\n", - "Well is vertical True\n", + "Borehole is vertical True\n", "Drilling Contractee RWE Power AG\n", "Drilling Contractor RWE BOWA\n", "Logging Contractor DMT GmbH\n", @@ -628,7 +650,8 @@ "Litholog False\n", "Well Tops False\n", "Well Deviation False\n", - "Well Logs False" + "Well Logs False\n", + "Well Design False" ] }, "execution_count": 9, @@ -752,6 +775,10 @@ " POINT (6.313031 50.835676)\n", " \n", " \n", + " Year\n", + " None\n", + " \n", + " \n", " X\n", " 6.313031\n", " \n", @@ -771,10 +798,6 @@ " Altitude above sea level\n", " 140\n", " \n", - " \n", - " Altitude above KB\n", - " None\n", - " \n", " \n", "\n", "" @@ -785,12 +808,12 @@ "Name RWE EB1\n", "Address Am Kraftwerk 17, 52249 Eschweiler, Deutschland\n", "Location POINT (6.313031 50.835676)\n", + "Year None\n", "X 6.313031\n", "Y 50.835676\n", "Coordinate Reference System EPSG:4326\n", "Coordinate Reference System PyProj EPSG:4326\n", - "Altitude above sea level 140\n", - "Altitude above KB None" + "Altitude above sea level 140" ] }, "execution_count": 13, @@ -861,6 +884,10 @@ " True\n", " \n", " \n", + " Year\n", + " False\n", + " \n", + " \n", " X\n", " True\n", " \n", @@ -880,10 +907,6 @@ " Altitude above sea level\n", " True\n", " \n", - " \n", - " Altitude above KB\n", - " False\n", - " \n", " \n", "\n", "" @@ -894,12 +917,12 @@ "Name True\n", "Address True\n", "Location True\n", + "Year False\n", "X True\n", "Y True\n", "Coordinate Reference System True\n", "Coordinate Reference System PyProj True\n", - "Altitude above sea level True\n", - "Altitude above KB False" + "Altitude above sea level True" ] }, "execution_count": 14, @@ -970,6 +993,10 @@ " True\n", " \n", " \n", + " Year\n", + " False\n", + " \n", + " \n", " X\n", " True\n", " \n", @@ -989,10 +1016,6 @@ " Altitude above sea level\n", " True\n", " \n", - " \n", - " Altitude above KB\n", - " True\n", - " \n", " \n", "\n", "" @@ -1003,12 +1026,12 @@ "Name True\n", "Address True\n", "Location True\n", + "Year False\n", "X True\n", "Y True\n", "Coordinate Reference System True\n", "Coordinate Reference System PyProj True\n", - "Altitude above sea level True\n", - "Altitude above KB True" + "Altitude above sea level True" ] }, "execution_count": 16, @@ -1054,7 +1077,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "id": "5a10a580-1a6b-404f-8d79-ef7efb03ec44", "metadata": {}, "outputs": [ @@ -1083,14 +1106,13 @@ " Name\n", " Address\n", " Location\n", + " Year\n", " X\n", " Y\n", " Coordinate Reference System\n", " Coordinate Reference System PyProj\n", " Altitude above sea level\n", - " Altitude above KB\n", " ...\n", - " Project\n", " Start Drilling\n", " End Drilling\n", " Start Logging\n", @@ -1099,6 +1121,7 @@ " Well Tops\n", " Well Deviation\n", " Well Logs\n", + " Well Design\n", " geometry\n", " \n", " \n", @@ -1109,14 +1132,13 @@ " RWE EB1\n", " Am Kraftwerk 17, 52249 Eschweiler, Deutschland\n", " POINT (6.313031 50.835676)\n", + " None\n", " 6.313031\n", " 50.835676\n", " EPSG:4326\n", " EPSG:4326\n", " 140\n", - " 145\n", " ...\n", - " DGE Rollout\n", " 2023-10-18\n", " 2023-10-28\n", " None\n", @@ -1125,36 +1147,37 @@ " False\n", " False\n", " False\n", + " False\n", " POINT (6.31303 50.83568)\n", " \n", " \n", "\n", - "

1 rows × 29 columns

\n", + "

1 rows × 31 columns

\n", "" ], "text/plain": [ " ID Name Address \n", "0 DABO123456 RWE EB1 Am Kraftwerk 17, 52249 Eschweiler, Deutschland \\\n", "\n", - " Location X Y \n", - "0 POINT (6.313031 50.835676) 6.313031 50.835676 \\\n", + " Location Year X Y \n", + "0 POINT (6.313031 50.835676) None 6.313031 50.835676 \\\n", "\n", " Coordinate Reference System Coordinate Reference System PyProj \n", "0 EPSG:4326 EPSG:4326 \\\n", "\n", - " Altitude above sea level Altitude above KB ... Project Start Drilling \n", - "0 140 145 ... DGE Rollout 2023-10-18 \\\n", + " Altitude above sea level ... Start Drilling End Drilling Start Logging \n", + "0 140 ... 2023-10-18 2023-10-28 None \\\n", "\n", - " End Drilling Start Logging End Logging Litholog Well Tops Well Deviation \n", - "0 2023-10-28 None None False False False \\\n", + " End Logging Litholog Well Tops Well Deviation Well Logs Well Design \n", + "0 None False False False False False \\\n", "\n", - " Well Logs geometry \n", - "0 False POINT (6.31303 50.83568) \n", + " geometry \n", + "0 POINT (6.31303 50.83568) \n", "\n", - "[1 rows x 29 columns]" + "[1 rows x 31 columns]" ] }, - "execution_count": 19, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1166,7 +1189,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "id": "7bd1bfc4-86d7-4a15-89b0-bf443cb87001", "metadata": {}, "outputs": [ @@ -1195,14 +1218,13 @@ " Name\n", " Address\n", " Location\n", + " Year\n", " X\n", " Y\n", " Coordinate Reference System\n", " Coordinate Reference System PyProj\n", " Altitude above sea level\n", - " Altitude above KB\n", " ...\n", - " Project\n", " Start Drilling\n", " End Drilling\n", " Start Logging\n", @@ -1211,6 +1233,7 @@ " Well Tops\n", " Well Deviation\n", " Well Logs\n", + " Well Design\n", " geometry\n", " \n", " \n", @@ -1221,14 +1244,13 @@ " RWE EB1\n", " Am Kraftwerk 17, 52249 Eschweiler, Deutschland\n", " POINT (6.313031 50.835676)\n", + " None\n", " 6.313031\n", " 50.835676\n", " EPSG:4326\n", " EPSG:4326\n", " 140\n", - " 145\n", " ...\n", - " DGE Rollout\n", " 2023-10-18\n", " 2023-10-28\n", " None\n", @@ -1237,36 +1259,37 @@ " False\n", " False\n", " False\n", + " False\n", " POINT (6.31303 50.83568)\n", " \n", " \n", "\n", - "

1 rows × 29 columns

\n", + "

1 rows × 31 columns

\n", "" ], "text/plain": [ " ID Name Address \n", "0 DABO123456 RWE EB1 Am Kraftwerk 17, 52249 Eschweiler, Deutschland \\\n", "\n", - " Location X Y \n", - "0 POINT (6.313031 50.835676) 6.313031 50.835676 \\\n", + " Location Year X Y \n", + "0 POINT (6.313031 50.835676) None 6.313031 50.835676 \\\n", "\n", " Coordinate Reference System Coordinate Reference System PyProj \n", "0 EPSG:4326 EPSG:4326 \\\n", "\n", - " Altitude above sea level Altitude above KB ... Project Start Drilling \n", - "0 140 145 ... DGE Rollout 2023-10-18 \\\n", + " Altitude above sea level ... Start Drilling End Drilling Start Logging \n", + "0 140 ... 2023-10-18 2023-10-28 None \\\n", "\n", - " End Drilling Start Logging End Logging Litholog Well Tops Well Deviation \n", - "0 2023-10-28 None None False False False \\\n", + " End Logging Litholog Well Tops Well Deviation Well Logs Well Design \n", + "0 None False False False False False \\\n", "\n", - " Well Logs geometry \n", - "0 False POINT (6.31303 50.83568) \n", + " geometry \n", + "0 POINT (6.31303 50.83568) \n", "\n", - "[1 rows x 29 columns]" + "[1 rows x 31 columns]" ] }, - "execution_count": 20, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } diff --git a/docs/source/notebooks/02_Adding_Deviation_to_Borehole_Object.ipynb b/docs/source/notebooks/02_Adding_Deviation_to_Borehole_Object.ipynb index 1a8a961..04c2939 100644 --- a/docs/source/notebooks/02_Adding_Deviation_to_Borehole_Object.ipynb +++ b/docs/source/notebooks/02_Adding_Deviation_to_Borehole_Object.ipynb @@ -117,7 +117,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 3, "id": "5c7e855d-2f7d-41b3-9f1a-9c4d5188095d", "metadata": {}, "outputs": [], @@ -270,7 +270,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -465,9 +465,9 @@ " \n", " \n", " \n", - " True Vertical Depth\n", - " Northing_rel\n", " Easting_rel\n", + " Northing_rel\n", + " True Vertical Depth\n", " \n", " \n", " \n", @@ -479,39 +479,39 @@ " \n", " \n", " 1\n", - " 5.0\n", " 0.0\n", " 0.0\n", + " 5.0\n", " \n", " \n", " 2\n", - " 10.0\n", " 0.0\n", " 0.0\n", + " 10.0\n", " \n", " \n", " 3\n", - " 15.0\n", " 0.0\n", " 0.0\n", + " 15.0\n", " \n", " \n", " 4\n", - " 20.0\n", " 0.0\n", " 0.0\n", + " 20.0\n", " \n", " \n", "\n", "" ], "text/plain": [ - " True Vertical Depth Northing_rel Easting_rel\n", - "0 0.0 0.0 0.0\n", - "1 5.0 0.0 0.0\n", - "2 10.0 0.0 0.0\n", - "3 15.0 0.0 0.0\n", - "4 20.0 0.0 0.0" + " Easting_rel Northing_rel True Vertical Depth\n", + "0 0.0 0.0 0.0\n", + "1 0.0 0.0 5.0\n", + "2 0.0 0.0 10.0\n", + "3 0.0 0.0 15.0\n", + "4 0.0 0.0 20.0" ] }, "execution_count": 11, @@ -721,16 +721,16 @@ " [0.0, 0.0, 0.0]\n", " \n", " \n", - " True Vertical Depth\n", - " [0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,...\n", + " Easting_rel\n", + " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", " \n", " \n", " Northing_rel\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", " \n", " \n", - " Easting_rel\n", - " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", + " True Vertical Depth\n", + " [0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,...\n", " \n", " \n", "\n", @@ -754,9 +754,9 @@ "Measured Depth [0.0, 50.0, 100.0]\n", "Inclination [0.0, 0.0, 0.0]\n", "Azimuth [0.0, 0.0, 0.0]\n", - "True Vertical Depth [0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,...\n", + "Easting_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", "Northing_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - "Easting_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ..." + "True Vertical Depth [0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,..." ] }, "execution_count": 15, @@ -1043,16 +1043,16 @@ " [0.0, 0.0, 0.0]\n", " \n", " \n", - " True Vertical Depth\n", - " [0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,...\n", + " Easting_rel\n", + " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", " \n", " \n", " Northing_rel\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", " \n", " \n", - " Easting_rel\n", - " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", + " True Vertical Depth\n", + " [0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,...\n", " \n", " \n", "\n", @@ -1076,9 +1076,9 @@ "Measured Depth [0.0, 50.0, 100.0]\n", "Inclination [0.0, 0.0, 0.0]\n", "Azimuth [0.0, 0.0, 0.0]\n", - "True Vertical Depth [0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,...\n", + "Easting_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", "Northing_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - "Easting_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ..." + "True Vertical Depth [0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,..." ] }, "execution_count": 25, @@ -1251,7 +1251,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 29, "id": "dbcc152f-62df-4e0d-ba56-ae2d1497bc8e", "metadata": {}, "outputs": [], @@ -1261,7 +1261,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 30, "id": "16324f67-436a-4fc4-bf64-d03d12c77dc6", "metadata": {}, "outputs": [ @@ -1272,7 +1272,7 @@ " )" ] }, - "execution_count": 63, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, @@ -1291,158 +1291,6 @@ "borehole.deviation.plot_deviation_3d()" ] }, - { - "cell_type": "code", - "execution_count": 58, - "id": "26de7696-0a03-4e8d-86bd-95d1e905562e", - "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "Add origin to desurveying before plotting the deviation in 3D", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[58], line 4\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28many\u001b[39m(value \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01mfor\u001b[39;00m value \u001b[38;5;129;01min\u001b[39;00m [borehole\u001b[38;5;241m.\u001b[39mdeviation\u001b[38;5;241m.\u001b[39measting,\n\u001b[0;32m 2\u001b[0m borehole\u001b[38;5;241m.\u001b[39mdeviation\u001b[38;5;241m.\u001b[39mnorthing,\n\u001b[0;32m 3\u001b[0m \u001b[38;5;241m-\u001b[39mborehole\u001b[38;5;241m.\u001b[39mdeviation\u001b[38;5;241m.\u001b[39mtvd]):\n\u001b[1;32m----> 4\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mAdd origin to desurveying before plotting the deviation in 3D\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", - "\u001b[1;31mValueError\u001b[0m: Add origin to desurveying before plotting the deviation in 3D" - ] - } - ], - "source": [ - "if any(value is None for value in [borehole.deviation.easting,\n", - " borehole.deviation.northing,\n", - " -borehole.deviation.tvd]):\n", - " raise ValueError('Add origin to desurveying before plotting the deviation in 3D')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "5e95540c-30b3-4287-b5db-60ce5b881ced", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
True Vertical DepthNorthing_relEasting_rel
00.00.00.0
110.00.00.0
220.00.00.0
330.00.00.0
440.00.00.0
550.00.00.0
660.00.00.0
770.00.00.0
880.00.00.0
990.00.00.0
10100.00.00.0
\n", - "
" - ], - "text/plain": [ - " True Vertical Depth Northing_rel Easting_rel\n", - "0 0.0 0.0 0.0\n", - "1 10.0 0.0 0.0\n", - "2 20.0 0.0 0.0\n", - "3 30.0 0.0 0.0\n", - "4 40.0 0.0 0.0\n", - "5 50.0 0.0 0.0\n", - "6 60.0 0.0 0.0\n", - "7 70.0 0.0 0.0\n", - "8 80.0 0.0 0.0\n", - "9 90.0 0.0 0.0\n", - "10 100.0 0.0 0.0" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "borehole.deviation.desurveyed_df" - ] - }, { "cell_type": "code", "execution_count": 31, @@ -1633,16 +1481,16 @@ " [0.0, 0.0, 0.0]\n", " \n", " \n", - " True Vertical Depth\n", - " [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0...\n", + " Easting_rel\n", + " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", " \n", " \n", " Northing_rel\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", " \n", " \n", - " Easting_rel\n", - " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", + " True Vertical Depth\n", + " [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0...\n", " \n", " \n", "\n", @@ -1666,9 +1514,9 @@ "Measured Depth [0.0, 50.0, 100.0]\n", "Inclination [0.0, 0.0, 0.0]\n", "Azimuth [0.0, 0.0, 0.0]\n", - "True Vertical Depth [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0...\n", + "Easting_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", "Northing_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - "Easting_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ..." + "True Vertical Depth [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0..." ] }, "execution_count": 36, @@ -1718,9 +1566,9 @@ " \n", " \n", " \n", - " True Vertical Depth\n", - " Northing_rel\n", " Easting_rel\n", + " Northing_rel\n", + " True Vertical Depth\n", " Easting\n", " Northing\n", " True Vertical Depth Below Sea Level\n", @@ -1738,36 +1586,36 @@ " \n", " \n", " 1\n", - " 10.0\n", " 0.0\n", " 0.0\n", + " 10.0\n", " 310805.244563\n", " 5.634992e+06\n", " 126.0\n", " \n", " \n", " 2\n", - " 20.0\n", " 0.0\n", " 0.0\n", + " 20.0\n", " 310805.244563\n", " 5.634992e+06\n", " 116.0\n", " \n", " \n", " 3\n", - " 30.0\n", " 0.0\n", " 0.0\n", + " 30.0\n", " 310805.244563\n", " 5.634992e+06\n", " 106.0\n", " \n", " \n", " 4\n", - " 40.0\n", " 0.0\n", " 0.0\n", + " 40.0\n", " 310805.244563\n", " 5.634992e+06\n", " 96.0\n", @@ -1777,12 +1625,12 @@ "" ], "text/plain": [ - " True Vertical Depth Northing_rel Easting_rel Easting \n", - "0 0.0 0.0 0.0 310805.244563 \\\n", - "1 10.0 0.0 0.0 310805.244563 \n", - "2 20.0 0.0 0.0 310805.244563 \n", - "3 30.0 0.0 0.0 310805.244563 \n", - "4 40.0 0.0 0.0 310805.244563 \n", + " Easting_rel Northing_rel True Vertical Depth Easting \n", + "0 0.0 0.0 0.0 310805.244563 \\\n", + "1 0.0 0.0 10.0 310805.244563 \n", + "2 0.0 0.0 20.0 310805.244563 \n", + "3 0.0 0.0 30.0 310805.244563 \n", + "4 0.0 0.0 40.0 310805.244563 \n", "\n", " Northing True Vertical Depth Below Sea Level \n", "0 5.634992e+06 136.0 \n", @@ -1831,9 +1679,9 @@ " \n", " \n", " \n", - " True Vertical Depth\n", - " Northing_rel\n", " Easting_rel\n", + " Northing_rel\n", + " True Vertical Depth\n", " Easting\n", " Northing\n", " True Vertical Depth Below Sea Level\n", @@ -1851,36 +1699,36 @@ " \n", " \n", " 1\n", - " 10.0\n", " 0.0\n", " 0.0\n", + " 10.0\n", " 310805.244563\n", " 5.634992e+06\n", " 126.0\n", " \n", " \n", " 2\n", - " 20.0\n", " 0.0\n", " 0.0\n", + " 20.0\n", " 310805.244563\n", " 5.634992e+06\n", " 116.0\n", " \n", " \n", " 3\n", - " 30.0\n", " 0.0\n", " 0.0\n", + " 30.0\n", " 310805.244563\n", " 5.634992e+06\n", " 106.0\n", " \n", " \n", " 4\n", - " 40.0\n", " 0.0\n", " 0.0\n", + " 40.0\n", " 310805.244563\n", " 5.634992e+06\n", " 96.0\n", @@ -1890,12 +1738,12 @@ "" ], "text/plain": [ - " True Vertical Depth Northing_rel Easting_rel Easting \n", - "0 0.0 0.0 0.0 310805.244563 \\\n", - "1 10.0 0.0 0.0 310805.244563 \n", - "2 20.0 0.0 0.0 310805.244563 \n", - "3 30.0 0.0 0.0 310805.244563 \n", - "4 40.0 0.0 0.0 310805.244563 \n", + " Easting_rel Northing_rel True Vertical Depth Easting \n", + "0 0.0 0.0 0.0 310805.244563 \\\n", + "1 0.0 0.0 10.0 310805.244563 \n", + "2 0.0 0.0 20.0 310805.244563 \n", + "3 0.0 0.0 30.0 310805.244563 \n", + "4 0.0 0.0 40.0 310805.244563 \n", "\n", " Northing True Vertical Depth Below Sea Level \n", "0 5.634992e+06 136.0 \n", @@ -2011,16 +1859,16 @@ " [0.0, 0.0, 0.0]\n", " \n", " \n", - " True Vertical Depth\n", - " [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0...\n", + " Easting_rel\n", + " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", " \n", " \n", " Northing_rel\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", " \n", " \n", - " Easting_rel\n", - " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", + " True Vertical Depth\n", + " [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0...\n", " \n", " \n", " Northing\n", @@ -2068,9 +1916,9 @@ "Measured Depth [0.0, 50.0, 100.0]\n", "Inclination [0.0, 0.0, 0.0]\n", "Azimuth [0.0, 0.0, 0.0]\n", - "True Vertical Depth [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0...\n", - "Northing_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", "Easting_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", + "Northing_rel [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", + "True Vertical Depth [0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0...\n", "Northing [5634992.452732348, 5634992.452732348, 5634992...\n", "Easting [310805.2445634408, 310805.2445634408, 310805....\n", "True Vertical Depth Below Sea Level [136.0, 126.0, 116.0, 106.0, 96.0, 86.0, 76.0,...\n", @@ -2377,7 +2225,7 @@ " " ], "text/plain": [ - "PolyData (0x1f6514b5fc0)\n", + "PolyData (0x21d6b5d7a60)\n", " N Cells: 220\n", " N Points: 800\n", " N Strips: 220\n", @@ -2467,7 +2315,7 @@ " " ], "text/plain": [ - "PolyData (0x1f651ce3d00)\n", + "PolyData (0x21d6be14640)\n", " N Cells: 220\n", " N Points: 800\n", " N Strips: 220\n", diff --git a/docs/source/notebooks/03_Adding_Casing_Scheme.ipynb b/docs/source/notebooks/03_Adding_Casing_Scheme.ipynb index 7a9ac1b..97491d0 100644 --- a/docs/source/notebooks/03_Adding_Casing_Scheme.ipynb +++ b/docs/source/notebooks/03_Adding_Casing_Scheme.ipynb @@ -102,6 +102,16 @@ "borehole" ] }, + { + "cell_type": "code", + "execution_count": 3, + "id": "04444cfd-3d5b-4993-8ada-145956312742", + "metadata": {}, + "outputs": [], + "source": [ + "borehole.init_properties()" + ] + }, { "cell_type": "markdown", "id": "76cb0c44-0a39-45f5-8d9a-0d610a5cdb16", @@ -116,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "ab0f9953-0242-4801-b481-8bc9aec7f5d0", "metadata": {}, "outputs": [], @@ -126,7 +136,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "dc7c421b-94b6-4574-b8ba-b9830ba4e7c7", "metadata": {}, "outputs": [ @@ -137,7 +147,7 @@ "Cements: {}" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -160,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "927b1396-9ce3-4859-83d1-cbe9084ea0df", "metadata": {}, "outputs": [], @@ -180,7 +190,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "c22e05a2-7504-40ba-96b1-d1896d749e32", "metadata": {}, "outputs": [], @@ -200,7 +210,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "0e1d95e3-552a-4a81-bd2e-6831da9219a0", "metadata": {}, "outputs": [], @@ -220,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "2543ab88-44f0-4296-96cc-65edae0312bf", "metadata": {}, "outputs": [], @@ -240,7 +250,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "bf2fd662-7057-42df-8a16-2d1f28242ff6", "metadata": {}, "outputs": [], @@ -257,7 +267,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "e8a8046d-09cc-4873-bb94-b4ef52d452fe", "metadata": {}, "outputs": [ @@ -291,7 +301,7 @@ " Outer Diameter: 8.5 in}" ] }, - "execution_count": 10, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -314,7 +324,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "8444f68f-9dd0-4bdb-acf5-dfa8ccd7751d", "metadata": {}, "outputs": [], @@ -329,7 +339,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "9d7cd5dd-cc5a-4f16-9745-183155088465", "metadata": {}, "outputs": [], @@ -344,7 +354,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "c96fea3a-7791-498d-a30f-47c7c4d8a201", "metadata": {}, "outputs": [], @@ -359,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "a677e3d9-6651-4fb3-8b82-b597c5642052", "metadata": {}, "outputs": [], @@ -374,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "ba7faf60-614d-4fa6-83e9-6d060be4056e", "metadata": {}, "outputs": [ @@ -421,7 +431,7 @@ "Outer Pipe: Conductor Casing}" ] }, - "execution_count": 15, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -443,7 +453,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "29c8d4b4-6667-47db-a5a5-97e967badd14", "metadata": {}, "outputs": [ @@ -464,60 +474,6 @@ " show_cements=True,\n", " show_descriptions=True)" ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "14dfcf5c-52b4-4064-ab40-ace330174b2e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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NWqgqirjxo0r1ethDBJwPIT9+/fTtWtXateuDeT1Ruzbt0/7BfX396dJkyYAjB07lgMHDpCTk4Ozs7MWwT+sAQMGYGpqSuXKlalfvz49e/ZEURRq165N9erVS9WrIoQQet26dcPExISBAweSlZVFamoqAwcONFjn66+/BmDDhg1AXj2qy5cvo6oqlSpVQlEUrly5oq2/efNmLWi437Vr16hRowYvvPACAD169MDR0ZG4uDgsLS21L/KBAwcafIGbmJjQv39/AOzt7bl3L6+eUHJyMk5OTri4uODi4oJzEXVp7hccHIyiKCxevBiAWrVqaW26n6qqWjA1YsQITE1NOXDggLa8Q4cOmJubF9ju6NGjAAaFRYcOHQrA6tWrtZ4RfRC3cOFC2rRpA4CXlxdVq1Zl3759uLm5FdoufXv1cwu3bNnC/v37AbSeHv17VxGemjwcj4PyKG3v4uKidRsCXLhwgVq1amFmVvhbZWX1vxobpqamBR6XNroXTz5LKwuio0+Qnp5W6PIbN26Snn4XgPr160vqfyMKDQ3VxvxtbKypXr1akesmJCRgaVWwOF9F+te//sWSJUto1qwZAD/++GOJ26iqStWqVY02b+H+iaz5P29L+9l7fxHEv//+++EbVogHGa4ICQmhXr162u+NoijcunULR0dHkpOTefHFFzl27BjvvPMOW7ZsMQhw9CpXrmzwODMz84HabywScDyEjh078vHHH3PlyhWcnZ0JCgri+eef18b8QkNDOXPmDI0bN2bZsmV07NhRW1aUrl27Mn78eG27r776ipdffvlRnI54gllaWdC8pRerf/yuyHUyMzIJOxZLxr28D6EjR45I0GEEoaGh+Pv7A/97Xywsiw8omrf04mRswqNoXqksXryYJUuWEBMTQ506dQosnzBhAosXL+all14CwNHRkdq1a3P58mVCQkLo06cPV69eZdKkSSUGK87Ozly5coXdu3fzwgsvsGPHDvz9/XF3dycmJob9+/fTsWNH1q1bV6q7ZypVqsS1a9e4evUqWVlZBj0t/fv3Z//+/axZs4ahQ4fy888/a8vGjh3LggULtHO7evUqJ0+e1HoNIiMjtd4WRVH46KOPmDlzJmvWrCEnJ4eAgIAS29aqVSsAGjduTHp6OoDWFgA/Pz8Ardcc4NChQ8TExGgBhomJCSdOnCjxWHodO3YEwM3N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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "top=500, \n", - "bottom=600\n", - "\n", - "import numpy as np\n", - "\n", - "y = np.linspace(top, bottom, 1000)\n", - "y[:5]\n", - "\n", - "x = 0.5* np.sin(y/2) -8.5\n", - "\n", - "import matplotlib.pyplot as plt\n", - "fig, ax = borehole.well_design.plot_well_design(show_pipes=True,\n", - " show_shoes=True,\n", - " show_cements=True,\n", - " show_descriptions=True)\n", - "ax.plot(x, y)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ce500b20-8690-4aff-8d4f-eb89e46aa9d5", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/docs/source/notebooks/04_Adding_Well_Logs.ipynb b/docs/source/notebooks/04_Adding_Well_Logs.ipynb index c4febaa..dd59e99 100644 --- a/docs/source/notebooks/04_Adding_Well_Logs.ipynb +++ b/docs/source/notebooks/04_Adding_Well_Logs.ipynb @@ -1290,7 +1290,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "id": "2ba82c00-addc-4463-9fec-d6e6ceb77b0d", "metadata": {}, "outputs": [ @@ -1300,7 +1300,7 @@ "Text(48.347222222222214, 0.5, 'Depth [m]')" ] }, - "execution_count": 15, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, @@ -1325,6 +1325,14 @@ " fill_between=0)\n", "ax[0].set_ylabel('Depth [m]')" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74138012-f99c-4c40-b0b1-edaa7cb93c14", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/pyborehole/logs.py b/pyborehole/logs.py index 12588bd..aee9a1a 100644 --- a/pyborehole/logs.py +++ b/pyborehole/logs.py @@ -2170,6 +2170,8 @@ def resample_between_well_deviation_points(coordinates: np.ndarray, ______ TypeError If the wrong input data types are provided. + ValueError + If less than two coordinate dimentions (X, Y, Z) are provided. Examples ________ @@ -2181,6 +2183,7 @@ def resample_between_well_deviation_points(coordinates: np.ndarray, get_points_along_spline : Return the closest point on the spline a given a length along a spline. resample_log : Resample one log. resample_logs : Resample logs. + merge_logs : Merge multiple logs. .. versionadded:: 0.0.1 """ @@ -2193,7 +2196,11 @@ def resample_between_well_deviation_points(coordinates: np.ndarray, if coordinates.shape[1] != 3: raise ValueError('Three coordinates X, Y, and Z must be provided for each point') - # Creating list for storing points + # Checking that the spacing is of type float or int + if not isinstance(spacing, (int, float)): + raise TypeError('The spacing must be provided as float or int') + + # Creating list for storing points list_points = [] # Iterating over points and creating additional points between all other points @@ -2215,17 +2222,33 @@ def polyline_from_points(points: np.ndarray): Parameters __________ - points: np.ndarray + points : np.ndarray Points defining the PolyLine. Return ______ - poly: pv.core.pointset.PolyData + poly : pv.core.pointset.PolyData + PyVista PolyLine. - .. versionadded:: 0.0.1 + Raises + ______ + TypeError + If the wrong input data types are provided. - """ + Examples + ________ + >>> polyline = polyline_from_points(points=points) + See Also + ________ + polyline_from_points : Create PyVista PolyLine from points. + get_points_along_spline : Return the closest point on the spline a given a length along a spline. + resample_log : Resample one log. + resample_logs : Resample logs. + merge_logs : Merge multiple logs. + + .. versionadded:: 0.0.1 + """ # Importing pyvista try: import pyvista as pv @@ -2258,21 +2281,34 @@ def get_points_along_spline(spline, Parameters __________ - - spline: pv.core.pointset.PolyData + spline : pv.core.pointset.PolyData Spline with the resampled vertices - - dist: np.ndarray + dist : np.ndarray np.ndarray containing the measured depths (MD) of values along the well path Returns _______ - - spline.points[idx_list]: pv.core.pyvista_ndarray.pyvista_ndarray + points : pv.core.pyvista_ndarray.pyvista_ndarray PyVista Array containing the selected points - .. versionadded:: 0.0.1 + Raises + ______ + TypeError + If the wrong input data types are provided. + + Examples + ________ + >>> points = get_points_along_spline(spline=spline, dist=dist) + See Also + ________ + resample_between_well_deviation_points : Resample between points that define the path of a well. + polyline_from_points : Create PyVista PolyLine from points. + resample_log : Resample one log. + resample_logs : Resample logs. + merge_logs : Merge multiple logs. + + .. versionadded:: 0.0.1 """ # Importing pyvista @@ -2297,33 +2333,103 @@ def get_points_along_spline(spline, idx = np.argmin(np.abs(spline.point_data['arc_length'] - distance)) idx_list.append(idx) + # Save indexed points in new variable points = spline.points[idx_list] return points def resample_log(log: Union[gpd.GeoDataFrame, LineString, pd.DataFrame], - resampling: int, + resampling: Union[float, int], column_name: str = None, - resampling_start=0, - resampling_end=None, - rounding_precision=5, + resampling_start: Union[float, int] = 0, + resampling_end: Union[float, int] = None, + rounding_precision: int = 5, drop_first: bool = False, drop_last: bool = False, ) -> gpd.GeoDataFrame: """Resample one log. Data must be provided as GeoDataFrame with the log Data as Shapely Points. + Parameters + __________ + log : Union[gpd.GeoDataFrame, LineString, pd.DataFrame] + Log data to be resampled. + resampling : Union[float, int] + Resampling interval, e.g. ``resampling=2``. + column_name : str, default: ``None`` + Column name of the log to be resampled, e.g. ``column_name='GR'``. + resampling_start : Union[float, int], default: ``0`` + Depth were the resampling should start, e.g. ``resampling_start=0``. + resampling_end : Union[float, int] + Depth were the resampling should end, e.g. ``resampling_end=100``. + rounding_precision : int, default: ``5`` + Rounding precision, e.g. ``rounding_precision=5``. + drop_first : bool, default: ``False`` + Boolean value to drop the first sample, e.g. ``drop_first=False``. + drop_last : bool, default: ``False`` + Boolean value to drop the last sample, e.g. ``drop_last=False``. + Returns + _______ + gdf_resampled : gpd.GeoDataFrame + GeoPandas GeoDataFrame containing the resampled log data. + Raises + ______ + TypeError + If the wrong input data types are provided. + Examples + ________ + >>> gdf_resampled = resample_log(log=gdf, resampling=2) + + See Also + ________ + resample_between_well_deviation_points : Resample between points that define the path of a well. + polyline_from_points : Create PyVista PolyLine from points. + get_points_along_spline : Return the closest point on the spline a given a length along a spline. + resample_logs : Resample logs. + merge_logs : Merge multiple logs. + + .. versionadded:: 0.0.1 """ + # Checking that the log is provided as GeoDataFrame, LineString or DataFrame + if not isinstance(log, (gpd.GeoDataFrame, LineString, pd.DataFrame)): + raise TypeError('The log must be provided as GeoDataFrame, LineString or DataFrame') + + # Checking that the resampling value is provided as int or float + if not isinstance(resampling, (float, int)): + raise TypeError('The resampling value must be provided as float or int') + + # Checking that the column name is provided as string + if not isinstance(column_name, str): + raise TypeError('The column name must be provided as string') + + # Checking that the resampling start is provided as float or int + if not isinstance(resampling_start, (float, int)): + raise TypeError('The start of the resampling interval must be provided as float or int') + + # Checking that the resampling end is provided as float or int + if not isinstance(resampling_end, (float, int)): + raise TypeError('The end of the resampling interval must be provided as float or int') + + # Checking that the drop first value is provided as bool + if not isinstance(drop_first, bool): + raise TypeError('The drop_first variable must be provided as bool') + + # Checking that the drop last value is provided as bool + if not isinstance(drop_last, bool): + raise TypeError('The drop_last variable must be provided as bool') + # Creating gdf from values if isinstance(log, pd.DataFrame): log = gpd.GeoDataFrame(geometry=[LineString(log[[column_name, 'DEPTH']].values)]) + # Extracting LineString from Value and assigning column name if isinstance(log, gpd.GeoDataFrame): if not column_name: column_name = 'X' log = log.geometry.iloc[0] + # Assigning column name elif isinstance(log, shapely.geometry.LineString): if not column_name: @@ -2385,12 +2491,75 @@ def resample_logs(logs: pd.DataFrame, resampling_start=0, resampling_end=None, rounding_precision=5, - drop_first: bool = True, - drop_last: bool = True, ): + drop_first: bool=True, + drop_last: bool=True) -> pd.DataFrame: """Resample logs. + Parameters + __________ + logs : pd.DataFrame + Log data to be resampled. + resampling : Union[float, int] + Resampling interval, e.g. ``resampling=2``. + resampling_start : Union[float, int], default: ``0`` + Depth were the resampling should start, e.g. ``resampling_start=0``. + resampling_end : Union[float, int] + Depth were the resampling should end, e.g. ``resampling_end=100``. + rounding_precision : int, default: ``5`` + Rounding precision, e.g. ``rounding_precision=5``. + drop_first : bool, default: ``False`` + Boolean value to drop the first sample, e.g. ``drop_first=False``. + drop_last : bool, default: ``False`` + Boolean value to drop the last sample, e.g. ``drop_last=False``. + Returns + _______ + df : pd.DataFrame + Pandas DataFrame containing the resampled data. + + Raises + ______ + TypeError + If the wrong input data types are provided. + + Examples + ________ + >>> df_resampled = resample_logs(log=df, resampling=2) + + See Also + ________ + resample_between_well_deviation_points : Resample between points that define the path of a well. + polyline_from_points : Create PyVista PolyLine from points. + get_points_along_spline : Return the closest point on the spline a given a length along a spline. + resample_log : Resample one log. + merge_logs : Merge multiple logs. + + .. versionadded:: 0.0.1 """ + # Checking that the log is provided as GeoDataFrame, LineString or DataFrame + if not isinstance(logs, pd.DataFrame): + raise TypeError('The logs must be provided as DataFrame') + + # Checking that the resampling value is provided as int or float + if not isinstance(resampling, (float, int)): + raise TypeError('The resampling value must be provided as float or int') + + # Checking that the resampling start is provided as float or int + if not isinstance(resampling_start, (float, int)): + raise TypeError('The start of the resampling interval must be provided as float or int') + + # Checking that the resampling end is provided as float or int + if not isinstance(resampling_end, (float, int)): + raise TypeError('The end of the resampling interval must be provided as float or int') + + # Checking that the drop first value is provided as bool + if not isinstance(drop_first, bool): + raise TypeError('The drop_first variable must be provided as bool') + + # Checking that the drop last value is provided as bool + if not isinstance(drop_last, bool): + raise TypeError('The drop_last variable must be provided as bool') + # Resampling DataFrames dfs = [resample_log(log=logs[['DEPTH', column]], resampling=resampling, @@ -2412,11 +2581,52 @@ def resample_logs(logs: pd.DataFrame, def merge_logs(paths: List[str], resampling: Union[float, int]) -> pd.DataFrame: + """Merge multiple logs. + + Parameters + __________ + paths : list + List of paths. + resampling : Union[float, int] + Resampling interval, e.g. ``resampling=2``. + + Returns + _______ + merged_df : pd.DataFrame + Pandas DataFrame containing the resampled data. + + Raises + ______ + TypeError + If the wrong input data types are provided. + + Examples + ________ + >>> merged_df = merge_logs(paths=['Well_Logs1.las', 'Well_Logs2.las'], resampling=2) + + See Also + ________ + resample_between_well_deviation_points : Resample between points that define the path of a well. + polyline_from_points : Create PyVista PolyLine from points. + get_points_along_spline : Return the closest point on the spline a given a length along a spline. + resample_log : Resample one log. + resample_logs : Resample logs. + + .. versionadded:: 0.0.1 + """ try: import lasio except ModuleNotFoundError: ModuleNotFoundError('lasio package not installed') + # Checking that the paths are provided as list + if not isinstance(paths, list): + raise TypeError('The paths to the well logs must be provided as list of strings') + + # Checking that the resampling value is provided as int or float + if not isinstance(resampling, (float, int)): + raise TypeError('The resampling value must be provided as float or int') + # Opening LAS Files as DataFrames dfs = [lasio.read(path).df().reset_index() for path in paths]