FOSS4G 2023

Stefan Brand

Role

GIS Consultant, coordinating product development of the Agri App, an Area Monitoring System (AMS) app for paying agencies within the Common Agricultural Policy (CAP) of the European Union

About

Loved by Christ, blessed by the Father. Never satisfied with superficial answers. Youth ministry leader. Reading, cooking, (train) traveling, board games, jigsaw puzzles, pilgrimages.


Sessions

06-28
14:35
5min
How I discovered, tested and fixed a bug in GeoDjango
Stefan Brand

Here comes a developer story about contributing to GeoDjango.

An unfortunate combination of a valid, but unconventional spatial reference on the one hand, and "smart" logic for a mixed-geometry dataset: Geometries supposed to be located in Austria ended up in the Near East.

Investigation showed that GeoDjango's behaviour for returning the SRID of the dataset was not according to its documentation (see Django ticket #34302). While fixing the issue, additionally, an incorrect type cast from None to string was discovered.

In this talk you will also learn:
1. How to set up the GeoDjango test suite with a PostGIS docker container
2. How the Django code review process looks like

Use cases & applications
UBT C / N110 - Second Floor
06-28
15:10
5min
Adding static type hints to fiona
Stefan Brand, Fabian Schindler-Strauss

Static type hints according to PEP 484 (and its extensions) have been a part of Python since version 3.5, which came out in 2015. Research from 2021 shows that 3 out of 4 Python developers already use optional type hinting at least sometimes in their projects. Time is ripe for static type hints to enter the FOSS4G Python world!

A GitHub issue on fiona's issue tracker to add static type hints to the library recently gained some traction. Currently, it is envisioned to create type stubs for fiona 1.9 and possibly move the type hints into core fiona with the future 2.0 version.

This talk will give an overview on the current status of the effort to add type hints to fiona. Furthermore it will briefly discuss considerations and the reasoning behind design decisions taken up until then. Contributions to the effort are very much welcome – just take part in the discussion on GitHub.

State of software
UBT C / N110 - Second Floor