We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

GIS mit Go

00:00

Formal Metadata

Title
GIS mit Go
Subtitle
Go für Geodaten nutzen
Title of Series
Number of Parts
119
Author
License
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Die Programmiersprache Go hat sich in verschiedenen IT-Bereichen etabliert. Dieser Lightning Talk bietet einen kurzen Überblick über Go mit einem Fokus auf das bestehende Ökosystem um Geodaten zu verarbeiten. Go ist bekannt für Geschwindigkeit und Zugänglichkeit. Zahlreiche GIS-Projekte wie pg_featureserv, pg_tileserv und tegola nutzen bereits Go. Dieser Vortrag präsentiert weitere Tools und Bibliotheken in dieser Sprache.
Keywords
GeodesicGopher <Programm>Programming languageLOGOSoftware developerComputer animation
SoftwareEmailWeb pageSoftware developerService (economics)TelecommunicationField (computer science)Computer animation
Service (economics)Spatial data infrastructureBitData miningComputer animation
Programming languageGoogleCommon Language InfrastructureWeb pageSoftware repositoryProgramming languagePlug-in (computing)Software developerProgrammer (hardware)GEOS <Betriebssystem>UpdateGoogleLINUXComputing platformMultithreadingGeodesicProjective planeNormal (geometry)Data miningCartesian coordinate systemDifferent (Kate Ryan album)Computer programmingRight angleVariety (linguistics)Data managementFile formatMultiplication signParameter (computer programming)Web serviceBitBinary codeStatement (computer science)Classical physicsGeometryIntegrated development environmentJava appletRepository (publishing)Library (computing)Server (computing)Natural languageComputer animation
So, hallo allerseits, ich fahre fort mit dem Thema GISS mit Go, wie man die Programmiersprache Go für Geodaten nutzen kann. Was man hier sieht ist das Logo von Go und außerdem das Maskottchen, das
heißt Gopher oder Gufer. Ich weiß auch nicht, wie man es ausspricht und das werdet ihr jetzt noch öfter im Vortrag sehen. Kurz zu mir, mein Name ist Jakob Mikscht, ich bin Softwareentwickler bei der Firma Citicom. Wir machen Dienstleistung im Bereich Telekommunikation und ich konkret im Bereich Glasfaser und wir haben da eine Geodateninfrastruktur
aufgebaut bzw. Kollegen von mir und die haben das mit Go gemacht und dann habe ich mich auch mal dran versucht und mich ein bisschen schlau gemacht, wie man Go denn für Geodaten nutzen kann und ich war relativ erstaunt, wie angenehm das Entwicklungs Setup war oder das reinkommen in diese
Programmiersprache, weil ich eben schon ein paar Programmiersprachen getestet habe. Einfach an so ein bisschen niedrige Sprachen war das Java und ich fand es immer sehr, also wenn es mal funktioniert war gut, aber oft hat man ein bisschen Probleme gehabt das ganze Setup einzurichten und bei Go war das wirklich sehr angenehm. Wen es noch genau interessiert, wie wir diese GDI
aufgebaut haben, da habe ich morgen auch noch einen Vortrag über QGIS Server, wie wir das benutzen und da auch eben Go davor geschaltet haben und jetzt kurz Facts zu Go. Das wurde 2007 bei Google entwickelt, also es ist verhältnismäßig jung, hat relativ wenige Keywords und lesbaren Syntax und
die Sprache ist wirklich darauf optimiert, dass es angenehm zu lesen ist und dass auch Entwickler, die jetzt nicht viel in dem Projekt gearbeitet haben, trotzdem relativ schnell verstehen, worum es geht. Dann die Programmiersprache ist sehr performant, auch so Multithreading und solche Sachen sind gleich von vornherein mit eingebaut, hat vielfältige
Anwendungsmöglichkeiten, aber was ich jetzt häufig beobachtet habe, sind, dass es eben für Web-Services genutzt wird, im Cloud-Bereich, aber auch Kommandozeilen, Werkzeuge kann man damit machen. Die Entwicklungsexperience ist, wie ich schon gesagt habe, sehr angenehm. Man installiert es einfach, indem man so einen kleinen Snippet ausführt auf der Kommandozeile und hat
eigentlich schon die ganzen Tools mit dabei, also da ist nämlich Formatierungen mit dabei und man kann bei Go von vornherein vorgegeben, welche Formatierungen man machen muss und wenn das nicht richtig formatiert ist, dann kompiliert das Programm einfach nicht. Das heißt, es gibt auch keinen Streit, welche Formatierung ist die richtige oder
falsche. Es ist einfach von vornherein vorgegeben, es gibt nur eine einzige und man startet einfach mit Go run das Programm und es läuft einfach schon los und die Dependencies werden auch automatisch installiert, also das auch so ein bisschen Lessons Learned aus anderen Programmiersprachen. Deployment ist auch sehr einfach, man kann einfach ein Binary deployen oder erzeugen, das läuft sofort auf Windows, Mac oder
Linux bzw. muss halt für jede Plattform eins machen und hat üblicherweise auch keine weiteren Dependencies mehr, sondern steht einfach für sich. Dieses Binary kann einfach rumgeschoben werden, verschickt werden und dann wieder weiter ausgeführt werden. Und um mich ein bisschen schlau zu machen, was Go eben alles so kann, habe ich eine
Sammlung gemacht auf GitHub, wo ich mal versucht habe, alle Projekte, die im Geo-Umfeld, die mit Go geschrieben sind, zu sammeln. Die könnt ihr euch gerne mal angucken, die sind ein bisschen aufgeteilt nach Bibliotheken und Servern, die es dazu eben gibt. Und dann möchte ich
noch einen kurzen Shoutout machen für ein Plugin Repository für QGIS, das ein Kollege bei mir bei Citycom eben entwickelt hat. Das nutzen wir, um die QGIS Plugins, die wir lokal eben nutzen, zur Verfügung zu stellen, sodass dann die User sich ganz normal über den
Plugin Manager bei QGIS, sich die Plugins runterladen können und wenn es auch Updates gibt, auch informiert werden. Und da gibt es tatsächlich auf der Forskis auch noch andere Vorträge oder einen Vortrag, der auch dasselbe Konzept hat, nur in einer anderen Programmiersprache, falls es jemanden noch mehr interessiert. Dann mein Fazit. Also es eignet sich auf jeden Fall, Go eignet sich
sehr gut, um so APIs zu machen, Datenbanken anzubinden. Deployment ist einfach, das Developer Setup ist super einfach. Meine Einschätzung zum QGIS Ökosystem ist allerdings noch ein bisschen, dass es verhältnismäßig schwach ausgeprägt ist. Es gibt für viele Bereiche
schon ein paar Bibliotheken, aber ich habe das Gefühl, dass oft immer nur ein Entwickler da dran war und es dann auch oft viele länger Zeit keine QBITS mehr gab. Und auch für diese klassischen Programme wie GDAL, Proj und Geos gibt es auch keine eindeutigen Bibliotheken, sondern immer zwei konkurrierende. Und also es kann funktionieren, muss es eben prüfen. Jetzt ist die Zeit abgelaufen.
Und ja, also meine Aussage ist, es eignet sich auf jeden Fall sehr gut für so Clue-Code, also um Sachen miteinander zu verbinden und auch für manche Geo-Anwendungen. Zum Schluss noch ein paar Links und dann bedanke ich mich für die Aufmerksamkeit.