bedrock-ge 0.2.1__tar.gz → 0.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/.gitignore +4 -5
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/PKG-INFO +32 -24
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/README.md +17 -17
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/RELEASE.md +4 -4
- bedrock_ge-0.2.3/examples/README.md +82 -0
- bedrock_ge-0.2.3/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.ipynb +5491 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.py +199 -113
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/examples/hk_kaitak_ags3/kaitak_ags3.zip +0 -0
- bedrock_ge-0.2.3/examples/hk_kaitak_ags3/kaitak_gi.gpkg +0 -0
- bedrock_ge-0.2.3/pyproject.toml +108 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/__init__.py +1 -1
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/ags/read.py +5 -7
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/ags/transform.py +48 -3
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/ags/validate.py +1 -2
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/concatenate.py +5 -5
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/gis_geometry.py +67 -22
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/validate.py +82 -16
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/write.py +19 -16
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/tests/test_gi.py +2 -4
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/uv.lock +260 -244
- bedrock_ge-0.2.1/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.ipynb +0 -410
- bedrock_ge-0.2.1/pyproject.toml +0 -65
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/.gitattributes +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/.python-version +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/LICENSE +0 -0
- /bedrock_ge-0.2.1/examples/hk_kaitak_ags3/64475_ASD012162 AGS.ags → /bedrock_ge-0.2.3/examples/hk_kaitak_ags3/64475_ASD012162.ags +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/mypy.ini +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/ags3_to_gis.ipynb +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/bedrock_gi_to_speckle.ipynb +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/README.md +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/bedrock-data-package-schema.json +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/bedrock_sql_model.ipynb +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/frictionless-table-schema.json +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/jsonschema_to_tableschema.py +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/my-pandera-schema.json +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/pandera-plus-schema.json +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/sqlalchemy_to_json.py +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/sqlmodel_tutorial.py +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/data_validation/try_pandera.ipynb +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/diggs/AGS Example Template.xml +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/diggs/DIGGS1-DIGGS.XML +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/diggs/DIGGS1.ags +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/hk_ags3/link_insitu_lab_gi/giu_metadata_main.csv +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/hk_ags3/link_insitu_lab_gi/giu_metadata_rel_rep.csv +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/leapfrog_weka_hills/boreholes/Geol.csv +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/leapfrog_weka_hills/boreholes/Location.csv +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/leapfrog_weka_hills/boreholes/SPT.csv +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/leapfrog_weka_hills/cpt/CPT.csv +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/leapfrog_weka_hills/cpt/Location.csv +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/sandbox/leapfrog_weka_hills/leapfrog_csv_to_gis.ipynb +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/__init__.py +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/ags/__init__.py +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/ags/ags3_data_dictionary.json +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/ags/ags4_data_dictionary.json +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/ags/schemas.py +0 -0
- /bedrock_ge-0.2.1/src/bedrock_ge/gi/bedrock-gi-schema.json → /bedrock_ge-0.2.3/src/bedrock_ge/gi/brgi-schema.json +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/schemas.py +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/gi/sqlmodels.py +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/src/bedrock_ge/plot.py +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/tests/fixtures/ags4_sample.ags +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/tests/fixtures/asg4_expected.json +0 -0
- {bedrock_ge-0.2.1 → bedrock_ge-0.2.3}/tests/test_plot.py +0 -0
@@ -1,8 +1,11 @@
|
|
1
1
|
# marimo
|
2
2
|
__marimo__/
|
3
3
|
|
4
|
-
# Outputs
|
4
|
+
# Outputs, logs, tmp, etc.
|
5
5
|
**/output
|
6
|
+
**/log
|
7
|
+
**/tmp
|
8
|
+
**/temp
|
6
9
|
|
7
10
|
# SQLite Databases
|
8
11
|
*.sqlite
|
@@ -91,10 +94,6 @@ ENV/
|
|
91
94
|
env.bak/
|
92
95
|
venv.bak/
|
93
96
|
|
94
|
-
# Spyder project settings
|
95
|
-
.spyderproject
|
96
|
-
.spyproject
|
97
|
-
|
98
97
|
# Rope project settings
|
99
98
|
.ropeproject
|
100
99
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: bedrock-ge
|
3
|
-
Version: 0.2.
|
4
|
-
Summary: Bedrock
|
3
|
+
Version: 0.2.3
|
4
|
+
Summary: Bedrock's Python library for geotechnical engineering.
|
5
5
|
Project-URL: Homepage, https://bedrock.engineer/
|
6
6
|
Project-URL: Source, https://github.com/bedrock-engineer/bedrock-ge
|
7
7
|
Project-URL: Documentation, https://bedrock.engineer/docs/
|
@@ -9,18 +9,26 @@ Project-URL: Tracker, https://github.com/bedrock-engineer/bedrock-ge/issues
|
|
9
9
|
Author-email: Bedrock <info@bedrock.engineer>
|
10
10
|
License: Apache Software License (Apache 2.0)
|
11
11
|
License-File: LICENSE
|
12
|
-
Keywords: aec,ags,bedrock,bim,engineering
|
13
|
-
Classifier: Development Status ::
|
12
|
+
Keywords: aec,aeco,ags,ags3,ags4,bedrock,bim,borehole,borehole-data,civil-engineering,engineering-geology,geo-bim,geoscience-bim,geosciences,geospatial,geospatial-data,geostatistics,geotech,geotechnical,geotechnical-data,geotechnical-engineering,geotechnics,gi-data,gis,ground-engineering,ground-investigation,ground-investigation-data,subsurface,underground
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
14
|
+
Classifier: Intended Audience :: Education
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
14
16
|
Classifier: License :: OSI Approved :: Apache Software License
|
15
17
|
Classifier: Operating System :: OS Independent
|
16
|
-
Classifier: Programming Language :: Python
|
18
|
+
Classifier: Programming Language :: Python
|
19
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
24
|
+
Classifier: Programming Language :: Python :: 3.13
|
25
|
+
Classifier: Topic :: Scientific/Engineering
|
26
|
+
Classifier: Topic :: Scientific/Engineering :: GIS
|
17
27
|
Requires-Python: >=3.9
|
18
|
-
Requires-Dist: duckdb~=1.0
|
19
28
|
Requires-Dist: geopandas~=1.0
|
20
29
|
Requires-Dist: openpyxl~=3.0
|
21
30
|
Requires-Dist: pandera>=0.23.0
|
22
31
|
Requires-Dist: python-ags4~=1.0
|
23
|
-
Requires-Dist: sqlglot>=26.12.0
|
24
32
|
Requires-Dist: sqlmodel>=0.0.22
|
25
33
|
Description-Content-Type: text/markdown
|
26
34
|
|
@@ -28,19 +36,19 @@ Description-Content-Type: text/markdown
|
|
28
36
|
<img src="https://bedrock.engineer/public/Bedrock_TextRight.png" alt="Bedrock logo" width="75%"/>
|
29
37
|
</p>
|
30
38
|
|
31
|
-
<h3 align="center">Bedrock, the Open Source Foundation for
|
39
|
+
<h3 align="center">Bedrock, the Open Source Foundation for Geotechnical Engineering</h3>
|
32
40
|
|
33
41
|
---
|
34
42
|
|
35
43
|
📃 **Documentation:** <https://bedrock.engineer/docs>
|
36
44
|
|
37
|
-
🖥️ **Source Code:** <https://github.com/bedrock-
|
45
|
+
🖥️ **Source Code:** <https://github.com/bedrock-engineer/bedrock-ge>
|
38
46
|
|
39
|
-
🐍 **`bedrock-
|
47
|
+
🐍 **`bedrock-ge` on PyPI:** <https://pypi.org/project/bedrock-ge/>
|
40
48
|
|
41
49
|
🌐 **Website:** <https://bedrock.engineer/>
|
42
50
|
|
43
|
-
🔗 **LinkedIn:** <https://www.linkedin.com/company/bedrock-
|
51
|
+
🔗 **LinkedIn:** <https://www.linkedin.com/company/bedrock-engineer>
|
44
52
|
|
45
53
|
---
|
46
54
|
|
@@ -58,13 +66,13 @@ Description-Content-Type: text/markdown
|
|
58
66
|
| GeoJSON | ✅ | ✅ |
|
59
67
|
|
60
68
|
What do you need? [DIGGS](https://diggsml.org/)? [NADAG](https://www.ngu.no/geologisk-kartlegging/om-nadag-nasjonal-database-grunnundersokelser)? [GEF](https://publicwiki.deltares.nl/display/STREAM/Dutch+National+GEF+Standards)? Something else?
|
61
|
-
Let us know by creating an [issue](https://github.com/bedrock-
|
69
|
+
Let us know by creating an [issue](https://github.com/bedrock-engineer/bedrock-ge/issues) or starting a [discussion](https://github.com/orgs/bedrock-engineer/discussions) 💭
|
62
70
|
|
63
|
-
Also, if you have a project with publicly available GI data, please share that in a [discussion](https://github.com/orgs/bedrock-
|
71
|
+
Also, if you have a project with publicly available GI data, please share that in a [discussion](https://github.com/orgs/bedrock-engineer/discussions), such that we can create a tutorial from it 🤩
|
64
72
|
|
65
73
|
### ✅ Validate your GI data
|
66
74
|
|
67
|
-
`bedrock-
|
75
|
+
`bedrock-ge` comes with data validation to make sure that you can combine Ground Investigation data from multiple files into a single GIS database with consistent relationships between GI locations, samples, in-situ measurements and lab tests.
|
68
76
|
|
69
77
|
This data validation mechanism (based on [`pandera`](https://pandera.readthedocs.io/en/stable/)) is easily extensible, giving you the power to add your own data validation criteria 💪
|
70
78
|
|
@@ -90,7 +98,7 @@ Moreover, your GI data becomes available in all the software that [Speckle has c
|
|
90
98
|
|
91
99
|
### 🔓 Free and Open Source Software
|
92
100
|
|
93
|
-
Free and Open Source Software (FOSS) gives you full access to the code, which means you can customize `bedrock-
|
101
|
+
Free and Open Source Software (FOSS) gives you full access to the code, which means you can customize `bedrock-ge` to integrate with other tools and fit your workflows & project needs.
|
94
102
|
|
95
103
|
As the name implies, FOSS is free to use, so you're not tied to expensive software licenses or locked into a specific software vendor ⛓️💥
|
96
104
|
|
@@ -140,10 +148,10 @@ This relational database ([linked tables](https://en.wikipedia.org/wiki/Relation
|
|
140
148
|
|
141
149
|
## ⬇️ Installation
|
142
150
|
|
143
|
-
In case you're using `uv`, you can add `bedrock-
|
151
|
+
In case you're using `uv`, you can add `bedrock-ge` to your Python project and install it in your project's virtual environment by running:
|
144
152
|
|
145
153
|
```bash
|
146
|
-
uv add bedrock-
|
154
|
+
uv add bedrock-ge
|
147
155
|
```
|
148
156
|
|
149
157
|
I would highly recommend anyone to start using [`uv`](https://docs.astral.sh/uv/) (Unified Virtual Environment Manager) if you're not already doing so. Some of the advantages (Source: [`uv`](https://docs.astral.sh/uv/)):
|
@@ -153,10 +161,10 @@ I would highly recommend anyone to start using [`uv`](https://docs.astral.sh/uv/
|
|
153
161
|
- 🗂️ `uv` provides [comprehensive project management](https://docs.astral.sh/uv/#project-management), with a [universal lockfile](https://docs.astral.sh/uv/concepts/projects/#project-lockfile). This means no more headaches about virtual environments (or having to explain what on earth a virtual env is), or people running different versions of Python or Python packages on the same project, causing errors and other problems.
|
154
162
|
- In short, 🚀 `uv` is a single tool to replace `pip`, `pip-tools`, `pipx`, `poetry`, `pyenv`, `virtualenv`, `conda` and more...
|
155
163
|
|
156
|
-
It's of course also possible to install `bedrock-
|
164
|
+
It's of course also possible to install `bedrock-ge` from [PyPI](https://pypi.org/project/bedrock-ge/) (Python Packaging Index) using `pip`:
|
157
165
|
|
158
166
|
```bash
|
159
|
-
pip install bedrock-
|
167
|
+
pip install bedrock-ge
|
160
168
|
```
|
161
169
|
|
162
170
|
## 💭 Feedback
|
@@ -165,8 +173,8 @@ Got some feedback, a great idea, running into problems when working with Bedrock
|
|
165
173
|
|
166
174
|
Please feel free to:
|
167
175
|
|
168
|
-
1. open an issue for feature requests or bug reports: [`bedrock-
|
169
|
-
2. start a discussion in this GitHub repo: [Bedrock discussions](https://github.com/orgs/bedrock-
|
176
|
+
1. open an issue for feature requests or bug reports: [`bedrock-ge` issues](https://github.com/bedrock-engineer/bedrock-ge/issues),
|
177
|
+
2. start a discussion in this GitHub repo: [Bedrock discussions](https://github.com/orgs/bedrock-engineer/discussions),
|
170
178
|
3. or start a discussion on the Speckle community forum if that's more appropriate: [Speckle community forum](https://speckle.community/)
|
171
179
|
|
172
180
|
All feedback and engagement with the Bedrock community is welcome 🤗
|
@@ -181,7 +189,7 @@ Contributing isn't just about writing code:
|
|
181
189
|
|
182
190
|
- Use Bedrock and provide [feedback](#-feedback) 🪲
|
183
191
|
- Share how you use Bedrock 🏗️
|
184
|
-
- Help each other out, e.g. by replying to questions in the [discussions](https://github.com/orgs/bedrock-
|
192
|
+
- Help each other out, e.g. by replying to questions in the [discussions](https://github.com/orgs/bedrock-engineer/discussions) or [`bedrock-ge` issues](https://github.com/bedrock-engineer/bedrock-ge/issues) 🤝
|
185
193
|
- Spread the word about Bedrock 🤩
|
186
194
|
- Documentation and tutorials 📃
|
187
195
|
- Most pages on the [bedrock.engineer](https://bedrock.engineer/) website can be edited, so if you see a spelling mistake or have a suggestion on how to explain something better, please smash that button! 🖱️💥
|
@@ -203,13 +211,13 @@ If you want your ground investigation data to go into a GIS database, all GIS ge
|
|
203
211
|
|
204
212
|
Therefore, if you are dealing with GI data collected using different projected CRS's, you'll have to convert the Easting, Northing, z-coordinates to global longitude, latitude, ellipsoidal height coordinates in a geodetic CRS. ([Further reading](https://clover-animantarx-a3a.notion.site/Geomatics-36dfece2dece4358b44c44d08c9cded6))
|
205
213
|
|
206
|
-
Please start a [discussion](https://github.com/orgs/bedrock-
|
214
|
+
Please start a [discussion](https://github.com/orgs/bedrock-engineer/discussions) or create an issue if want to be able to put data that were collected in different projected CRS's into a single GIS database. This is pretty easy with [`geopandas`](https://geopandas.org/en/stable/) / [`pyproj`](https://pyproj4.github.io/pyproj/stable/) transformations, but hasn't been necessary yet.
|
207
215
|
|
208
216
|
## ✍️ Author
|
209
217
|
|
210
218
|
Hi, I'm Joost Gevaert 👋
|
211
219
|
|
212
|
-
I studied geotechnical engineering and applied geophysics and then worked for [Arup](https://www.arup.com/) for 4 as a geotechnical engineer
|
220
|
+
I studied geotechnical engineering and applied geophysics and then worked for [Arup](https://www.arup.com/) for 4 years as a geotechnical engineer and computational designer.
|
213
221
|
|
214
222
|
During my time at Arup I worked a lot on bringing computational design into the world of geotechnical engineering, and on [bridging the gaps between geotechnical engineering and structural engineering](https://www.linkedin.com/posts/joost-gevaert_lightbim-lightbim-lightbim-activity-7234726439835549697-3xdO).
|
215
223
|
|
@@ -2,19 +2,19 @@
|
|
2
2
|
<img src="https://bedrock.engineer/public/Bedrock_TextRight.png" alt="Bedrock logo" width="75%"/>
|
3
3
|
</p>
|
4
4
|
|
5
|
-
<h3 align="center">Bedrock, the Open Source Foundation for
|
5
|
+
<h3 align="center">Bedrock, the Open Source Foundation for Geotechnical Engineering</h3>
|
6
6
|
|
7
7
|
---
|
8
8
|
|
9
9
|
📃 **Documentation:** <https://bedrock.engineer/docs>
|
10
10
|
|
11
|
-
🖥️ **Source Code:** <https://github.com/bedrock-
|
11
|
+
🖥️ **Source Code:** <https://github.com/bedrock-engineer/bedrock-ge>
|
12
12
|
|
13
|
-
🐍 **`bedrock-
|
13
|
+
🐍 **`bedrock-ge` on PyPI:** <https://pypi.org/project/bedrock-ge/>
|
14
14
|
|
15
15
|
🌐 **Website:** <https://bedrock.engineer/>
|
16
16
|
|
17
|
-
🔗 **LinkedIn:** <https://www.linkedin.com/company/bedrock-
|
17
|
+
🔗 **LinkedIn:** <https://www.linkedin.com/company/bedrock-engineer>
|
18
18
|
|
19
19
|
---
|
20
20
|
|
@@ -32,13 +32,13 @@
|
|
32
32
|
| GeoJSON | ✅ | ✅ |
|
33
33
|
|
34
34
|
What do you need? [DIGGS](https://diggsml.org/)? [NADAG](https://www.ngu.no/geologisk-kartlegging/om-nadag-nasjonal-database-grunnundersokelser)? [GEF](https://publicwiki.deltares.nl/display/STREAM/Dutch+National+GEF+Standards)? Something else?
|
35
|
-
Let us know by creating an [issue](https://github.com/bedrock-
|
35
|
+
Let us know by creating an [issue](https://github.com/bedrock-engineer/bedrock-ge/issues) or starting a [discussion](https://github.com/orgs/bedrock-engineer/discussions) 💭
|
36
36
|
|
37
|
-
Also, if you have a project with publicly available GI data, please share that in a [discussion](https://github.com/orgs/bedrock-
|
37
|
+
Also, if you have a project with publicly available GI data, please share that in a [discussion](https://github.com/orgs/bedrock-engineer/discussions), such that we can create a tutorial from it 🤩
|
38
38
|
|
39
39
|
### ✅ Validate your GI data
|
40
40
|
|
41
|
-
`bedrock-
|
41
|
+
`bedrock-ge` comes with data validation to make sure that you can combine Ground Investigation data from multiple files into a single GIS database with consistent relationships between GI locations, samples, in-situ measurements and lab tests.
|
42
42
|
|
43
43
|
This data validation mechanism (based on [`pandera`](https://pandera.readthedocs.io/en/stable/)) is easily extensible, giving you the power to add your own data validation criteria 💪
|
44
44
|
|
@@ -64,7 +64,7 @@ Moreover, your GI data becomes available in all the software that [Speckle has c
|
|
64
64
|
|
65
65
|
### 🔓 Free and Open Source Software
|
66
66
|
|
67
|
-
Free and Open Source Software (FOSS) gives you full access to the code, which means you can customize `bedrock-
|
67
|
+
Free and Open Source Software (FOSS) gives you full access to the code, which means you can customize `bedrock-ge` to integrate with other tools and fit your workflows & project needs.
|
68
68
|
|
69
69
|
As the name implies, FOSS is free to use, so you're not tied to expensive software licenses or locked into a specific software vendor ⛓️💥
|
70
70
|
|
@@ -114,10 +114,10 @@ This relational database ([linked tables](https://en.wikipedia.org/wiki/Relation
|
|
114
114
|
|
115
115
|
## ⬇️ Installation
|
116
116
|
|
117
|
-
In case you're using `uv`, you can add `bedrock-
|
117
|
+
In case you're using `uv`, you can add `bedrock-ge` to your Python project and install it in your project's virtual environment by running:
|
118
118
|
|
119
119
|
```bash
|
120
|
-
uv add bedrock-
|
120
|
+
uv add bedrock-ge
|
121
121
|
```
|
122
122
|
|
123
123
|
I would highly recommend anyone to start using [`uv`](https://docs.astral.sh/uv/) (Unified Virtual Environment Manager) if you're not already doing so. Some of the advantages (Source: [`uv`](https://docs.astral.sh/uv/)):
|
@@ -127,10 +127,10 @@ I would highly recommend anyone to start using [`uv`](https://docs.astral.sh/uv/
|
|
127
127
|
- 🗂️ `uv` provides [comprehensive project management](https://docs.astral.sh/uv/#project-management), with a [universal lockfile](https://docs.astral.sh/uv/concepts/projects/#project-lockfile). This means no more headaches about virtual environments (or having to explain what on earth a virtual env is), or people running different versions of Python or Python packages on the same project, causing errors and other problems.
|
128
128
|
- In short, 🚀 `uv` is a single tool to replace `pip`, `pip-tools`, `pipx`, `poetry`, `pyenv`, `virtualenv`, `conda` and more...
|
129
129
|
|
130
|
-
It's of course also possible to install `bedrock-
|
130
|
+
It's of course also possible to install `bedrock-ge` from [PyPI](https://pypi.org/project/bedrock-ge/) (Python Packaging Index) using `pip`:
|
131
131
|
|
132
132
|
```bash
|
133
|
-
pip install bedrock-
|
133
|
+
pip install bedrock-ge
|
134
134
|
```
|
135
135
|
|
136
136
|
## 💭 Feedback
|
@@ -139,8 +139,8 @@ Got some feedback, a great idea, running into problems when working with Bedrock
|
|
139
139
|
|
140
140
|
Please feel free to:
|
141
141
|
|
142
|
-
1. open an issue for feature requests or bug reports: [`bedrock-
|
143
|
-
2. start a discussion in this GitHub repo: [Bedrock discussions](https://github.com/orgs/bedrock-
|
142
|
+
1. open an issue for feature requests or bug reports: [`bedrock-ge` issues](https://github.com/bedrock-engineer/bedrock-ge/issues),
|
143
|
+
2. start a discussion in this GitHub repo: [Bedrock discussions](https://github.com/orgs/bedrock-engineer/discussions),
|
144
144
|
3. or start a discussion on the Speckle community forum if that's more appropriate: [Speckle community forum](https://speckle.community/)
|
145
145
|
|
146
146
|
All feedback and engagement with the Bedrock community is welcome 🤗
|
@@ -155,7 +155,7 @@ Contributing isn't just about writing code:
|
|
155
155
|
|
156
156
|
- Use Bedrock and provide [feedback](#-feedback) 🪲
|
157
157
|
- Share how you use Bedrock 🏗️
|
158
|
-
- Help each other out, e.g. by replying to questions in the [discussions](https://github.com/orgs/bedrock-
|
158
|
+
- Help each other out, e.g. by replying to questions in the [discussions](https://github.com/orgs/bedrock-engineer/discussions) or [`bedrock-ge` issues](https://github.com/bedrock-engineer/bedrock-ge/issues) 🤝
|
159
159
|
- Spread the word about Bedrock 🤩
|
160
160
|
- Documentation and tutorials 📃
|
161
161
|
- Most pages on the [bedrock.engineer](https://bedrock.engineer/) website can be edited, so if you see a spelling mistake or have a suggestion on how to explain something better, please smash that button! 🖱️💥
|
@@ -177,13 +177,13 @@ If you want your ground investigation data to go into a GIS database, all GIS ge
|
|
177
177
|
|
178
178
|
Therefore, if you are dealing with GI data collected using different projected CRS's, you'll have to convert the Easting, Northing, z-coordinates to global longitude, latitude, ellipsoidal height coordinates in a geodetic CRS. ([Further reading](https://clover-animantarx-a3a.notion.site/Geomatics-36dfece2dece4358b44c44d08c9cded6))
|
179
179
|
|
180
|
-
Please start a [discussion](https://github.com/orgs/bedrock-
|
180
|
+
Please start a [discussion](https://github.com/orgs/bedrock-engineer/discussions) or create an issue if want to be able to put data that were collected in different projected CRS's into a single GIS database. This is pretty easy with [`geopandas`](https://geopandas.org/en/stable/) / [`pyproj`](https://pyproj4.github.io/pyproj/stable/) transformations, but hasn't been necessary yet.
|
181
181
|
|
182
182
|
## ✍️ Author
|
183
183
|
|
184
184
|
Hi, I'm Joost Gevaert 👋
|
185
185
|
|
186
|
-
I studied geotechnical engineering and applied geophysics and then worked for [Arup](https://www.arup.com/) for 4 as a geotechnical engineer
|
186
|
+
I studied geotechnical engineering and applied geophysics and then worked for [Arup](https://www.arup.com/) for 4 years as a geotechnical engineer and computational designer.
|
187
187
|
|
188
188
|
During my time at Arup I worked a lot on bringing computational design into the world of geotechnical engineering, and on [bridging the gaps between geotechnical engineering and structural engineering](https://www.linkedin.com/posts/joost-gevaert_lightbim-lightbim-lightbim-activity-7234726439835549697-3xdO).
|
189
189
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Releasing a new version of `bedrock-
|
1
|
+
# Releasing a new version of `bedrock-ge`
|
2
2
|
|
3
3
|
## 1. Update the Version Number
|
4
4
|
|
@@ -75,14 +75,14 @@ uv publish
|
|
75
75
|
## 10. Verify the Release
|
76
76
|
|
77
77
|
Check that the new version is available on PyPI:
|
78
|
-
<https://pypi.org/project/bedrock-
|
78
|
+
<https://pypi.org/project/bedrock-ge/>
|
79
79
|
|
80
80
|
Install the new Python package version in a clean environment to verify it works:
|
81
81
|
|
82
82
|
```bash
|
83
|
-
uv run --with bedrock-
|
83
|
+
uv run --with bedrock-ge --no-project -- python -c "import bedrock_ge; print(f'bedrock-ge version: {bedrock_ge.__version__}')"
|
84
84
|
```
|
85
85
|
|
86
86
|
## 11. Create a GitHub Release
|
87
87
|
|
88
|
-
Create a new release based on the tag: [github.com/bedrock-
|
88
|
+
Create a new release based on the tag: [github.com/bedrock-engineer/bedrock-ge/releases](https://github.com/bedrock-engineer/bedrock-ge/releases).
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# `bedrock-ge` examples
|
2
|
+
|
3
|
+
This folder contains example notebooks that guide you how to use Bedrock's Geotechnical Engineering Python package `bedrock-ge`.
|
4
|
+
|
5
|
+
## How to run the example notebooks
|
6
|
+
|
7
|
+
The notebooks are available as [marimo](https://marimo.io/) (`.py` extension) as well as [Jupyter](https://jupyter.org/) notebooks (`.ipynb` extension). However, it is **STRONGLY** recommended to use the marimo notebooks, as they are more user-friendly and have [several other advantages over Jupyter notebooks](https://docs.marimo.io/#highlights).
|
8
|
+
|
9
|
+
Both the marimo notebooks as well as the Jupyter notebooks can be run online, i.e. remotely, or on your own computer, i.e. locally.
|
10
|
+
|
11
|
+
### marimo
|
12
|
+
|
13
|
+
marimo notebooks are normal Python files, and therefore have the `.py` extension.
|
14
|
+
|
15
|
+
#### Remotely: marimo playground
|
16
|
+
|
17
|
+
marimo notebooks on GitHub can directly be run remotely in the [marimo playground](https://docs.marimo.io/guides/publishing/playground/#open-notebooks-hosted-on-github). To open the notebooks in this repository:
|
18
|
+
|
19
|
+
1. Navigate to one of them, e.g.
|
20
|
+
The Kai Tak, Hong Kong AGS 3 example: [hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.py](https://github.com/bedrock-engineer/bedrock-ge/blob/main/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.py)
|
21
|
+
2. Copy the GitHub URL of the notebook you want to try, e.g.
|
22
|
+
https://github.com/bedrock-engineer/bedrock-ge/blob/main/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.py
|
23
|
+
3. Open a new tab and go to `marimo.app/<Ctrl + V the copied GitHub URL>`, e.g.
|
24
|
+
https://marimo.app/https://github.com/bedrock-engineer/bedrock-ge/blob/dev/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.py
|
25
|
+
|
26
|
+
#### Locally: on your own computer
|
27
|
+
|
28
|
+
Running the marimo notebooks in this repo locally is very easy if you're using [`uv`](https://docs.astral.sh/uv/) to manage Python. In case you're not usinng `uv` to manage Python yet, make sure to give it a try! (INCLUDE A LINK TO BEDROCK DOCS ON HOW TO INSTALL `uv`.)
|
29
|
+
|
30
|
+
Managing Python with `uv` will save you many many headaches w.r.t. managing virtual environments, Python packages, etc. etc. etc. Probably the greatest thing about `uv` is that you don't really need to understand what a virtual environment is...
|
31
|
+
|
32
|
+
To run a marimo notebook from this repo locally:
|
33
|
+
|
34
|
+
1. Download the notebook
|
35
|
+
2. Open the terminal
|
36
|
+
3. Navigate to the directory where you downloaded the marimo notebook with `cd` (change directory). On Windows this could be:
|
37
|
+
```bash
|
38
|
+
cd %USERPROFILE%\Downloads
|
39
|
+
```
|
40
|
+
4. Run the marimo notebook with:
|
41
|
+
```bash
|
42
|
+
uvx marimo edit --sandbox marimo_notebook.py
|
43
|
+
```
|
44
|
+
|
45
|
+
### Jupyter
|
46
|
+
|
47
|
+
Jupyter notebooks have the `.ipynb` extension, which is short for Interactive Python NoteBook.
|
48
|
+
|
49
|
+
#### Remotely: Google Colab
|
50
|
+
|
51
|
+
1. Navigate to one of them, e.g.
|
52
|
+
The Kai Tak, Hong Kong AGS 3 example: [hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.ipynb](https://github.com/bedrock-engineer/bedrock-ge/blob/main/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.ipynb)
|
53
|
+
2. Copy the GitHub URL of the notebook you want to try, e.g.
|
54
|
+
https://github.com/bedrock-engineer/bedrock-ge/blob/main/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.ipynb
|
55
|
+
3. Navigate to [colab.research.google.com](https://colab.research.google.com/)
|
56
|
+
4. Paste the GitHub URL in the GitHub > Enter a GitHub URL... field
|
57
|
+
|
58
|
+
#### Locally: on your own computer
|
59
|
+
|
60
|
+
How much do we need to go into detail on how to run a Jupyter Notebook?
|
61
|
+
|
62
|
+
I think that if people don't know how to run a Jupyter notebook they should simply use the marimo notebook. The only reason to not use marimo, is when a company uses some deployed Jupyter service like Google Colab, Jupyter Hub or something like that, in which case they should run the Jupyter notebook remotely.
|
63
|
+
|
64
|
+
## Eporting marimo notebooks to other formats
|
65
|
+
|
66
|
+
### Jupyter Notebook
|
67
|
+
|
68
|
+
```bash
|
69
|
+
marimo export ipynb --sandbox --sort top-down --include-outputs hk_kaitak_ags3_to_brgi_geodb.py -o hk_kaitak_ags3_to_brgi_geodb.ipynb
|
70
|
+
```
|
71
|
+
|
72
|
+
After or before exporting a marimo notebook to a Jupyter notebook, the cell with the import statements and the cell(s) with function definitions have to be moved to the top of the Jupyter notebook for it to work. Additionally, in order for Google Colab to be able to run the notebook, you need to install `bedrock-ge` and a few other Python libraries by adding the following cell to the very top of the Jupyter notebook:
|
73
|
+
|
74
|
+
```bash
|
75
|
+
! pip install bedrock-ge folium mapclassify marimo --quiet
|
76
|
+
```
|
77
|
+
|
78
|
+
### HTML WebAssembly (WASM)
|
79
|
+
|
80
|
+
```bash
|
81
|
+
marimo export html-wasm --sandbox --mode edit hk_kaitak_ags3_to_brgi_geodb.py -o output
|
82
|
+
```
|