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

OpenLayers – Stand und aktuelle Entwicklungen

00:00

Formal Metadata

Title
OpenLayers – Stand und aktuelle Entwicklungen
Title of Series
Number of Parts
96
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
Im Vortrag wird der aktuelle Stand und potentielle künftige Weiterentwicklung der weitverbreiteten JavaScript-Bibliothek OpenLayers vorgestellt.
45
Thumbnail
25:28
Block (periodic table)Lecture/Conference
ImplementationOpen sourceJavaScriptVECTOR <Programm>makeHome pageZusammenhang <Mathematik>SoftwareCHART <Programm>Software developerSmart cardWEBJavaScriptVECTOR <Programm>Computer animation
Beta functionCLAUSFreeBSDDisplayJavaScriptOpen sourceVersion <Informatik>SuperLearnStructural loadGraphical user interfaceService (economics)Software repositoryElectronic signatureTrans-European NetworksLevel (video gaming)Coordinate systemPositionFiber bundleFunktionalitätVersion <Informatik>String (computer science)Set (mathematics)Term (mathematics)Smart cardComputer fileBeta functionDecision theorySocial classCodePlane (geometry)Route of administrationLink (knot theory)Service (economics)Code refactoringSlide ruleJavaScriptOrder of magnitudeHighlight <Programm>Computer animation
TypprüfungSun <Marke>Cache (computing)View (database)Canvas <Programm>Memory managementVECTOR <Programm>CodeHospital information systemGOOD <Programm>Maximum (disambiguation)Version <Informatik>File viewerCache (computing)Memory managementJavaScriptVolumenvisualisierungCanvas <Programm>PositionBuildingVideo cardWeb browserDefault (computer science)EditorTypCoordinate systemAPISoftware developerZahlCodeWeb pageBerechnungSummationZusammenhang <Mathematik>Computer animation
Computer animationLecture/Conference
PDF <Dateiformat>PolygonLecture/Conference
Smart cardRoute of administrationPhysical quantityFocus (optics)VolumenvisualisierungCommunications protocol
PDF <Dateiformat>Version <Informatik>
Level (video gaming)Canvas <Programm>InformationPDF <Dateiformat>Lecture/Conference
PDF <Dateiformat>Version <Informatik>Memory managementLecture/Conference
PDF <Dateiformat>InferenceLecture/Conference
Transcript: German(auto-generated)
Dieser Block oder dieser Vortragsblock, der geht um Webmapping, Webkits. Streng genommen hat er schon in der letzten Session angefangen, weil da ging es um Leaflet, aber es hatten anscheinend nicht alle Platz im gleichen Block.
Der erste Vortrag jetzt geht um Openlayers. Openlayers ist 13 Jahre jetzt in Entwicklung, also ist eigentlich sehr kontinuierlich in Entwicklung und ist bei zahlreichen Mapping-Portalen von Behörden im Einsatz und ich bin jetzt gespannt, was es Neues gibt.
Die wird zu zweit gehalten, Mark Jansen und Andreas Hotscheva. Einen zweiten Teil dann, bitte. Ja, vielen Dank. Richtig, 13 Jahre. Wollte ich eigentlich eben schon bringen, aber nur gut. Das ist unser Logo, Openlayers und auch ich wollte nochmal herzlich willkommen sagen zum Vortrag der diesjährigen FOSS GISS, Openlayers Stand und aktuelle Entwicklungen gehalten von mir und Andreas, wie bereits erwähnt.
Wir haben uns die folgende Gliederung überlegt, um an diesem Thema uns abzuarbeiten. Wir werden kurz etwas Metaslides haben, in dem wir uns selber vorstellen und die Firmen, die uns hier hinsenden. Ich werde erwähnen, was Openlayers überhaupt ist und den aktuellen Stand beleuchten
und dann wird vornehmlich der Andreas die aktuellen Entwicklungen euch erklären oder ihn. Mein Name ist Mark, ich bin Geschäftsführer bei der Firma Terrestris, aber auch Kernentwickler von Openlayers und anderen Openshaus GISS Bibliotheken, hier ist jetzt GeoEx genannt beispielsweise. Ich habe vor vielen Jahren auch ein Buch geschrieben zu Openlayers, nach wie vor käuflich zu erwerben.
Ich spreche gerne auf Konferenzen wie dieser und auch anderen Konferenzen, bin auch OSGEO Foundation Charter Member. Und die Firma Terrestris hat hier einen Stand. Wir sind noch bis morgen hier einschließlich, bis, weiß ich nicht, wann die Konferenz rum ist. Kommen Sie gerne zu uns, wenn Sie Fragen zu irgendeiner Software haben, die Sie jetzt hier zum ersten Mal hören oder zum wiederholten Male.
Wir beraten gerne und helfen bei jeder Fragestellung, die sich im Zusammenhang mit diesen Softwarekomponenten, von denen Sie jetzt hier hören, ergeben können. Ich bin Andreas, seit 2007 aktiv in der Entwicklung von Openlayers tätig, bin auch im Project Steering Committee,
bin auch Maintainer der OL Mapbox Style Library, was im Zusammenhang mit Vector Cachling interessant ist und bin Geschäftsführer und Eigentümer der Firma Ahoceva Geospatial mit Standard in Graz Wien. Wir bieten webbasierte Kartenlösungen und Consulting und Entwicklung rund um Openlayers.
Rund um Openlayers. Was ist überhaupt Openlayers? Ich vermute, dass die Allermeisten es schon mal gehört haben. Es ist wie gesagt nicht mehr das allerjüngste Projekt, aber hat sich in all den Jahren wunderbar gehalten, einfach auch, weil es konstant weiterentwickelt wurde.
Und Openlayers ist a high-performance feature-packed library for all your mapping needs. Das ist die Eigendefinition, wie ich sie am 1. März von der Homepage weggenommen habe. Das ist ein knackiger kurzer Satz und da fehlen dann halt noch drei Dinge, meiner Meinung nach. Es ist eine Open-Source-Bibliothek, wie nicht anders zu erwarten ist, PSD-lizenziert, in JavaScript geschrieben und ein OS-Geo-Projekt, eines der ältesten.
Gut, Openlayers ist irgendwie eine Kartenbibliothek, wunderbar. Was kann man damit machen? Im Grunde, ich habe eben auch schon zusammen mit Andreas und dem Christian einen Workshop gegeben, da habe ich auch ganz kurz Openlayers vorgestellt. Im Grunde kann man alles, was man sich nur vorstellen kann, was man an Webmapping irgendwie schon mal gesehen hat auf einer Website, mit Openlayers erreichen.
Sei es um die Daten, die dargestellt werden sollen, oder Dienste, oder aber auch die Interaktionsmöglichkeiten, die damit möglich sein sollen. Also rein-raussoomen, der ganz kleine Fall, aber auch Digitalisierung, Persistierung von dem Zustand eines Kartenviews und der Rotation und so weiter und so fort. Es ist sehr gut, sehr aktiv wird es entwickelt und weiterentwickelt über die gesamten 13 Jahre.
Hat eine große Community, ist schon an sehr, sehr vielen Stellen im Einsatz, ist sehr gut dokumentiert, hat unheimlich viele Beispiele und eigentlich überall einsetzbar. Und es gibt so viele Beispiele, so viel Funktionalität, da könnten wir den ganzen Talk mit machen.
Hier im Hintergrund laufen jetzt einfach völlig zufällig generiert, habe ich am längsten gebraucht in der Vorbereitung. Bilder von all den Beispielen, die wir so haben. Ich werde nicht zu allen was sagen. Wir können beinahe alles, was man sich am Web mit Karten vorstellt, sei es neuere Sachen wie Vector-Tiles, wir können für sehr viele OGC-Standards und wir können mit denen wunderbar interagieren.
Sprich, wenn Sie eine Kartenfragestellung haben, die Sie mit einer Intra- oder Internetanwendung bearbeiten wollen und diesen Kartenaspekt dafür eine Bibliothek suchen, ist OpenLairs eine ziemlich sichere Wahl und eine gute Wahl, dort die Fragestellung mit bearbeiten zu lassen.
Das ist genau das, was ich mit der Historie meinte. Die Version 1 ist 2006 rausgekommen und die Version 2 bereits im August 2006, also nur wenige Monate später. Und das war lange vor Semantic Versioning, aber man hat damals eigentlich schon den Nutzer von der Bibliothek so wertgeschätzt in dieser Bibliothek, dass man sagt, okay, da müssen wir die Major Version,
also die 1 und 2 machen, einfach weil wir grundsätzlich neu schreiben. Wir haben uns über die ganzen 13 Jahre eigentlich nie gescheut, einmal getretene Wege nochmal zu hinterfragen und gegebenenfalls auch neue grundlegende Entscheidungen architektonischer Natur anders anzugehen. Das haben wir auch im Juni 2018 wieder gemacht, da haben wir einige Dinge geändert.
Da ist die Version 5.0 rausgekommen und aktuellste Version, womit wir dann beim Stand sind, ist die Version 5.3.1, die ist am 21.2. rausgekommen im Vergleich zur letzten Foskis. Da war es die Version 4.6.5 und das ist auch die Version, die 4.6.5, das weiß ich zufällig
aus einigen Gesprächen, die ich hier gemacht habe, die ziemlich viele Leute noch im Einsatz haben und die diesen Schritt nach 5.0 noch nicht gewagt haben, weil sich da halt ein bisschen was geändert hat. Was genau werde ich gleich nochmal erwähnen. In diesem ungefähr einem Jahr ist im Grunde mal wieder alles geändert worden bei OpenLayers, zumindest mal intern, mehr wie 2500 Commits und 1200 geänderte Dateien.
Ich habe da den entsprechenden Link reingemacht, wer dann nochmal detailliert nachschauen möchte. Das ist natürlich nichts für eine Präsentation jetzt hier, wo ich 20 Minuten Zeit habe, oder eigentlich nur 10. Ganz aktuell, und ich möchte das einfach erwähnen und damit ein bisschen vorweggreifen, es gibt auch schon eine Beta von der Version 6.0 und auch die ist bereits verfügbar.
Das heißt, wenn Sie eine OpenLayers-Applikation besitzen, können Sie mit dieser Beta mal schauen, ob Sie da bereits drauf umsteigen können, was da für Änderungen vielleicht bei Ihnen notwendig sind in den Applikationen einfach und dann vielleicht auch noch Feedback geben, bevor dann die Version 6.0 irgendwann final released wird.
Ja, das ist so ein Überblick über das, was passiert ist, da ganz rechts so leicht grau hervorgehoben ist genau dieses letzte Jahr seit der letzten FOSCIS und der Top-Committer im Projekt steht hier links neben mir, das ist der Andreas, daneben Frederik und Tim und dann unser beliebter Greenkeeper, der unsere Paket-Dependenzen aktualisiert und Sie sehen, ich tauche da leider jetzt gar nicht mehr auf.
Ich habe tatsächlich jetzt weniger Entwicklungsarbeit am Code vorgenommen, sondern mehr Termine wie diesen wahrgenommen, wo ich Menschen versuche, OpenLayers beizubringen oder nahe zu bringen und mehr auf so einer konzeptionellen Ebene da tätig bin im Projekt. Kommen wir zu den Highlights in der Version 5.x, die viele von Ihnen vielleicht bereits einsetzen,
wenn nicht, sollten Sie das tun. Es ist eigentlich nicht erst seit der Version 5.x so, sondern eigentlich schon ein bisschen länger und es ist eines der Highlights, dass wir halt bei NPM sind und das hört sich für viele jetzt die neue Bibliotheken schreiben from scratch an,
da habt ihr das geschafft, einmal NPM Publish, das ist ja nicht das große Problem, das ist für ein Projekt, das diese Größenordnung hat, wie wir das hatten und haben, war es ein großer Aufwand, das so zu machen, dass es sinn macht, dass es auch nutzbar ist anschließend und so langsam, man sieht da diese Downloads-Quote, so langsam scheint das auch wirklich anzukommen,
also die geht steil nach oben und das ist auch mal eine Take-Home-Message, bitte, wenn ihr oder Sie Open-Layers verwenden, installiert das bitte wie folgt, NPM Install, OL oder Yarn, welches von den beiden ihr verwendet, ist mir egal.
Vor zwei Jahren habe ich das auch schon gesagt, das ist Beta und achtet mal, könnte sich was dran ändern, vor einem Jahr habe ich gesagt, bitte macht es nur so und heute sage ich, nutzt bitte den Full-Build nicht mehr, sondern überlegt, wie ihr da anders rauskommt, also wie ihr auf moderne JavaScript oder ECMAScript
Entwicklungstechnologien setzen könnt, um wirklich das Beste rauszuholen. Ja, jetzt habe ich in den vergangenen Jahren, habe ich immer viele bunte Slides gehabt mit ganz vielen neuen Features, die wir gemacht haben und dieses Jahr habe ich da nicht so ganz viele, da der Schwerpunkt in diesem Jahr tatsächlich auf der Refaktorierung lag, so ein bisschen, das heißt, ich habe viele graue Slides, früher im OL-Paket musste man, also als es die Version 4 hatte noch,
musste man das wie folgt importieren, import map from OL slash map und in OL5 ist es eigentlich genau das gleiche, es gibt nur einen minimalen Unterschied, das M bei map ist jetzt groß, ein kleiner Unterschied bedeutet einfach, dass man einfach nochmal hier und da ran muss,
wenn man eine Open-Layers-4-Version im Einsatz hat und das NPM-Paket benutzt, muss man jetzt halt seine Imports ein bisschen umstrukturieren und in Open-Layers 6 sieht das dann genauso aus wie in Open-Layers 5, das heißt, das was man jetzt aufwendet, ist genauso dann auch nutzbar in Open-Layers 6, wenn es denn dann da ist.
Tatsächlich liebt Open-Layer halt, Open-Layer ist halt seine Entwickler, also die Nutzer von der Bibliothek und dank dieser ECMAScript-Module, die wir halt verwenden, ist es halt möglich und auch absolut empfohlen seitens des Projektes auch solche Bundler oder Bundling-Tools wie Parcel, Webpack, Roll-Up und da gibt es noch einen ganzen Sack mehr, mit denen spielen
wir einfach voll mit, also genau wie jede andere moderne Bibliothek kann man eigentlich die volle Funktionalität von diesen Bundlern nutzen, wenn man Open-Layers einsetzt. Wie gesagt viele bunte Slides, zwei habe ich dann doch geschafft, ein unglaublich beeindruckendes Beispiel, Maus position, man fährt mit der Maus über eine Karte
und links ist das Standardverhalten, wie man das immer hat, ich fahre hier rüber, das ist Dresden und oben rechts sieht man wie sich die Koordinatenposition quasi der Maus ändert, fahre ich raus aus meiner Map, verschwindet sie. Das ist unter Umständen nicht gewünscht, sondern man möchte vielleicht die letzte
gehauerte Position nochmal darstellen, das ist tatsächlich also eine neues Feature, ich erwarte gleich Szenenapplaus, wenn ich also jetzt hierher fahre und mit der Maus runterfahre, oha, es bleibt die Koordinate da stehen. Fishing for Compliments, es ist ein neues Feature und es ist eine bunte Slide,
ein paar wollte ich wenigstens machen. Jetzt kommt eine Sache, die ich wirklich hervorragend finde, die Mauswheel-Condition. Das ist, wenn Sie auf einer Open-Layers-Applikation das Mausrad bewegen, zoomen Sie entweder rein in die Karte oder raus. Jetzt sehen Sie, dass hier rechts diese Karten zu lang sind, da ist so ein Scrollbalken rechts.
Das heißt eigentlich könnte da unter der Karte irgendwie noch was wichtiges stehen, ich bin vielleicht mit dem Mobilrad unterwegs und möchte da jetzt gerade irgendwie noch unten drunter was lesen. Wenn ich hier links das Mausrad betätige, das ist der Zustand vor Open-Layers 5 und ich will da jetzt nach unten scrollen, habe ich Pech gehabt. Ich zoome einfach, während ich das Mausrad bewege, zoome ich nicht die Seite,
sondern ich zoome leider in der Karte. Und ich hatte auch keine einfache Art und Weise das zu unterbinden, außer mit irgendwelchem Hängen und Würgen. In Open-Layers 5 und folgenden ist es möglich halt dieser Mauswheel-Interaktion zu sagen, Achtung, bitte zoome nur dann mit dem Mausrad, wenn eine entsprechende Kondition erreicht ist.
Das heißt, jetzt bin ich auf der rechten 9, genau, super. Erstmal drücke ich noch nichts, das heißt, ich scrolle und ich scrolle wirklich die Seite. Sie sehen, der Scrollbalken rechts bewegt sich und der Andreas hilft mir jetzt. Ich drücke jetzt Shift in dem Fall und schon zoome ich in der Karte. Kleine Änderungen, eine Option, aber irgendwie echt ein wirklich nützliches Feature.
Ja, noch so eine Sache, die super ist. Open-Layers verdankt mittlerweile keine ICLAs mehr. Das war letztlich ein Stück Papier, in welchem man unterschrieben hat die Kontribution, die irgendjemand dem Code, dem Projekt gibt, die gehören dann anschließend der Open-Layers Development Foundation
beziehungsweise dem Copyright-Halter. Das ist aber nicht notwendig, das sagen diese Menschen und auch die GitHub Terms of Services, weil wir bereits eine Lizenz haben und Kontributionen, die über diesen Weg uns erreichen, sind quasi bereits an die Lizenz gebunden. Ein langweiliges Thema führt aber dazu, dass hoffentlich die Hürde für potenzielle zusätzlich Beitragende zum Projekt geringer ist.
Also man muss kein Stück Papier mehr ausfüllen und irgendwo hin faxen, sondern man macht einfach mit und dadurch, dass man mitmacht, akzeptiert man die Terms of Service von GitHub und unsere Lizenz, eine Open-Source-Lizenz. Wir haben eine Menge deprecated APIs weggeschmissen. Zum Beispiel meine geliebte OL-Attribution,
also quasi wem gehört den oder wer soll den attributiert werden, wer hat das Copyright an irgendeinem Layer, ist jetzt viel, viel einfacher. Man kann jetzt einfach einen String reingeben und einen Array von Strings und nicht mehr irgendwie eine komplexe Klasse bauen mit einem also wirklich schrecklicher API gewesen vorher. Mittlerweile ist es viel, viel schöner und einfacher. Die Sphere-Berechnungen, also quasi auf dem Globus quasi,
die Entfernung zwischen zwei Koordinaten bestimmen, ist viel, viel einfacher geworden. ProE4-Integration, also um zwischen verschiedenen Koordinatensystemen Berechnungen beispielsweise machen zu können, ist wesentlich einfacher geworden, so einfach, dass wir heute morgen im Einführungsworkshop OpenLairs, einige sind hier, die da drin waren, das geschafft haben,
innerhalb von 20 Minuten einzubauen bei Menschen, die noch nie mit OpenLairs gearbeitet haben. Und die haben tatsächlich, also ich hatte den Eindruck, die haben genickt und gesagt, ne, das macht Sinn. Womit wir dann zu den aktuellen Entwicklungen kommen. Ja, und da hat sich, wie gesagt, sehr viel getan. Ich möchte jetzt einen Ausblick auf die Version 6 geben,
die demnächst einmal erscheinen wird. Ziel war, die Library und die Nutzung noch einmal benutzerfreundlicher zu machen. Das betrifft auch die Webseite. Wir werden auch wieder Live-Editing und Copy-Based für die Beispiele auf der OpenLairs-Webseite haben. Das hat jetzt in der Version 5 nicht richtig funktioniert
wegen der Umstellung auf ES-Module mit den Imports. Das haben wir jetzt in den Griff bekommen. Das heißt, das geht dann auch live, wenn die Version 6 draußen ist. Wir haben zahlreiche API-Verbesserungen wieder gemacht. Sehr viel an der Performance gearbeitet. Und wie gesagt, die Release kommt wahrscheinlich noch im März raus.
Eine Convenience-Sache, die es gibt, zusätzlich zu den Imports, wie sie der Mark schon auf seiner grauen Folie gezeigt hat, kann man jetzt auch mehrere Imports auf einmal machen, weil wir die Exporte auch pro Verzeichnis noch einmal bereitstellen.
Dadurch braucht man weniger Importzahlen. Das ist für Leute, die keine moderne IDE wie Visual Studio Code verwenden, vielleicht relevant. Visual Studio Code und andere IDEs fügen die Imports automatisch dazu. Da braucht man sich dann eigentlich gar nicht darum kümmern. Eine feine Sache, auch wenn wir schon bei Visual Studio Code sind. Die komplette Library ist jetzt mit JS-Doc-Annotations annotiert.
Das heißt, Typen werden überprüft, ob ich eine Zahl oder einen Text übergebe, wird unterwählt, wenn ich den falschen Typ übergebe. Damit wird auch IntelliSense unterstützt. Also, wenn ich anfange zu tippen, kommen sofort sinnvolle Vorschläge.
Also, die Struktur der Bibliothek wird von Editor erkannt und von TypeScript. Und das ist natürlich auch gut, wenn man die Library anderswo einbindet, dass man sofort Fehler erkennt, die aufgrund von falschen Datentypen passieren. Wir haben einige, wie ich sie nenne, Kopfwehoptionen entfernt,
die aufgrund von internen Architekturkonstrukten bis nach draußen ins AP gekommen sind. Zum Beispiel diese Snap-to-Pixel-Option für Icons oder Texte. Da hat man sich entscheiden müssen, ob man sie vielleicht unscharf will und dafür aber ganz genau positioniert oder ob man sie gestochen scharf will
und vielleicht ein bisschen weg von der richtigen Position. Da gibt es jetzt intelligente Defaults. Während man mit der Karte interagiert, wird die Position so genau wie möglich gemacht und wenn die Karte still steht, wird die Qualität so gut wie möglich gemacht. Load tiles while animating und load tiles while interacting waren Optionen,
die OpenLairs gesagt haben, wann Cache von Cache-Lehren geladen werden sollen. Hat man sich entscheiden müssen, ist es nicht mehr nötig. Das wird automatisch gemanagt. Je nach OpenLairs schaut, wie viel Zeit es braucht zum Rendern für einen sogenannten Render-Frame und je nachdem, werden Cachings während der Interaktion mit der Karte geladen oder nicht.
Früher hat man auch immer sich entscheiden müssen, welche Cache-Größe man für Caching verwenden will. Der Standardwert ist so klein wie möglich und wenn es zu klein ist, wächst der Cache. Es ist nicht notwendig, zusätzlich zum Browser-Cache noch eine eigene Cache einzuführen.
A-Beänderungen, vor allem jetzt eine große Änderung, die ich dann auch noch kurz zeige, waren die View-Constraints, dass man der View sagt, was ist die minimale, was ist die maximale Zoom-Stufe, was ist die Bounding-Box, in der ich mich bewegen darf.
Eine Änderung, die sehr viel Performance bringt, war, dass wir die Layer jetzt nicht mehr in einem Canvas, also nicht mehr auf einem Zeichenbrett zusammenfügen, sondern das dem Browser überlassen. Das heißt, jeder Layer ist ein eigener Canvas und die werden im Browser übereinander gefügt. Wir haben die Cache-Koordinaten des internen Teilgrids jetzt an den gängigeren XYZ-Standard angepasst.
Das sind die gleichen Cache-Adressen, die OpenStreetMap verwendet und nicht mehr die vom TMS-Standard, der älter ist, die wir vorher verwendet haben. Und wir haben diese ganze Diskussion mit WebGL versus Canvas dahingehend beendet,
dass wir gesagt haben, WebGL, die ganzen Renderer, die eh nur experimentell waren, kommen raus. Dafür verwenden wir WebGL dort, wo es sinnvoll ist, zum Beispiel für Hitmap-Layer, wo eben die Grafikkarte sehr viel Arbeit machen kann, ohne dass ich JavaScript drum kümmern muss.
Und auf das hin sind die WebGL-Teile in der Library jetzt optimiert. Performance- und Speichermanagement war wichtig zu verbessern. Vektor-Teilrendern ist wesentlich schneller jetzt. Wir nutzen die Render-Frames besser aus, auch auf der Seite der Builds. Das Tree-Shaking von den Build-Tools wird besser unterstützt.
Wir bekommen kleinere Builds und wir haben intelligentere Cache- und Label-Caches. Dadurch brauchen wir weniger Speicher, was vor allem auf mobilen Geräten relevant ist. Viele bunte Slides, eine habe ich noch. Ich möchte mich hier bedanken bei einem neuen Entwickler am Open-Layers-Projekt, Olivier Gouyot, GitHub-Handle-Yaho.
Der hat das gemacht, dass man sagen kann, die Karte darf nicht mehr aus einem gewissen Extend raus. Also ich kann hier nicht weiter rauszoomen, ich kann hier nicht weiter rüberfahren. Ein viel gewünschtes Feature, das jetzt umgesetzt ist. Olivier hat das Großteil in seiner Freizeit umgesetzt. Danke an dieser Stelle. Kurz auch noch, weil es in den sozialen Medien ist, immer wieder aufgetreten ist dieses Fundraising.
Das war eine Initiative, die jetzt nicht vom Open-Layers-Projekt ausgegangen ist, sondern von einem Verein namens Open-Layers Development Association. Sie erkennen auch an der Schreibweise, also Open-Layers schreibt man immer mit großen L. Dieser Verein schreibt sich mit kleinem L, ist ein Verein, der in engem Zusammenhang mit der Firma Camp2Camp steht.
Ich glaube, Swistopo ist auch drinnen, weiß ich nicht genau. Da ist eine sehr beachtliche Summe von 305.000 Dollar oder sogar ein bisschen mehr zusammengekommen. Das Ziel war, in GeoAdmin CH Vektorteils verwenden zu können mit Open-Layers.
Wir haben dazu im November einen einwöchigen Codesprint gehabt mit vier Entwicklern von Camp2Camp. Dann war der Tim Schaub dabei und ich. Seither haben wir, um dieses Ziel zu erfüllen, 530 Commits gehabt. Davon hat der Tim 80 gemacht, ich 190, Camp2Camp 260.
Danke an dieser Stelle, dass das zustande gekommen ist. Aber danke besonders auch an Tim Schaub und Olivier, die eben diese ganze Arbeit in ihrer Freizeit gemacht haben, also Tim die ganze, Olivier einen großen Teil. Und an die Firma Boundless, für die ich früher gearbeitet habe, die meine Teilnahme in diesem Codesprint und die ganze Entwicklung im November und Dezember finanziert hat.
Das waren zusammen hunderte zusätzlich geleistete Stunden, die auf das noch dazukommen. Wovon legt das Projekt wirklich? Das sind das persönliche Engagement von Core-Commitern, wie zum Beispiel dem Tim Schaub und mir. Codebeiträge von Organisationen, wie zum Beispiel der Firma Camp2Camp oder der Firma Derrestris.
Und Individuen auch, die einfach das Projekt verwenden und Verbesserungen beisteuern. Dann gibt es auch die Möglichkeit, sich an eine Firma zu wenden, die Open-Layers-Entwickler hat und die Arbeitszeit dann fürs Open-Layers-Projekt aufwendet, das ist immer gern gesehen.
Und es gibt kleine Budgets von OSGio und wenn jemand spendet über die Open-Collective-Plattform, das kommt dem Projekt in der Form zugute, dass Entwickler zu Konferenzen fahren können, dort Workshops präsentieren oder dass Codesprints organisiert werden, wo man sich wieder für einen längeren Zeitraum auf die Stoßrichtung des Projekts einigen kann.
Ja und damit sind wir fast pünktlich und auch schon am Ende unseres Vortrags. Danke. Herzlichen Dank an euch beide für den spannenden Vortrag auch zu sehen, dass sehr viel Arbeit hinter der Szene stattfindet, Refactoring, nicht immer nur neue Features.
Und da geht auf sehr viel mehr Zeit rein als in die neuen Features auch. Gibt es Fragen im Publikum? Oder waren alle am Workshop und haben die Fragen dort schon gestellt?
Dann hätte ich gar nicht so schnell reden müssen.
Also ich sehe, Open-Layers ist jetzt auch mit Vector-Tiles verwendbar. Wie würde ein Vergleich zwischen Einsatz Mapbox GLS für Vector-Tiles und Open-Layers ausschauen?
Also mich würde interessieren zum Beispiel der JavaScript-Code-Größe. Also lohnt sich Open-Layers für Vector-Tiles einzusetzen? Das ist für mich die konkrete Frage. Es kommt darauf an, wenn Sie eine Karte machen wollen, wo Sie eine Vector-Tiles-Basis-Karte haben, zum Beispiel aus Open-Street-Map-Daten oder aus anderen Daten und auf dem einige eigene Features haben,
Punkte oder Linien und Polygone und mit denen nicht viel interagieren, dann ist es wahrscheinlich besser, wenn Sie Mapbox GL verwenden. Open-Layers hat halt den Vorteil, dass es eine sehr universelle Library ist und Sie können viel, viel mehr damit machen, was schon out of the box möglich ist.
Diese Open-Street-Map-basierten Vector-Caching kann Open-Layers auch, auch mit Hilfe einer zweiten Bibliothek, die ich kurz erwähnt habe, OL Mapbox Style, die übersetzt diese Mapbox Style-Dokumente in Open-Layers, Open-Layers-Strukturen mit den jeweiligen Style-Funktionen. Das ist eine Zeile JavaScript-Code, um ein Mapbox Style-Dokument zu laden und in Open-Layers darzustellen.
Aber ich würde den Hauptnutzen hinsichtlich Vector-Tiles bei Open-Layers darin sehen, dass man Fach-Daten-Layer mit Vector-Tiles, mit Vector-Caching machen kann. Es gibt oft große Datensätze, große Punkt-Datensätze, aber auch Polygon-Datensätze,
die sich nicht sinnvoll über ein WFS oder andere Protokolle laden lassen. Und da machen dann Vector-Caching sehr wohl einen Sinn. Und da bietet eben Open-Layers mehr Interaktionsmöglichkeiten als Mapbox Style, was eben eher dieses wirklich perfekte Rendern von Open-Street-Map-Daten als Hintergrundkarte im Fokus hat.
Und Open-Layers hat eben einen breiteren Fokus für verschiedenste Webgiz, Webmapping und Anwendungen rund um Karten. Gibt es noch eine Frage? Oder weitere Fragen? Wenn nicht, dann haben wir jetzt diese fünf Minuten, wo man gegebenenfalls wechseln kann
und sich der nächste Vortragende, aber der eine bist auch du, wieder sich vorbereiten kann. So schnell kommt er dann doch nicht weg. Ich frage auch noch kurz was. Wenn ich auf der aktuellen Version bin, auf der 5.3... Bitte noch kurz bleiben, es gibt noch eine Frage. Wie würdet ihr das dann einschätzen? Wie groß ist der Schmerz für die Migration auf 6?
Also du hast ja ein paar Punkte gezeigt, aber einfach mal so aus dem Bauch raus. Wie viel Pain habe ich denn dann wirklich, wenn ich migriere? Wenn man sich auf Standard-Features beschränkt hat, wird gar nichts zum Ändern sein. Zwei Punkte, die Änderungen erfordern sind, wenn man Teil-URL-Functions definiert hat,
weil sich das Teilgrid eben geändert hat, die muss man umändern. Und wenn man Druckfunktionen verwendet hat, muss man die... Wenn man die Karte anseitig gedruckt hat, zum Beispiel in der PDF oder in der PNG, muss man das ein bisschen anders angehen, weil eben nicht mehr die ganze Karte in einem Canvas ist, sondern jeder Layer in einem Canvas. Wir haben aber die entsprechenden Beispiele aktualisiert, und man kann sich die Information dort auch wieder rausnehmen.
Und im Change Log ist auch genau aufgelistet, was zu ändern ist. Ich würde die Änderung jetzt schon empfehlen. Also es ist wirklich von der Performance und vom Speichermanagement her hat sich sehr viel getan innen und es ist wirklich sehr lohnend jetzt schon die Version 6 einzusetzen. Ich schließe mich an, und für gewisse Sachen haben wir das auch schon gemacht.
Und es lief erstaunlich gut mit den entsprechenden Änderungen, die kommuniziert werden. Ich kann es auch mal jedem empfehlen, macht das bitte. Und der Gain ist größer als der Pain. Du hast nach Pain gefnagt. Gut, dann danke nochmal.