Assignment 03

Creating a 3D city model from public datasets

Deadline is 6 April 2020 at 09:00am.

Late submission? 10% will be removed for each day that you are late.

You’re allowed for this assignment to work in a group of 2 or 3 (and thus submit only one solution for all of you). If you prefer to work alone it’s also fine, but we don’t recommend it.

3d city model of tud campus



Overview of the assignment

For this assignment you need to construct a 3D city model of the area of the TU Delft campus by combining two publicly available datasets in the Netherlands. The model must be delivered in the CityJSON format.

You will:

  1. take polygons from a topographic map (BAG), and extrude them to create LoD1.2 buildings. The height will be obtained from a point cloud (AHN3);
  2. reconstruct in 3D the trees in the given area. It is up to you to choose how to best reconstruct them (we give some tips below).

While the two required datasets are publicly available via PDOK, we have prepared and extracted the footprints for the area that is relevant for this assignment. You have to download yourself the AHN3 point cloud (sorry it’s just too large!).

Notice that this assignment is more exploratory, and less prescribed, than the 2 previous ones. There are therefore many different workflows/methodologies to produce the CityJSON files. We are interested in the solutions you come up with, those solutions are based on what you have learned so far in GEO1000, GEO1002, GEO1015, and this course. In the time given for this assignment, we do not expect you to provide a perfect solution; document what you’ve done and report how it could implement (see section below).

Description of datasets

BAG

The Basisregistraties Adressen en Gebouwen (BAG) is a register of buildings and addresses in the Netherlands. It includes building footprints and some valuable attributes such as the year of construction (bouwjaar).

tudcampus.geojson

(a GeoJSON file is a simple JSON files for 2D GIS data, you can open it with QGIS, like a shapefile)

AHN3 point cloud

The Actueel Hoogtebestand Nederland (AHN) is a national elevation map (point cloud) of the Netherlands that is maintained by the Dutch water boards.

The AHN3 dataset is distributed in the ASPRS LAS format.

You can download the dataset from this PDOK page. Select the correct tile and download the right format (Puntenwolk/LAZ).

Note: Because of the large filesize (~3.5 GB!) it is strongly recommended that you clip it using the provided polygon that delineates the study area. You can do this in a preprocessing step.

Note: In addition, you may want to use thinning in order to make you code run faster during testing and development.

Requirements for the CityJSON output

  1. the output CRS is EPSG:7415
  2. use CityJSON version 1.0
  3. the file you produce must be valid: both according to the schema and the 3D geometries must be valid. This tutorial is helpful.

Building

BAG CityJSON attributes
bouwjaar yearOfConstruction
(calculated from AHN3) measuredHeight
(derived from height) storeysAboveGround

Trees

Methodology/workflow to use

You are free to use any tools you want to prepare the data, including QGIS, FME, and Python. There are some exceptions: tools that perform the whole workfow automatically (eg 3dfier for the buildings, or others you could find online) are not allowed (in doubt, just ask on the GEO1004 forum). You have to write the building extrusion code yourself, preferably in Python, but any language is allowed You need to find and implement yourself the methodology.

We recommend using Python with a few packages, as described below. Notice that it’s perfectly fine to perform some tasks with QGIS, and then simply implement in Python some other parts.

Marking

The report should have the following four sections, and only these. We expect a report of ~12-15 pages (including figures). Focus on the parts where you had the most difficulties, and describe the solution you designed (and discuss potential alternatives that you considered).

1. Overview of the methodology used (25%)

2. Pros and cons of the methodology implemented (15%)

3. Contributions of the members (5%)

4. Improvements to CityJSON and its docs? (5%)

Further reading (not mandatory, not at the exam, just as references)

  1. Height references of CityGML LOD1 buildings and their influence on applications, 2014, Proceedings of the 9th 3DGeoInfo Conference. By Filip Biljecki, Hugo Ledoux and Jantien Stoter [PDF]
  2. have a look at the software 3dfier for some inspiration.
  3. Topological consistent 3D city models obtained by extrusion, 2011, published in International Journal of Geographical Information Science, Volume 15, nr 4, pages 557-574. By Hugo Ledoux and Martijn Meijers [PDF]
  4. LOD Generation for Urban Scenes, 2015, ACM Trans. on Graphics, 34(3). By Verdie Y, Lafarge F, Alliez P. [PDF]

What to submit and how to submit it

You must hand in one ZIP containing:

  1. your CityJSON file (all in one file)
  2. a report in PDF format (not in Microsoft Word please)
  3. the (Python) code you wrote to extrude and create the trees (can be more than one .py).

Do not submit your assignment by email, but use that Dropbox link. Make sure that you put the full name of one of the member of the team (only one is sufficient).

[last updated: 02/05/21 (13:49:43)]