Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Mayer
CircularGreenSimCity
Commits
7757ff33
Commit
7757ff33
authored
Jul 22, 2024
by
Eric Duminil
Browse files
Extrusion: typo
parent
0054e195
Changes
2
Show whitespace changes
Inline
Side-by-side
gml_extrusion/build_up_geo
n
metries.py
→
gml_extrusion/build_up_geometries.py
View file @
7757ff33
File moved
gml_extrusion/building_extension.ipynb
View file @
7757ff33
...
...
@@ -23,7 +23,7 @@
"import ipywidgets as widgets\n",
"from IPython.display import display\n",
"from choose_extrusion_buildings import choose_building\n",
"from build_up_geo
n
metries import bldg_extrusion\n",
"from build_up_geometries import bldg_extrusion\n",
"from gml_parsing import little_parser"
]
},
...
...
@@ -85,7 +85,7 @@
" floor_height = floor_height_input.value\n",
" gml_path = gml_path_input.value\n",
" gml_file = gml_file_input.value\n",
"
\n",
"\n",
" file_path = gml_path + gml_file\n",
" # Run choose_building and bldg_extrusion classes\n",
" #----------------------------------------------------------------------------\n",
...
...
@@ -111,7 +111,7 @@
"\n",
" extrude_gml = bldg_extrusion(gml_par, file_path, output_file_path, floor_height, residential_code)\n",
" extrude_gml.bldg_extrusion()\n",
"
\n",
"\n",
" # Print confirmation message\n",
" print('Code executed successfully!')"
]
...
...
%% Cell type:markdown id: tags:
# ---------------------------------------------------------------------
# File Name: building_extension.py
# Purpose: CityGML building objects are randomly choosen and extended in given height
# Author: Nico Ehlers
# Created: 2024-07-08
# ---------------------------------------------------------------------
%% Cell type:code id: tags:
```
python
import
pandas
as
pd
import
os
import
ipywidgets
as
widgets
from
IPython.display
import
display
from
choose_extrusion_buildings
import
choose_building
from
build_up_geo
n
metries
import
bldg_extrusion
from
build_up_geometries
import
bldg_extrusion
from
gml_parsing
import
little_parser
```
%% Cell type:code id: tags:
```
python
# Create input widgets
residential_code_input
=
widgets
.
Text
(
description
=
'Residential Code:'
,
value
=
'31001_1000'
)
# '31001_1010' Asberg)
bldg_extension_input
=
widgets
.
IntSlider
(
description
=
'Building Extension:'
,
min
=
0
,
max
=
5
,
step
=
1
,
value
=
2
)
extrusion_percentage_input
=
widgets
.
FloatSlider
(
description
=
'Extrusion Percentage:'
,
min
=
0.0
,
max
=
1.0
,
step
=
0.1
,
value
=
1.0
)
floor_height_input
=
widgets
.
FloatText
(
description
=
'Floor Height:'
,
value
=
3.5
)
gml_path_input
=
widgets
.
Text
(
description
=
'GML Path:'
,
value
=
os
.
getcwd
()
+
'\GML_files
\\
'
)
gml_file_input
=
widgets
.
Text
(
description
=
'GML File:'
,
value
=
'Grombuehl_LoD2_mini.gml'
)
#Grafenbühl.gml
```
%% Cell type:code id: tags:
```
python
# Create button widget
run_button
=
widgets
.
Button
(
description
=
'Run Code'
)
# Create output widget
output
=
widgets
.
Output
()
```
%% Cell type:code id: tags:
```
python
gml_path
=
os
.
getcwd
()
+
'\GML_files
\\
'
gml_file
=
'Grombuehl_LoD2_mini.gml'
save_name
=
gml_file
.
split
(
'.'
)[
0
]
+
'_'
gml_info
=
little_parser
(
gml_path
+
gml_file
)
gml_par
=
gml_info
.
little_parser
()
```
%% Cell type:code id: tags:
```
python
# Define function to run when button is clicked
def
run_code
(
button
):
with
output
:
# Get user inputs
residential_code
=
residential_code_input
.
value
bldg_extension
=
bldg_extension_input
.
value
extrusion_percentage
=
extrusion_percentage_input
.
value
floor_height
=
floor_height_input
.
value
gml_path
=
gml_path_input
.
value
gml_file
=
gml_file_input
.
value
file_path
=
gml_path
+
gml_file
# Run choose_building and bldg_extrusion classes
#----------------------------------------------------------------------------
### GML PARSING
#----------------------------------------------------------------------------
save_name
=
gml_file
.
split
(
'.'
)[
0
]
+
'_'
gml_info
=
little_parser
(
file_path
)
gml_par
=
gml_info
.
little_parser
()
#----------------------------------------------------------------------------
### choose buildings for extrusion
#----------------------------------------------------------------------------
# TODO: at the moment all construction massive
gml_par
[
'construction_type'
]
=
'massive'
extr
=
choose_building
(
gml_par
,
bldg_extension
,
residential_code
,
extrusion_percentage
)
gml_par
=
extr
.
choose_building
()
# filter buildings with residential code
gml_par
=
gml_par
[
gml_par
[
'function'
]
==
residential_code
].
reset_index
(
drop
=
True
)
#----------------------------------------------------------------------------
### GML extrusion
#----------------------------------------------------------------------------
# Example usage
output_file_path
=
gml_path
+
gml_file
.
replace
(
'.gml'
,
'_extruded.gml'
)
extrude_gml
=
bldg_extrusion
(
gml_par
,
file_path
,
output_file_path
,
floor_height
,
residential_code
)
extrude_gml
.
bldg_extrusion
()
# Print confirmation message
print
(
'Code executed successfully!'
)
```
%% Cell type:code id: tags:
```
python
# Attach function to button click event
run_button
.
on_click
(
run_code
)
# Display the widgets
display
(
residential_code_input
,
bldg_extension_input
,
extrusion_percentage_input
,
floor_height_input
,
gml_path_input
,
gml_file_input
,
run_button
,
output
)
```
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment