Jessica Monahan, Victoria Tsalapati, Haohua Gan, Yan Gao, Citra Andinasari, Hugo Ledoux , Lukas Beuster
all affiliated to: Delft University of Technology
Introducing City4CFD, your gateway to seamless urban 3D modelling for microscale flow simulations! This open-source software (GitHub code) revolutionises how we reconstruct city geometries.
With City4CFD, creating detailed urban 3D scenes (with terrain and buildings) from point clouds is automated and intuitive, complete with imprinted surfaces like green areas and water bodies. Its versatility allows you to reconstruct buildings in various levels of detail, combining data from multiple sources:
The result? A watertight, seamlessly integrated 3D geometry ready for high-resolution microscale simulations. City4CFD transforms city modelling into an exciting, efficient, and open-access experience.
{ | |
"CityObjects": { | |
"id-1": { | |
"geometry": [ | |
{ | |
"boundaries": [ | |
[ | |
[ | |
0, | |
1, |
import rerun as rr | |
import numpy as np | |
import trimesh | |
import laspy | |
import startinpy | |
las = laspy.read("/Users/hugo/data/ahn4/crop.laz") | |
d = np.vstack((las.x, las.y, las.z)). transpose() | |
c = np. vstack((las.red, las.green, las.blue) ).transpose() |
import re | |
# Variable global para almacenar ids | |
ids_usuarios = [] | |
# Variable global para almacenar información de usuarios | |
usuarios = {} | |
# Función para generar ID único | |
def generate_id(): |
The Board of Studies (BoS) for the program "MSc Geomatics" was established on 2023-01-01 as a separate and independent board of studies at the Faculty of Architecture and the Built Environment (A+BE).
Before 2023-01-01, there were 2 members from the MSc Geomatics (one teacher and one student) in the BoS of the Faculty A+BE. This BoS covered 5 different programmes (at both the BSc and MSc levels, on different topics, and having different teaching languages (Dutch and English)). The general feeling was that since the program MSc Geomatics is somewhat different from the other ones, a specific BoS that would address the specificities of the program would be better for ensuring that the quality of the education stays high.
We therefore present the activities and advices we gave during the period 2023-01-01 to 2023-08-30.
import startinpy | |
import laspy | |
import numpy as np | |
import sys | |
np.set_printoptions(precision=3, suppress=True) | |
las = laspy.read('/Users/hugo/teaching/hw04-marking/data/area_full.laz') | |
print(las) | |
pts = np.vstack((las.x, las.y, las.z)).transpose() |
import laspy | |
import numpy as np | |
import sys | |
np.set_printoptions(precision=2, suppress=True) | |
# 0. Creating some dummy data | |
my_data_xx, my_data_yy = (np.random.random_sample(size=1000) * 100, np.random.random_sample(size=1000) * 100) | |
# print(my_data_xx) | |
my_data_zz = np.random.random_sample(size=1000) * 2 | |
my_data = np.hstack((my_data_xx.reshape((-1, 1)), my_data_yy.reshape((-1, 1)), my_data_zz.reshape((-1, 1)))) |
import laspy | |
import numpy as np | |
import sys | |
las = laspy.read('/Users/hugo/teaching/hw04-marking/data/area_full.laz') | |
#-- fetch all points within 100m of the median xyz of the file | |
coords = np.vstack((las.x, las.y, las.z)).transpose() | |
median = np.median(coords, axis=0) |