Skip to content

Instantly share code, notes, and snippets.

View t-book's full-sized avatar
💭
reading

Toni t-book

💭
reading
View GitHub Profile
{
"version": 8,
"name": "Esri Ink Blue Clean",
"sources": {
"esri": {
"type": "vector",
"url": "https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer"
}
},
"layers": [
{
"version": 8,
"name": "Esri Dark Clean",
"sources": {
"esri": {
"type": "vector",
"url": "https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer"
}
},
"layers": [
@t-book
t-book / wasserdepots-affinity.md
Last active September 30, 2026 16:17
Berlin 2

20.10.2026 | Depotfinder-App – Layout in Affinity

Ziel: Wir entwerfen in Affinity den Bildschirm der Handy-App „Depotfinder“, die den Gärtnerinnen und Gärtnern auf ihrer Gießtour die Bäume und das nächste Wasserdepot zeigt. Dabei lernen wir, ein Dokument im Handyformat anzulegen, mit Gestaltungsraster und Schutzbereichen zu arbeiten, eine Menüleiste und Kartenbedienelemente zu gestalten und einen zweiten Zustand der App darzustellen. Zum Schluss übertragen wir das Layout auf eine Browser-Variante mit Info-Panel.

Inhalt

  1. Dokument für das Handy anlegen
  2. Schutzbereiche und Gestaltungsraster
  3. Karte platzieren
@t-book
t-book / wasserdepots.md
Last active October 8, 2026 12:33
Berlin 2

20.10.2026 | Bäume und Wasserdepots im Berlin der Zukunft (QGIS)

Szenario: Wir sind ein Team von Gärtnerinnen und Gärtnern im Berlin der Zukunft. Unsere Aufgabe ist es, Bäume, die unter Hitzestress leiden, mit Wasser zu versorgen. Leider hat unser Fahrzeug nur einen kleinen Wassertank – wir müssen also immer wieder das nächstgelegene Wasserdepot anfahren, um Nachschub zu holen.

Ziel: Wir berechnen für jeden Baum die Entfernung zum nächsten Wasserdepot, teilen die Stadt in Depotbereiche ein und exportieren die Karte – gesamt und Ebene für Ebene – für ein App-Layout in Affinity.

Inhalt

  1. Forschungsdaten laden
  2. Daten in QGIS laden

06.10.2026 | Berlin isst Bio? – Poster in Affinity (A3)

Ziel: Wir setzen die in QGIS erstellte Karte und die Auswertungen als A3-Poster in Affinity: mit Überschrift, Karte, Legende, Diagramm, Tabellen und erklärendem Text. Am Ende exportieren wir das Poster als PDF.

Voraussetzung: Teil 1 – Biosupermärkte in Berlin (QGIS) ist abgeschlossen, das PDF liegt in 04_export_pdf.

Inhalt

  1. Dokument einrichten (A3)
  2. Hintergrund anlegen
@t-book
t-book / BHT_start.md
Last active September 26, 2026 07:04
Berlin 1

Leitfaden: Farbauswahl und Farbkataloge im Geomediendesign


1. Einführung & Didaktischer Grundsatz: Warum bestehende Farbkataloge statt Eigenkreation?

In der Kartografie und im Geomediendesign gehört die Wahl der Farbgebung zu den einflussreichsten, aber auch fehleranfälligsten Gestaltungsentscheidungen. Ein häufiger Fehler von Einsteigern ist das freie Mischen eigener Farbverläufe im Farbwähler der GIS-Software. Out-of-the-box Farbkataloge und wissenschaftliche Farbschemata sollten bevorzugt werden aus folgenden Gründen:

  • Subjektive Nichtlinearität der menschlichen Farbwahrnehmung: Das menschliche Auge nimmt Helligkeits- und Farbtonunterschiede nicht gleichmäßig über das gesamte Spektrum wahr. Nicht-kalibrierte Farbverläufe erzeugen künstliche optische Kanten (Mach-Bänder) oder lassen kontinuierliche Wertebereiche stufenartig erscheinen.
  • Das "Rainbow/Jet"-Dilemma: Die klassische Regenbogen-Palette (jet) ist kartografisch irreführend. Gelbtöne erscheinen extrem hell und täuschen Pea

Übersicht: Farbpaletten in QGIS

Die Auswahl der richtigen Farbpalette ist in der Geodaten-Visualisierung entscheidend, da Farben die Wahrnehmung von Daten stark beeinflussen. Die Standardpaletten in QGIS stammen aus verschiedenen wissenschaftlichen Projekten und verfolgen spezifische Zwecke.

Einsatzzwecke im Überblick

Farbpalette Kategorie Idealer Einsatzzweck
Blues, Greens, Greys, Reds Sequentiell Darstellung stetig steigender, absoluter Werte (z. B. Niederschlagsmenge, Bevölkerungsdichte).
tonischonbuchner@MacBook-Pro-von-Toni ~/dev/github/csgis/QFieldCloud $% git diff
diff --git a/docker-app/qfieldcloud/filestorage/backend.py b/docker-app/qfieldcloud/filestorage/backend.py
index 7854ddcb..0b5aab18 100644
--- a/docker-app/qfieldcloud/filestorage/backend.py
+++ b/docker-app/qfieldcloud/filestorage/backend.py
@@ -25,12 +25,17 @@ class QfcBackendStorageMixin(ABC):
"Subclassing QFC specific storages must implement this method."
)
- def patch_nginx_download_redirect(self, response: HttpResponse) -> None:
#!/usr/bin/env bash
#
# migrate_minio_to_webdav.sh
# ---------------------------------------------------------------------------
# rclone copy of an entire minio (S3) bucket to a WebDAV server. No DB changes.
#
# With django-storages (QFC_IS_LEGACY: false) every object path is already the
# path the WebDAV backend expects, so it's a 1:1 object copy. Covers all
# prefixes (projects/, account/, ...). rclone creates parent collections.
# Idempotent: copy never deletes and skips same-size objects, so it's re-runnable.