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

QGIS Server - Einsatz im Unternehmen

00:00

Formal Metadata

Title
QGIS Server - Einsatz im Unternehmen
Title of Series
Number of Parts
119
Author
Contributors
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
Um Geodaten über das Web verfügbar zu machen, nutzen wir bei siticom unter anderem QGIS Server. Der Vortrag beleuchtet das verwendete Setup um eine Vielzahl von verschiedenen Projekten zu veröffentlichen und erläutert Vor- und Nachteile im Vergleich zu anderen gängigen Lösungen wie GeoServer.
Keywords
SoftwareEmailSoftware developerService (economics)TelecommunicationServer (computing)Lecture/ConferenceComputer animation
Service (economics)Artificial neural networkWorld Wide WebCloud computingThermal expansionTelecommunicationPlanningServer (computing)Spatial data infrastructureInternetComputer animation
Server (computing)Configuration spaceDesktopPDF <Dateiformat>SVGSQLLINUXWINDOWS <Programm>SoftwareComputer fileGeometryServer (computing)Medical imagingFile formatInstallation artAxiom of choiceProjective planeConfiguration spaceConnectivity (graph theory)Table (information)Standard deviationGeneric programmingClassical physicsUniqueness quantificationWeb 2.0Set (mathematics)Integrated development environmentArithmetic meanPlastikkarteVariable (mathematics)Normal (geometry)Pointer (computer programming)Interface (computing)WINDOWS <Programm>DatenformatComputer fileMoment (mathematics)Smart cardWEBLINUXDesktopComputer animation
GeoServerSVGPDF <Dateiformat>GRADESQLServer (computing)Pyramid (geometry)EIBAliasingLevel (video gaming)HTTPComputer fileTable (information)Attribute grammarVector graphicsAliasingField extensionSoftwareTable (information)Web serviceFluxGeometryQuery languageDatabaseSet (mathematics)Menu (computing)Server (computing)GeometryInformationVector spaceContrast (vision)Price indexSoftware developerProjective planeDrop (liquid)Normal (geometry)MathematicsSoftware bugExtension (kinesiology)Reading (process)Classical physicsHeegaard splittingTerm (mathematics)Latent heatLevel (video gaming)Variable (mathematics)Uniform resource locatorInterface (computing)Computer animationXMLJSON
Uniform resource locatorHTTPServer (computing)Service (economics)Client (computing)Server (computing)Web serviceDatabaseMonster groupUniform resource locatorComputer fileComputer fileConnected spaceProjective planeMultiplication signJSONXMLUMLComputer animation
SoftwareProxy serverClient (computing)Interface (computing)DatabaseUniform resource locatorServer (computing)SQLUpdateAPIDesktopConfiguration spacePDF <Dateiformat>Level (video gaming)ZugriffInternetdienstComputer fileProjective planeServer (computing)Letterpress printingFront and back endsUniform resource locatorPlastikkarteSoftware bugClient (computing)EmailCombinational logicDatabaseAbsolute valueProcess (computing)PasswordMathematicsDependent and independent variablesProxy serverDatabase transactionMereologyConnected spaceDirection (geometry)Computer configurationSet (mathematics)BitSystem administratorLink (knot theory)System callCASE <Informatik>IP addressPostgreSQLProject <Programm>Process (computing)Interface (computing)Disk read-and-write headDesktopSTYLE <Programmierumgebung>Computer fileInternetdienstComputer animation
Configuration spaceDesktopAPIInternetdienstServer (computing)Uniform resource locatorClient (computing)SQLProxy serverConfiguration spaceServer (computing)Projective planeLink (knot theory)File formatRevision controlPresentation of a groupDatabasePhysical systemProgramming languageUniform resource locatorSoftware developerSoftwareTable (information)Open sourceLevel (video gaming)InformationProxy serverPoint (geometry)Field (computer science)Computer fileReverse engineeringMedical imagingString (computer science)Computer programmingEmailRewritingMathematicsClient (computing)Data managementBitPlug-in (computing)Web 2.0Repository (publishing)MereologyOpen setInternetdienstSTYLE <Programmierumgebung>UpdateDisk read-and-write headVersion <Informatik>DesktopWEBComputer animationLecture/Conference
UMLProxy serverLecture/Conference
Dann hallo zusammen, willkommen zu meinem Vortrag zum Thema QGIS Server, Einsatz im Unternehmen. Kurz zu mir, ich bin Softwareentwickler bei der Firma Citycom, wir machen Dienstleistungen im Bereich Telekommunikation.
Im Grunde geht es darum, schnelles Internet auf viele Art und Weise zur Führung zu stellen, unter anderem mit 5G-Ausbau, Cloud-Infrastruktur und in dem Bereich, wo ich tätig bin, ist Breitbandausbau, also zum Beispiel Glasfaserplanung und Dokumentation. Und in dem Zuge haben wir auch eine eigene Geodateninfrastruktur und da haben wir
jetzt auf QGIS Server gesetzt, den ich heute vorstelle und wie wir den nutzen. Kurzer Überblick über den Vortrag, es gibt einen groben Überblick über QGIS Server generell als allgemeine Einführung. Dann wie man das installiert und konfiguriert, dann zeige ich mal ein
Beispielprojekt, dann gehen wir darauf ein, wie PostGIS und QGIS Server miteinander zusammenspielen, dann wie wir es eben konkret bei uns nutzen und welche Themen wir für die Zukunft uns noch vorgenommen haben. Und anschluss gibt es noch ein Fazit über den QGIS Server.
Also was ist der QGIS Server? Die meisten kennen ja nur das Desktop-Programm, aber es gibt eben auch eine Server-Komponente, die man eben auf einem Server installieren kann und man kann dann diese ganzen klassischen Standards wie WMS, WFS und WCS publizieren. Und es werden eben alle Formate gelesen, die QGIS Desktop eben auch kann und
das spannende und das Alleinstellungsmerkfall von QGIS Server im Vergleich zu anderen Geodatenservern ist, dass das Rendering, also die Art und Weise, wie die Karten dann aussehen, die nach ausgeliefert werden, 100% exakt genauso aussehen, wie man es im QGIS Desktop hat.
Und das ist für uns eben richtig, weil wir eben relativ viele QGIS-Projekte haben, QGIS-Stile für alle möglichen Daten und wir uns dann somit sicher sein können, dass die wirklich genauso im Web auch landen, wie wir sie eben lokal im QGIS Desktop darstellen.
Dann eine spannende Sache ist auch noch, dass die WMS, WFS und so weiter, die ganzen Server-Einstellungen werden auch über ganz normale QGIS-Projekte erstellt und können sozusagen einfach über Klicken in der QGIS-Oberfläche erstellt werden. Das zeige ich dann auch gleich nochmal.
Als nächstes möchte ich kurz das mit Geo-Server vergleichen. Das ist ja auch eine sehr bekannte Geodatensoftware. Also man sieht, das Geo-Server ist nur kurz als Exkurs eine sehr große Software, die alle möglichen Geodatenformate lesen kann,
also als verschiedene Standard publizieren und auch ganz viele Datenformate erzeugen kann. Und wenn man jetzt QGIS-Server anschaut, habe ich mal abgestrichen, was es nicht kann. Es ist keine Garantie auf Vollständigkeit, aber man kann sehen, auf jeden Fall QGIS kann auf jeden Fall
relativ viel lesen, auch viele Standards publizieren und auch viele Geodatenformate publizieren. Also man hat im Vergleich zu Geo-Server auch auf jeden Fall einige Komponenten, es ist nicht alle, aber wenn man eben auch nicht alle braucht, dann ist es eben auch eine gute Wahl. Als nächstes, wie installiert man QGIS-Server? Also einmal kann man es nativ installieren auf Linux und Windows meines Wissens.
Was wir gemacht haben, wir haben das Docker-Image von Camp2Camp genommen, das auch sehr gut funktioniert und auch gut gewartet wird, also kann ich empfehlen. Und die Konfiguration passiert eben einmal über eine Projektdatei, wie ich schon gesagt habe, im QGIS.
Und diese Projektdatei kann abgelegt werden als Datei oder in einer PostGIS-Tabelle. Es gibt da eben eine Möglichkeit, wie man QGIS-Projekte direkt in PostGIS ablegen kann.
Und man kann aber auch noch ein paar generische Einstellungen machen mit Mittelsumgebungsvariablen. Dann schauen wir uns jetzt mal so ein QGIS-Projekt an. Mal schauen, ob mein Pointer hier funktioniert. Ich mache sie gerade nochmal neu, Moment.
Also ich habe hier mein ganz normales QGIS-Projekt. Ich habe jetzt einfach mal drei Layer reingeladen, Orte, Flüsse und Ländergrenzen. Und da kann ich jetzt, in den Projekteinstellungen gibt es hier einen
Menüpunkt für QGIS-Server und da kann ich jetzt alle möglichen Sachen einstellen. Also die meisten Einstellungen, würde ich behaupten, muss man nicht anfassen, aber sie sind eben da. Was ich besonders wichtig finde bei der WMS-Einstellung ist, dass man einstellt, dass alle, wenn man ein Feature-Info-Request macht,
also auf die Karte klickt und über einen bestimmten Punkt eine Abfrage machen will, dass dann immer die Geometrie mitgeschickt wird. Dann wenn man Vektordaten publizieren will, dann muss man immer explizit eben angeben, welche Vektordaten publiziert werden sollen.
Und man kann hier auch noch weitere Sachen angeben wie Update, Insert, Delete, das was wir allerdings noch nicht nutzen, und auch eine Precision. Und im Gegensatz zu den Vektordaten werden immer die WMS-Felgen-Layer automatisch publiziert. Die kann man aber auch hier mit den Exclude-Layers auch ausschließen, damit die eben nicht haben möchte.
Was ich auch noch sehr spannend finde, man kann in der QGIS-Oberfläche den einzelnen Attributen auch Alias zuweisen. Und diese Alias werden dann auch über den WFS oder WMS publiziert, sodass man dann in einem WebGIS, dass man zum Beispiel es darauf anbindet, dann direkt die Alias-Namen nehmen kann und nicht diese kodierten Spalten-Namen.
Und damit wird das WebGIS-Erfahrung dann oft auch ein bisschen übersichtlicher. Und es können eben auch klassische GIS-Anwender, die jetzt nicht unbedingt Software-Entwickler sind, können jetzt trotzdem da auch Einstellungen machen.
Und für ihren Fachbereich spezifische Begriffe eben benutzen, die die Software entwickeln nicht können. Also das hat eben noch den Vorteil, dass ganz klassische GIS-Anwender auch die Möglichkeit haben, die Einstellungen auf dem QGIS-Server auch zu verändern. Dann als nächstes, wie frage ich überhaupt mein QGIS-Projekt ab?
Also ich habe jetzt hier einfach einen ganz normalen WMS-Request. Und da ist es jetzt so, dass ich hier eine Map-Variable noch hinzufügen muss. Also man hat hier jetzt ganz klassisch diesen Service und welchen Request man haben will. Und dann zeigt man jetzt hier in der URL eben auf das Projekt, das man eben abfragen möchte.
Und das funktioniert auch ganz gut. Allerdings, wenn man in einem Unternehmensumfeld arbeitet, dann liegen idealerweise die ganzen Daten in der Geodatenbank, also konkret PostGIS, bei uns. Und das schauen wir jetzt nochmal genauer an.
Und zwar kann QGIS-Server eben auch QGIS-Projekte lesen, die in einer PostGIS-Datenbank gespeichert sind oder in Postgres-Datenbank, das ist im Prinzip gleichbedeutend. Und nur das PostGIS eben die räumliche Erweiterung ist. Die Tabelle für die QGIS-Projekte, die heißt immer QGIS-Projects. Ist aber keine räumliche Tabelle, sondern hat einfach nur den Projektnamen
und dann das QGIS-Projekt komprimiert in der Tabelle gespeichert, als Blob. Und dann ist es noch wichtig, dass man sein QGIS-Server so einstellt, dass er immer periodisch abfragt, dass wenn das Projekt sich geändert hat, damit wenn man irgendwann sein Projekt ändert, dass das dann auch sofort an QGIS-Server weitergeleitet wird.
Das funktioniert auch mit BFS eigentlich immer und ich habe es noch entdeckt, dass es da bei BMS noch einen Bug gibt, wo das nicht immer funktioniert. Da habe ich es noch keine wirkliche Lösung gefunden, außer dass man QGIS-Server restarten muss. Das ist noch so ein kleiner Wehrmutstropfen, den ich da entdeckt habe, aber ansonsten funktioniert es ganz gut, dass
man die ganzen QGIS-Projekte in der PostGIS-Datenbank speichert, da verändert und das eben sofort dann publiziert wird. Jetzt aber die Frage, wie fragt man jetzt das aus der Datenbank ab? Ich habe jetzt hier wieder mein Capabilities-Request und wenn ich jetzt auf die Datenbank zugreifen will, dann muss ich hier dieses Monster an Text noch hinzufügen.
Also erstmal eine PostgreSQL-Verbindung, mein Datenbanknutzer, mein Datenbankpasswort, Localhost, wo halt diese Datenbank liegt, dann der Name von dem Schema und so weiter. Also ganz viele Daten, die auch üblicherweise der Nutzer oder die Nutzerin gar nicht kennen soll und auch nicht eingeben können oder müssen, also muss, damit es eben benutzerfreundlich bleibt.
Und da gibt es dann eine kleine Vereinfachung, und zwar kann man ein sogenanntes Service File benutzen, da wird dann die PostgreSQL-Verbindung hier in diesem Service File gespeichert.
Also die ganzen Daten wie Passwort, Username und so weiter werden in einem Service File gespeichert und genau, das Service File schaut eben so aus, wie es hier ist und das kann irgendwo auf dem Server rumliegen und dann referenziert werden.
Jetzt aber auch so, dass wir euch die User auch nicht wissen sollen, wo jetzt das Service File liegt und deswegen ist es so, dass, da komme ich jetzt gleich drauf, wir uns da eine eigene Methode überlegt haben, wie das funktioniert.
Nur kurz, wie viel Zeit habe ich noch? Ach so, weil ich mich gerade verwirrt, dass nur noch zwei Minuten waren, aber ja, genau, dann habe ich hier noch ein bisschen mehr Zeit. Also dann noch mal einen Schritt zurück. Das Service File ist einfach eine Datei, die auf dem Server rumliegt, hat dann eben die ganzen Daten gespeichert und die kann dann wieder hier überall angegeben werden.
Zum Beispiel hier kann ich jetzt mein Service Datei angeben und dann eben mein Projekt spezifizieren, dass es in meinem QGIS Server rumliegt und da ich aber auch den User nicht zumuten möchte, dass sie trotzdem so lange URLs an den QGIS Server schicken, haben wir jetzt das Ziel gesetzt, dass es eben eine einfache Schnittstelle geben soll und eben auch
die Clients auf keinen Fall einen Blick in die internen Prozesse von unserem Server haben und auf keinen Fall irgendwie Datenbank, Passwort oder irgendwas auch nur in fernsehender Richtung irgendwie öffentlich sein muss oder soll. Und die Lösung war, dass wir eben einen Proxy zwischen QGIS Server und dem Client geschaltet haben. Das schaut dann so aus.
Also ich versuche das mal jetzt ein bisschen durchzugehen. Also wir haben hier den Client, das kann jetzt ein ganz normaler Mensch sein, der einen WMS Request absetzt, aber es kann auch eine Maschine sein, also einen WebGIS Backend oder eine WebGIS oder einen QGIS Client
und der freckt dann hier einmal ab, also einmal diese Base URL, was auch immer das sein mag, dann API, also Schreikstrich zum Beispiel, und dann kann ich jetzt sagen, ich möchte jetzt mal ein Hamburg Projekt haben, dann Schreikstrich WMS und kann dann hier Request Capabilities machen und kriegt also eine sehr einfache WMS URL,
die einigermaßen benutzerfreundlich ist. Das Problem ist, dass diese URL wird von QGIS Server so erstmal nicht verstanden, weil QGIS Server ja nicht weiß, wo jetzt das Hamburg Projekt liegt und so weiter. Deswegen haben wir jetzt ein Backend geschrieben in Go, das noch viele andere Sachen macht, aber unter anderem nimmt es eben
den Request vom Client an und schreibt den um, sodass der QGIS Server gesendet werden kann und auch so verstanden werden kann. Und da wird erstmal ein Servicefile referenziert, wo die ganzen Zugangsdaten für die Datenbank drin
stehen und zusätzlich wird dann hier bei Project noch angegeben, um welches Projekt sich eben handelt. Dann wird dann QGIS Server geschickt und was mit diesem Header auf sich hat, werde ich gleich noch sagen, QGIS Server kennt dann dieses Servicefile, das eben auf dem Server rumlegt und kann damit sich gegenüber
PostgreSQL authentifizieren, schickt dann SQL-Abfragen, PostgreSQL schickt die Daten an QGIS Server zurück, QGIS Server macht dann irgendwas damit, entweder umstrukturieren oder Karte draus renden und schickt diese
Antwort wieder zurück an das Go-Backend und das wiederum an den Client. Und da gibt es eben noch eine Sache, dass QGIS Server ja selber denkt, dass er unter dieser Adresse verfügbar ist, also QGIS Server und dann Port 9999 zum Beispiel und wenn ich jetzt ein Capabilities-Dokument anfordere, dann stehen ja überall Links drin zu diesen ganzen Diensten, die da
drin sind und wenn ich jetzt da keine spezielle Einstellung mache, dann steht auch hier immer drin, der WMS ist verfügbar unter dieser URL mit diesem kryptischen Namen und um das eben zu verhindern, kann ich dem QGIS Server sagen, er soll seine Base-URL komplett ändern, so dass es eben aussieht, wie es der User eben erwartet, dass auch die Links richtig
gesetzt sind und auf den externen Link gesetzt werden und nicht auf den internen Link, mit dem man es eben abrufen muss. So, dann noch eine Sache zu dem Service-File, das ist eben auch so, dass diese Datenbankverbindungen, die will
man irgendwann auch wechseln und das ist eben dann sehr einfach mit so einem Service-File, weil das einfach nur eine Datei ist, die ein User-Passwort drin hat und die kann ich viel leichter wechseln, weil das
oft ein Problem bei QGIS-Projekten ist, dass wenn man eine Datenbankverbindung speichert, dass die dann auch direkt ins QGIS-Projekt reingespeichert wird und es ist ziemlich mühsam, das dann wieder zu ändern und da ist eben eine gute Variante, diese ganzen Layer mit dem Service-File zu konfigurieren, weil man irgendwann vorhat, das Passwort zu ändern oder alles mögliche, dann muss man eben nur das Service-File einmal ändern und die ganzen QGIS-Projekte können an sich
gleich bleiben, wir müssen gar nicht angefasst werden und muss nur dieses Service-File ändern, es ist ein bisschen kompliziert, muss ich zugeben, aber es ist auf jeden Fall, wenn man es einmal eingerichtet hat, sehr komfortabel und eben auch Upgrade-sicher, also man ist da nicht in diesen alten Einstellungen gefangen. So, was haben wir
uns für die Zukunft noch für Themen überlegt, die wir brauchen und zwar einmal ein Feature, das ich bei Geo-Server immer geschätzt habe, ist, dass man per API-Call Projekte ändern kann, das geht bei QGIS-Server nicht, zumindest noch nicht, es gibt da ein Projekt relativ neu, das ich hier verlinkt habe, QGIS-Server-Administration
Administrator und damit kann man über einen API-Call auch schon QGIS-Projekte verändern, das ist noch viel gerade dran entwickelt und das wollen wir jetzt auch mal bald mal ausprobieren, um einem auch Dynamisch-Layer hinzuzufügen oder zu ändern, dann als
nächstes wollen wir auch gerne mal die OGC API-Features ausprobieren, das geht an sich schon, aber das hat noch ein paar Probleme in der Einstellung, also ganz konkret konnte ich diesen Header hier nicht setzen, sodass dann die Responses von der OGC API-Features immer so aussehen, wie es eben intern für den QGIS-Server aussieht und das soll eben nicht nach
außen zu dem Kleinen kommen, das ist eben noch so ein kleines Teilchen, was uns daran hindert OGC API-Features zu nutzen, das habe ich auch schon bei Github gemacht, sonst wollen wir noch ausprobieren, Daten editieren und das geht eben mit dem WFS-Transactional, allerdings muss man da so ganz krude XML-Dateien hin und her schicken, weil es jetzt auch nicht mehr zeitgemäß ist,
und da wäre das natürlich praktisch, wenn wir das mit OGC API-Features irgendwann machen können, aber das ist noch nicht implementiert, als nächstes wollen wir auch noch die direkte Einbindung in QGIS Desktop noch besser vorantreiben, weil momentan nutzen wir ein internes WebGIS, wo wir die ganzen Dienste einbinden,
dann PDF-Druck wollen wir auch noch ausprobieren, und das ist auch ein sehr mächtiges Feature, das ich allerdings noch nicht getestet habe, dass man diese ganzen Druckzusammenstellungen, die man bei QGIS machen kann, im Desktop kann man auch eins zu eins einfach in den Kleinen schicken, was super praktisch ist, und ja, noch ein paar Bugs-Fixen, die eben da aufgekommen sind.
Als Fazit möchte ich sagen, ich finde es ein super Projekt, es hat auch so seine kleinen, zu einrichten auch manchmal so kleine Tücken, aber sich alles gut dokumentiert und die Community ist auch hilfreich, das absolute Killer
-Feature ist nach wie vor, dass das Styling exakt so aussieht, wie es eben die Benutzer im Desktop eben machen, das ist sehr anwenderfreundlich, weil die ganzen, wir haben eben sehr viele QGIS-User, die halt auch sehr gut in darin sind, eben wirklich ausgefeilte Styles zu machen und um die wirklich eins zu eins in den Webkleinen zu
transportieren, das wissen Sie jetzt erst mal nur so mit QGIS-Server möglich, dann, was eben noch praktisch ist, ist die Konfiguration direkt im QGIS-Projekt, also das Vor- und Nachteil, also man muss es im QGIS-Projekt machen, also klicken, es wäre aber besser, wenn man es auch zuerst sich automatisieren könnte, aber das ist ja auch schon in Arbeit, und sonst Datenbankzugriff kann etwas kompliziert sein, wir haben es mit diesem Service-File gelöst, was auch jetzt funktioniert, aber der Schritt,
das dahin ist noch nicht so ganz einfach, was noch nicht so gut ist, es werden nicht alle Dienste und Formate unterstützt, aber schon relativ viele und man kann eben halt noch nicht per IPI konfigurieren, ich habe jetzt hier noch die Sammlung von Links zusammengestellt, hier die Version von
QGIS, die kann man jetzt auch schon wieder updaten, weil jetzt kürzlich ein neues Update rauskam und dann noch ein kurzer Info, das ist ein bisschen off-topic ist, was aber auch mit QGIS zu tun hat, wir haben nämlich bei uns intern auch einige QGIS Plugins, die
wir so intern über das Plugin-Management installieren können und da kann man sich ein QGIS Plugin-Repository aufsetzen und wir haben das selber geschrieben in der Programmiersprache Go und auch Open Source veröffentlicht, also ein Kollege hat das geschrieben, es ist einfach per Docker-Image deploybar und ja, wen es interessiert, kann es gerne mal ausprobieren, bzw. wer genauer wissen will, wie so ein QGIS Plugin-Management
Repository funktioniert, der kann auf den übernächsten Vortrag warten, da geht es nämlich genauer um das Thema. Alles klar, dann bedanke ich mich für die Aufmerksamkeit und bin bereit für Fragen.
Super, herzlichen Dank, Jakob, für den spannenden Vortrag, es gibt auch zahlreiche Fragen, die erste, keine Angst, die erste, die ich stellen möchte ist, ist dieses, was du vorgestellt hast, der Proxy, den du in Go geschrieben hast, ist der auch Open Source, ist der verfügbar? Ne, der ist nicht Open Source, wobei er auch tatsächlich gar nicht so komplex ist, weil, also wir machen da
viele andere Sachen noch drin und den Teil mit dem Proxy, den haben wir jetzt noch nicht Open Source gemacht, könnte man drüber nachdenken, aber tatsächlich passiert wirklich nicht viel, man nimmt einfach nur hier eine URL, die reinkommt, schreibt die dann um und sendet die weiter, setzt noch den Header dazu und das wars im Prinzip, also das hat
auch nichts mit der Programmiersprache Go zu tun, das kann man mit Python machen, Java, was auch immer man mag. Ok, und da passt auch die nächste Frage, was ist der Vorteil von dem Proxy in Go gegenüber einer Reverse-Proxy-Lösung mit Nginx zum Beispiel? Bei uns war es so, dass man eben viel mehr Möglichkeiten hat, da wirklich Sachen zu skripten und zu ändern,
also ich muss im Prinzip aus der einkommenden Abfrage, muss ich mir halt dieses Hamburg hier konkret, dieses Projekt Hamburg rausziehen, das mir merken, dann das hinten wieder einen neuen String erstellen, wo das dann angefügt wird und den Header
setzen, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher
als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version,
das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version,
das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der
normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version,
das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normalen Version, das war für mich jetzt einfach, einfacher als an der normal
Version, das war für mich jetzt einfach, einfacher als oder einen Geo-Chasen, wenn es eben mit Geo-Koordinaten hat, und damit das kann ich dann im Klein-Stylen, wie ich möchte. Genau, und funktionieren auch Geo-Packages als Datenquelle?
Ja, auf jeden Fall. Also alles, was QGIS Desktop lesen kann, kann auch QGIS Server lesen. Ja, dann gibt es noch eine Frage. Wie setzt ihr QGIS Server im Bereich der Glasfaserplanung ein? Welchen konkreten Anwendungsbereich deckt ihr hier ab? Ja, wir haben eben viele Projekte und haben eben unsere thematischen Layer,
die dann von den Kollegen auf diese Art und Weise eben gestylt werden. Und wenn man die eben nicht nur auf dem eigenen Desktop verfügbar haben will, sondern auch mit Kollegen zum Beispiel in einem Web gestylen will, dann kann man die eben da veröffentlichen. Und dann sind die Styles eben genau so gemacht, wie man sie im Desktop hat und online verfügbar
und kann damit sozusagen eine größere Reichweite erreichen. Oder auch wenn man nur jemand gibt, der jetzt mal schauen möchte, was gerade eben passiert, dann kann man das direkt im WebGIS machen und muss nicht erst ein ganzes QGIS hochstarten, weil es nicht jeder das immer installiert hat.
Ja, perfekt. Gut, dann möchte ich da mit auch schließen. Der Jakob ist auf jeden Fall ja noch da für Fragen. Wer jetzt noch auf ihn zukommen möchte, kann sich gerne an dich wenden. Danke nochmal für deinen Vortrag. Danke.