GSoC 2021

Martin Dobias 2021-02-09 16:08:08 +01:00
parent 310fc9c00d
commit 1bb6d5bb66

@ -0,0 +1,45 @@
QGIS project would like to participate in Google Summer of Code 2021 under the umbrella of OSGeo.
- https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2021
- https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2021_Ideas
# Project ideas
## QGIS 3D: support for 3D Tiles and I3S
* Expected outcome: QGIS can consume remote 3D datasets (e.g. 3D buildings)
* Skills required: Qt/C++, basic knowledge of 3D graphics
* Mentors: Martin Dobias (@wonder-sk), Peter Petrik (@PeterPetrik)
* Difficulty: medium
* Test for student: write a python script that could be run in QGIS, the script should create a new memory layer with point geometries with a bunch of randomly placed 3D points within current project's area and assign a 3D renderer to the layer to display a sphere in 3D map view for each point.
The task would be to implement client-side support for 3D Tiles [1] and ESRIs I3S [2] which are both OGCs community standards [3,4]. These formats allow users to get access to detailed 3D data, nowadays most commonly 3D buildings in cities, often including textures for higher quality of the display. See examples of what is possible to achieve with these formats [5,6].
Both formats have several sub-formats for handling different data types - the focus would be only on data specified as triangular mesh - in 3D Tiles this is called “Batched 3D Model” and in I3S this is called “3D objects”. Support for other sub-formats could be added as well if there is enough time.
The focus of this task would be on studying the documentation on how these formats work and creation of a parser that would read the data and create objects in QGIS 3D view. All the work would be done in C++ and Qt libraries and QGIS libraries. 3D capabilities of QGIS are based on Qt3D framework.
[1] https://github.com/CesiumGS/3d-tiles
[2] https://github.com/Esri/i3s-spec
[3] https://www.ogc.org/standards/3DTiles
[4] https://www.ogc.org/standards/i3s
[5] https://github.com/CesiumGS/3d-tiles/blob/master/ECOSYSTEM.md
[6] https://3dcities.maps.arcgis.com/apps/MapSeries/index.html?appid=444de19a88764d58885ea8e211e96ae8
# For possible mentors
When adding a project idea, please make sure to add the following:
1. a project title/description
2. more detailed description of the project (2-5 sentences)
3. expected outcomes
4. skills required/preferred
5. 2 possible mentors.
6. if possible, an easy, medium or hard rating of each project.
7. A test for the students to submit to your evaluation. The test aims at evaluating if the student is capable for the project, so please design it having in mind the skills required to complete the project.