So unterschiedlich? OSM, TomTom, Here …

Wer schon immer mal wissen wollte, wieso die unterschiedlichen Systeme so unterschiedlich routen, könnte in diesem Video [1] von eine Erklärung finden. Vorsicht jedoch bei den absoluten Zahlen, die werden zu Recht mitunter kontrovers diskutiert [2]. So werden z. B. Haus-Nummern bei OSM echt einzeln digitalisiert, bei den kommerziellen Anbietern oft via Äquidistanzen automatisch generiert, als nur Haus-Nr. 1 und Haus-Nr. 20 erfasst und dazwischen 2 … 19 dann mit angenommenen gleichen Abständen berechnet. Aber bildet Euch selbst ein Urteil.

Differences_OSM-TomTom_Here_Video_Screenshot_1.png
Screenshot (Quelle: [1])

[1] … https://www.linkedin.com/posts/thomas-schulte-hillen-2852745_navigation-maptrip-tomtom-activity-6638045504586436608-twwH
[2} … https://www.pocketnavigation.de/2020/03/wer-adressen-kartenmaterial-osm/

QGIS: DIY-Corona-Map

Eine eigene Corona-Karte mit aktuellen Daten könnt Ihr ganz einfach erstellen:

  • HCMGIS-Plugin [1] installieren
  • in diesem Plugin mit “BaseMap” einen geeigneten Hintergrund laden (ich habe es mit “Carto Dark” probiert)
  • unter “Download OpenData / HCMGIS OpenData” einen der COVID19-Datenbestände laden (das es sich um WFS [1] handelt, werden vom QGIS natürlich immer die aktuellen Daten aus dem Netz gezogen)
  • diese dann mit QGIS-Bordmitteln symbolisieren (Farbe, Größe, Beschriftung, …)
  • Download dieses Demo-Projektes “DIY_CoronaMap_QGIS_1.qgz” [3]

Corona_map_at_QGIS_1.gif
Ergebnisse meiner DIY-COVID-QGIS-Karte

[1] … https://plugins.qgis.org/plugins/HCMGIS/
[2] … https://opendata.hcmgis.vn/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&srsname=EPSG:4326 &typename=geonode:global_covid19_live_update
[3] … http://www.geoobserver.de/DIY_CoronaMap_QGIS_1.qgz

WordPress: Karteneinbindung ohne Plugin

Ein GoogleMaps-Karte ohne Plugin in eine WordPress-Webseite einbinden ist eigentlich kein Problem, Ihr macht einfach folgende 6 Schritte:

  1. GoogleMaps aufrufen
  2. Gewünschte Adresse suchen (hier Halle, Marktplatz 1)
  3. Schaltfläche “Teilen”
  4. Schaltfläche “Karten einbinden”
  5. Schaltfläche “HTML kopieren”
  6. Kopiertes HTML aus der Zwischenablage in Euer(n) WordPress-Beitrag/-Seite einfügen

Wordpress_include_GoogleMaps_animation_1.gif
Animation der 6 Schritte (Klick auf die Karte für größeres Bild)

Wenn alles geklappt hat, sollte es z. B. so aussehen:

[googlemaps https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2484.6627313075282!2d11.96756465140544!3d51.48270477953106!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47a6634e2fd5afbf%3A0x6f0c9aa08874d7a4!2sMarktpl.%201%2C%2006108%20Halle%20(Saale)!5e0!3m2!1sde!2sde!4v1585254327667!5m2!1sde!2sde&w=600&h=450]

Kurios: Die wirklich unhöflichen Karten

In den ernsten Zeiten von #Corona soll es heute mal was zum Schmunzeln geben, Karten mit wirklich unhöflichen Benennungen? Eigentlich in der jeweiligen Landessprache keine besonderen Namen, aber im Zeitalter des Englischen doch gleich mit ganz anderer Bedeutung: Kennt Ihr Fucking oder Titting, Pussy oder Condom? In [1] und [2] findet Ihr diese Karten.

Unhoefliche_Karten_Screenshot_1.png

[1] … https://really-rude.glitch.me/#
[2] … https://www.vaguelyrudeplacesmap.com/
[3] … https://github.com/vicchi/vaguely-rude-places

QGIS: RasterTracer-Plugin

Das Vektorisieren gescannter Karten  kann ziemlich mühselig sein. Gut wenn man ein Tool hat, was einen dabei unterstützt, so z. B. das QGIS-Plugin “RasterTracer” [1], [2]. Im Tweet [2] sah es wirklich ganz gut aus, das wollte ich auch mal probieren. Und ich hab’s gestern mal getestet, klappt super, auch auf meiner vergleichsweise (absichtlich!) schlecht gescannten Karte. Bemerkenswert: Bei Kreuzungen reagiert der Algorithmus ganz im Sinne der Daten, siehe die geschnittene Screen-Animation (die getracte Höhenlinie kreuzt im Abschnitt drei immerhin zwei Straßen) … Danke an mkondratyev85!

QGIS_RasterTracer_1
RasterTracer in Aktion: Höhenlinien meiner gescannten historischen Amsoldinger Karte 

[1] … https://github.com/mkondratyev85/raster_tracer
[2] … https://twitter.com/geodocere/status/1236663034690654208?s=20

Clean & Build, aber mit QGIS!

myVintageGIS_1.png

Weil wir immer wieder mit den gleichen Fehlern in den Geometriedaten zu kämpfen haben, heute eine Auffrischung [1]. Die älteren GIS-User werden sich noch erinnern an die Zeit von ARC/INFO auf UNIX oder PC, später Workstation ARC/INFO. Die Topologie eines Coverages war eine heilige Kuh, sehr zu Recht. Ein Clean und Build waren nach jedem Editieren und/oder Geoprocessing-Vorgang Pflicht und das war gut so, denn man hatte damit weitestgehend korrekte Datenbestände. Leider wurde das mit der Erfindung des Shapeformates von ESRI alles über Bord geworfen, plötzlich war Topologie eben keine Pflicht mehr, IMHO die größte Sünde, neben den anderen, siehe [5].
Trotzdem, ähnliche Funktionen für Clean & Build werden immer auch heute noch gesucht, ohne Topologie werden wir immer wieder die klassischen Geometriefehler vorfinden und reparieren müssen. Wie das mit QGIS gehen kann, findet Ihr im Beitrag “How to Clean Topology Error in QGIS“. Viel Spaß beim Lesen und Reparieren!

Clean_ESRI_ArcCommandReference_1991.jpg
Vintage, aber immer noch gut! Clean via ARC Command Reference von 1991 (Quelle [2])

Update 24.01.2023: v.clean.advanced ist jetzt v.clean [6]

[1] … https://geoobserver.de/2017/10/23/qgis-topology-check-und-clean/
[2] … ESRI ARC Command Reference, Commands A-I, 1991
[3] … http://resources.esri.com/help/9.3/…/coverage_tools/clean_coverage_.htm
[4] … http://resources.esri.com/help/9.3/…/coverage_tools/build_coverage_.htm
[5] … https://geoobserver.de/2018/07/19/shapefile-die-neverending-story/
[6] … https://www.reddit.com/r/QGIS/comments/w8uawf/where_is_grass_vcleanadvanced/

projfinder: Projizieren, aber richtig!

Man kennt das Problem, man bekommt Daten ohne Angaben der Projektion, der Kunde oder Lieferant kann auch nichts drüber sagen, man muss also ggf. anfangen zu raten. Damit man der Raterei wenigstens etwas Richtung weisen kann, gibt es projfinder [1]. Einfach in das gesuchte Gebiet navigieren und  den “Find My Projection” Button betätigen. Als Ergebnis erhaltet Ihr die gängigsten, aktuellen Projektionen Eures Zielgebietes jeweils mit einem Rang versehen.

projfinder_Screeshot_halle_1.png
projfinder für das Gebiet um Halle. Wahrscheinlichste Projektion EPSG:4746
(Screenshot, Quelle: [1])

Unter Über [2] kann man Lesen:

ProjFinder wird Ihnen von CUGOS zur Verfügung gestellt.
ProjFinder wird als zentrales Lernwerkzeug und Hack-Projekt verwendet und hat vielen CUGOS-Mitgliedern geholfen, alle Aspekte der Web-Stack- und GeoSpatial-Technologien zu erlernen.”

[1] … http://projfinder.com/
[2] … http://api.projfinder.com/documentation
[3] … https://epsg.io/4746

DBeaver 7.0 verfügbar

Das universelle Datenbank-Tool DBeaver ist seit 2. März 2020 in der neuen Hauptversion 7.0 verfügbar. Laut der Webseite dbeaver.io [1] beinhaltet die neue v7.0 folgende Änderungen seit der vorhergehenden v6.0 (übersetzt mit Google Translate):

DBeaver_Splashscreen_Screenshot_1.png

“DBeaver 7.0 ist unsere neue Hauptversion. Änderungen seit 6.0:

  • Aufgabenverwaltung: Datenübertragung, Backup-Restore, SQL-Ausführung
  • Hauptverbesserungen der Benutzeroberfläche von Datenbetrachter und Dateneditor:
    • GIS / georäumlicher Viewer
    • JSON-Viewer
    • Logische Spalten, Primär- und Fremdschlüssel
    • Referenzfeld
    • Erweiterte Zeilenfärbung
  • Hauptverbesserungen im SQL Editor:
    • Smart-Commit-Modus
    • Verbesserter SQL-Parser und Vorschläge zur automatischen Vervollständigung
  • Git-Integration
  • Unterstützung für SSH-Agenten und Jump-Server
  • Und viele andere großartige Dinge

Außerdem:

  • Wir haben die Anzahl der unterstützten Treiber auf 81 erhöht
  • Wir haben fast 2000 Ausgaben auf GitHub geschlossen.

Danke für Ihre Unterstützung! Änderungen seit 6.3.5:

  • SQL-Skript-Ausführungsaufgabe:
    • Unterstützung für mehrere Skripte wurde hinzugefügt
    • Unterstützung für mehrere Verbindungen wurde hinzugefügt
    • Der Konfigurationsassistent wurde komplett neu gestaltet
  • SQL-Editor:
    • Vorschläge zur automatischen Vervollständigung wurden eingefärbt
    • Automatische Vervollständigung für mögliche Werte in Tabellenspalten
    • Synonyme werden jetzt als Tabellen aufgelöst
  • Datenbetrachter:
    • Die automatische Vervollständigung des Filterfelds wurde behoben
    • Die Aktualisierung des Value Viewer-Bedienfelds wurde behoben
    • Boolesche Spaltentransformation wurde hinzugefügt (numerische Spalten als Kontrollkästchen anzeigen)
  • Import aus CSV: Spaltenzuordnungen wurden behoben
  • Das unerwartete Schließen von Popup-Panels wurde behoben
  • Die Invalidierung toter SSH-Tunnel wurde behoben
  • PostgreSQL:
    • Der Typ cast für Updates und Filter wird jetzt verwendet
    • Die Bearbeitung der Zeitstempelskala wurde behoben
  • SQL Server:
    • Upgrade der Treiberversion (auf 8.2)
    • Der Datenimport für IDENTITY-Spalten wurde behoben
  • MySQL: Berechtigungseditor unterstützt Schemamasken
  • Orakel:
    • PL / SQL-Parser wurde behoben
    • Der Kommentareditor für Ansichten und Funktionen wurde behoben
    • TIMESTAMP WITH TIMEZONE-Unterstützung wurde verbessert
  • HANA:
    • Die Unterstützung für GIS-Datentypen (Geometrie) wurde verbessert (von @stefanuhrig).
    • Der Tabellenspaltenabfall wurde behoben
  • OmniSci: Treiberversion wurde aktualisiert.
  • Linux: UI-Freezes wurden behoben
  • Einige kleinere Verbesserungen der Benutzeroberfläche (Symbole, englische Lokalisierung, ERD-Farben, Verknüpfungen)
  • Viele kleinere Fehlerbehebungen”

[1] … https://dbeaver.io/
[2] … https://geoobserver.de/?s=dbeaver&submit=Suchen

Datenqualität: CoronaVirusMaps3!

In Zeiten vom #CoronaVirus werden wir gegenüber den Daten immer aufmerksamer, sensibler, kritischer, fragender. Wo kommen die Daten her, wer erfasst sie wie, welche Qualität, Klassifizierung, Modellbedingung, Zählweise, … bilden die Grundlage. Welchen konkreten  Stand haben die Daten? Wer sind die Quellen der Daten? Veröffentlichende Stellen sind gehalten, den Nutzer darüber zu informieren und die Daten nach  o. g. Kriterien möglichst transparent und vergleichbar(!) zu beschreiben.
Warum schreibe ich das? Auf Twitter gab es die letzte nach diesbzgl. eine kleine, interessante Diskussion [1]. Ich hab auch mal verglichen. Wenn man die Daten aus [2] und [3] gegenüber stellt: 12327 vs. 14707 Infizierte in Deutschland, die Differenz sind erheblich: 2389 (ca. 16%)! Möglicherweise gibt es ja einfache Erklärungen, ich bin offen, gern auch in den Kommentaren. Hier die Grafik dazu . . .

Update 19.03.2020, 10:15: mittlerweile sind die unterschiedlichen Zahlen auch in den Medien thematisiert, siehe z. B. [4] und [5]

CoronaVirusMaps_Screenshot_1.png
Screenshots Stand 19.03.2020, 7:35 Uhr (Quelle [2], [3])

[1] … https://twitter.com/micha06de/status/1240394322283040775?s=20
[2] … https://twitter.com/risklayer/status/1240498064667926528?s=20
[3] … https://t.co/UpXKEdUfFI?amp=1
[4] … https://www.zdf.de/nachrichten/digitales/corona-virus-fallzahlen-unterschiede-rki-johns-hopkins-who-100.html
[5] … https://www.merkur.de/welt/coronavirus-covid-19-robert-koch-institut-rki-hopkins-fallzahlen-deutschland-corona-faelle-infektionen-sars-cov-19-zr-13602916.html