Yes, 2020 was a “special year” in pandemic and political terms. So much has been written and opinions expressed, that I don’t see a need to add to more here. Some of my activities below may make clear how I and we (OSGeo.nl community) dealt.
TL;DR. My absolute 2020-highlight was initiating and working on De Grote Geo Show (“DGGS, The Big Geo Show”), a live-streamed webshow in “De Wereld Draait Door”-style. This was/is a great team-effort by Dutch Open Source Geo/OSGeo.nl community members. Kudos to Erik, Niene, Mariëlle, Jonna, Willem, Hans and many many more (about 30+ folks)! We streamed 13 shows in 2020 with a huge range of subjects and (international) guests. And we’re still going strong with a DGGS New Year’s Show/Socializer on Sunday, Jan. 24, 2021.
Below follow 2020-highlights by theme.
The Big Geo Show
Let’s start with the absolute 2020 highlight. It became clear in March 2020 that we had to cancel or virtualize our planned (June 2020, ITC Enschede) FOSS4G-NL conference and other OSGeo.nl events. I invested some time into “webinar streaming software”: Zoom, Jitsi, Teams WebEx etc. Those did not really appeal to me for what I had in mind.
For personal streaming, I was testing OBS Studio, streaming to Twitch.tv and YouTube. I then stumbled on “Learn with Jason” . Very entertaining and deeply technical at the same time. I liked the format of having guests in the stream. That triggered me to do something similar with the Open Source Geo community in the Netherlands. Long story short: I had the idea to do a short, 1 hour webshow with various subjects and guests. Before I knew we had a Telegram group of now around 30 folks with a kernel of about 6-8 and started brainstorming. The other element which added to the success was my discovery of StreamYard.com.
Now StreamYard is a whole story by itself. In short it differs from all the well-known video-conf programs that it is a Cloud-based Broadcast Studio. Conceptually it is like making a real TV-show. There is a Stage (main screen) which can be “branded” in all sorts of creative, interactive ways: backgrounds, overlays, banners/tickers, video clips (e.g. for intro/outro or soapboxes), screen layouts, chat messages from viewers. All is controlled by one or more “hosts” (Dutch: “regisseurs”). Guests join “backstage” first and can be added to the “stage” when their item starts. And last but not least: the entire Stage can be streamed to multiple destinations at the same time like YouTube, Twitch.tv, LinkedIn etc. but also to custom RTMP servers. Viewers who missed the show could watch back later. StreamYard works completely in the browser, no installs needed. Ok, StreamYard is not Open Source, but their registration is very minimal: one only needs to provide an email adres to which a temporary login code is sent, no profile-filling etc.
So we just started, all of us not really familiar with providing online events and being first-timers in StreamYard. One learns quickest by just jumping into the deep, learning by doing, not bother about mistakes. We quickly adopted a format for a weekly one-hour show, always at the same time, Thursdays 4-5 PM. A central website tv.osgeo.nl was quickly online (with GitHub and Hugo!), so we can refer to a single, short URL.
The format of each show was basically to have 5-6 items in an hour. An “item” could be an interview with a guest, a technical presentation (or mixed interview/presentation), a column, community updates, a (hands-on) tutorial, a poem, or last but least a live-quiz (via Kahoot) where viewers can participate! After the first show (where we looked a bit like rabbits in headlights!), we quickly realized we need a presenter-host for the entire show. So all subsequent shows had one of us, well mainly Niene, being the talkshow-host. We also decided to do the show in Dutch, except with international guests, as to engage our local communities (OSGeo-NL, QGIS-NL, OpenStreetMap-NL).
Many shows were organized around a theme, like 3D (ep. 3 offcourse), Heaven&Outer Space, Corona of the Sun (ep. 6 on Ascension Day). We had some great guests in the show, also international guests, to name a few: Nadieh Bremer and Christian Mayer (ep. 7 – Visualization Special), Hugo Ledoux (TU Delft on 3D), Linda van den Brink (Geonovum) and Tom Kralidis (ep 11 – on OGC API Special), Anita Graser (ep. 9 – QGIS Special), Naomi Bueno de Mesquita and Topi Tjukanov (ep 12. MapTime Special). The last show of 2020, ep. 13 Christmas Edition, was one big PubQuiz.
All in all we did 13 shows in 2020. And 2021? We’ll start with a Newyear Special with OSGeo-NL, QGIS-NL and OpenStreetMap-NL communities. Only the plenary first half-hour in StreamYard, then next a new platform where all can participate and mingle. Just watch and participate on sun, jan 24, 2021, 3 PM (GMT+1) via tv.osgeo.nl.
Geospatial Cloud Services
Moving into providing Geospatial Cloud Services last few years, both as a source of income and to support/strengthen underlying open source projects with which they are developed. Warning: shameless ads below.
- map5.nl is a subscription service for Dutch topographic, historical- and embellished hill-shade and arial maps I started to host in 2015. In 2020 the entire map5.nl server-infrastructure was moved from custom Ubuntu-installs to a complete Ansible/Docker-based setup.
- GeoQoS.com is a hosted GeoHealthCheck (GHC) service on a subscription basis. GHC is an uptime and QoS monitor for (OGC) web services. Customers get their own GHC instance. GeoQoS.com saves the burden of self-hosting GHC. Launch was in 2019, growing steady in 2020. Expect to work more on API and new UI for GeoHealthCheck (below) in 2021.
- Feb 2020 – launched geotoko.nl . geotoko.nl, in short GeoToko, is basically a webshop to download Dutch open geo-datasets. Here one may ask: Dutch geospatial data like Topography, Addresses and Buildings, is already open and publicly available, mainly via Kadaster-PDOK. So why bother reselling? This needs some explanation.
Most Dutch Open geospatial datasets, as available from governmental institutions like Kadaster, are provided in a neutral exchange-format. In practice: GML (Application Schema). Most users are not able to directly digest complex GML in their applications (or don’t want to spend time on that). For over 10 years we run the Open Source project NLExtract to convert these datasets into formats like PostGIS and CSV that can be directly used in applications. NLExtract itself builds on Stetl, an Open Source geospatial ETL-library in Python. NLExtract/Stetl is used a lot, but still will require users to install/maintain an NLExtract/Stetl installation, download datasets, run the ETL, check results etc. That may also be a bridge too far, if e.g. all a customer needs is a one-time CSV of say, all 10 million addresses in The Netherlands. So GeoToko taps into this niche, providing ready-to-use, often enriched Dutch datasets. Pricing is reasonable, compared to other providers, plus organizations and individuals may get highly reduced pricing when they work on Open data applications like OpenStreetMap.
As for development: the GeoToko webshop was developed with Django, Flask/nginx (Download management), Stripe (backend payments) and CKAN. The latter to provide a product-catalogue, sample data and metadata in general, all via GeoCatalogus.nl.
Further development concerned automating the NLExtract/Stetl ETL-processes. For this a framework called GeoFabriek, “GeoFactory”, was developed. This automates the entire chain from checking new dataset versions at Kadaster, through downloading, conversions, packing for download and updating the metadata (in GeoCatalogus.nl).
As my focus is more and more on providing “Geospatial Cloud Services” (see above), did not take not too much contract work in 2020, though I am always open for offerings (but may say ‘no’)!
- For Geolicious (Germany). Developed a Wegue interactive map for the German National Park Luneburger Heide. This also gave a boost to the Wegue Open Source project (see below). Was an honour to work together with the great Steve Bennett a.k.a. @stevage.
Various new Widgets for Wegue were developed. To name a few: Enhanced Layer Tree, Enhanced Feature Info (see picture), Share Button, Routing, Multi-language, PDF Print, Download Features, Layout Improvements. Also introduced a “create-app” to have a starter app. We are in the process of merging back these new features into the Wegue core.
Open Source Contributions
Continuous work as a contributor. Apart from some GitLab Projects, you can find/follow me best on GitHub.
- Stetl – Geospatial ETL in Python, maintaining since 2011.
- GeoHealthCheck – Service Status and QoS Checker for OGC Web Services.
- pygeoapi – a Python server implementation of the OGC API suite of standards – joined this great project in 2019. Also in PSC.
- pygeoapi demo server – provided the (auto-)deployment stack for the pygeoapi demo server (code at GitHub). Added COVID-19 NL data provider.
- NLExtract – ETL for Dutch geospatial datasets.
- Wegue – geo-webclient framework based on Vue.js with OpenLayers started by Christian Mayer. Joined this great project in 2019.
- Heron MC – Web Mapping Client based on GeoExt and OpenLayers. Yes, old tech but still in wide use. In time hope to migrate to Wegue (see above). Migrating Heron to Wegue, see first example below.
- MapProxy – joined Program Steering Committee (PSC)
- pg_tileserv Vector Tiles directly from PostGIS!
Contributed Dockerfile and Docker-example
More Contributions – Handy Docker Images
- docker-awstats – AWStats in Docker, oldie, but very effective webstats. Deploy multiple instances in single Docker container. Highly configurable, e.g. also for Traefik access logs.
- docker-jmeter – Apache JMeter wrapped in Docker. Over 1 million pulls!
- docker-mapfish-print – for MapFish Print version 3. MapFish Print allows printing maps as PDFs.
- docker-mapfish-print2 – for MapFish Print version 2 – This version is still used in quite some contexts, at least for Heron and KadViewer.
- docker-rclone – Docker image to perform a rclone sync based on a cron schedule, with healthchecks.io monitoring.
- docker-pgbackup – automated/scheduled PostgreSQL/PostGIS backups for all PostgreSQL-based Docker Containers in its Docker-network. I think it is nifty: just run and forget: your Postgres backups are taken care of. Inspired by: https://github.com/kartoza/docker-pg-backup.
New Docker images developed in 2020:
- docker-mapserver – Slim Docker Image for MapServer with Lighttpd FastCGI.
- docker-mapproxy – MapProxy Docker Image adapted, slimmed, from the YAGA Development-Team. Awaiting PR merge.
- docker-mapproxy-mapserver – Docker Image for MapProxy service with built-in MapServer binaries accessed directly (no MapServer service).
- docker-cron – Runs Unix cron, includes docker (compose) client for running remote Docker Images.
As chair of the board, still involved in the OSGeo Dutch Local Chapter, OSGeo.nl since its establishment in 2011.
- Jan 12 – organizer – joint OSGeo.nl and OpenStreetMap NL new-years party at Cafe Dudok in Hilversum. Our last IRL event in 2020….
No FOSS4G-NL, plans are for okt 2021, but hey, 13 episodes of De Grote Geo Show (see above)!
Conferences – Attended
- Feb 20-21 – Vue.js Amsterdam – last physically attended conf in 2020
- Sept 21-22 – GeoPython 2019 – Virtual
- Nov 19 – PostGIS Day 2020 – by crunchydata.com
Had planned: FOSSGIS-DE Freiburg (Germany), FOSS4G-EU Valmiera (Latvia), GeoPython 2020 Bilbao (Spain), FOSS4G 2020 Calgary (Canada) and OSGeo Code Sprint Athens (Greece). Was studying train-tables for all EU events…Oh well.
Talks & Workshops – Provided
Most of my slides on slideshare.net/justb4 . Below my 2020 talks.
- Sept 21-22 – Python Machine Learning & GeoPython 2020 – presented pygeoapi with Francesco Bartoli – [slides HTML]
- Dec 7-9 – GeoNode Summit 2020 – presented pygeoapi with Francesco Bartoli, Tom Kralidis, Angelos Tzotsos – [slides HTML]
- Nov 10 – GeoHealthCheck/geoqos.com workshop for RIVM (National Institute for Public Health and the Environment)
Probably some more, but cannot find back at this moment.