Die Open-Source-Software
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 68 | |
Author | ||
License | CC Attribution 3.0 Germany: 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 | 10.5446/30557 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
1
2
3
6
7
11
15
24
26
28
29
30
31
36
37
39
49
52
53
54
57
58
59
60
61
62
65
67
68
00:00
USB <Schnittstelle>User interfaceMason <Programm>DesktopWeb browserEmailDatabaseSoftwareStructural equation modelingWeb serviceComputer musicInternetInternetdienstSet (mathematics)SineGame theoryDVDBlogOpen sourceInformationWeb pageSoftware developerSmart cardGeometryBlock (periodic table)Route of administrationSet (mathematics)State of matterLecture/ConferenceMeeting/InterviewComputer animation
02:13
ImplementationSoftware developerInformationTwitterSmart cardOpen sourceGeometryWebsiteLecture/ConferenceComputer animation
04:22
JavaScriptLandinformationssystemKooperatives InformationssystemTerminal equipmentGraphical user interfaceQuantumSimulationTouchscreenJavaScriptInternetdienstRoundingSmart cardOpen sourceCodeWebsiteSpring (hydrology)Server (computing)WEBLecture/ConferenceComputer animation
06:30
Open sourceXMLString (computer science)MORSE <Programm>Forced inductionPixeloutputINGA <Programm>LeadLink (knot theory)Scripting languageFile formatVector graphicsVersion <Informatik>WEBGeodesicALT <Programm>Software developerRoute of administrationPoint (geometry)Smart cardjQuerySet (mathematics)Client (computing)LengthAttribute grammarDecision theoryConcurrency (computer science)InkonsistenzNullDatenformatDevice driverLecture/ConferenceComputer animation
11:07
Common UNIX printing systemRoute of administrationSmartphoneGraphics tabletHighlight <Programm>CodeFile viewerLevel (video gaming)Web browserSmart cardSocial classLecture/ConferenceComputer animation
13:42
RelationalsystemSlide ruleInternetSmart cardRoute of administrationControl flowZoom lensGoogle MapsSummierbarkeitLecture/ConferenceComputer animation
15:20
CodeInformationJavaScriptLevel (video gaming)MittelungsverfahrenRoute of administrationGeometryVector graphicsPoint (geometry)Musical ensembleInternetInternetdienstComputer fileWebsiteGeodesicWeb pageOpen sourceGoogle MapsComputer animationLecture/Conference
18:41
HTMLState of matterMittelungsverfahrenDigitizingOpen sourceCoordinate systemComputer animation
20:17
SoftwareFocus (optics)Version <Informatik>Software bugSlide ruleGreatest elementGUI widgetSun <Marke>SummierbarkeitLecture/Conference
23:22
HANS <Datenbanksystem>Drum memoryServer (computing)QuantumLandinformationssystemServer (computing)PostgreSQLDatabaseJavaScriptUniform resource locatorRoute of administrationInternetdienstStandard deviationOptimumProgramming languageSoftwareDatabaseWeb browserVideodatComputer virusSmart cardClient (computing)Service (economics)Computer animation
26:22
Processing <Programmiersprache>Plug-in (computing)ImplementationWEBStandard deviationWorkplace ShellSpring (hydrology)FunktionalitätMetadataInternetdienstSmart cardService (economics)Interface (computing)Route of administrationProduct (category theory)Lecture/Conference
28:16
Configuration spaceWeb browserInternetdienstTable (information)DatabasePasswordRoundingServer (computing)Web browserJavaScriptIP addressCodeInstallable File SystemQuery languageComputer fileInternetdienstDynamic rangeSmart cardHome pageComputer animationLecture/Conference
32:11
Common UNIX printing systemNeWSRow (database)Service (economics)DatabaseSet (mathematics)SoftwareVersion <Informatik>Software developerAuthenticationPasswordComputer fileDirectory serviceServer (computing)Decision theoryParallelenGeometryClient (computing)Social classAuthorizationPlug-in (computing)Single-precision floating-point formatComputer animationLecture/Conference
36:31
Open sourceGoogleArcGISInternetdienstZoom lensData bufferComputer fileInstallable File SystemCache (computing)PNGSQLiteSmart cardComputer fileLevel (video gaming)InternetdienstServer (computing)Scale (map)DesktopGoogleCache (computing)Data bufferDatabaseSoftwareCLOU <Programm>Google MapsOpen sourceEigenvalues and eigenvectorsGebiet <Mathematik>Client (computing)PositionProxy serverHard disk driveSpring (hydrology)Service (economics)Computer virusComputer animation
44:42
PixelVersion <Informatik>PDF <Dateiformat>Computing platformSurfaceSmart cardInternetdienstData bufferVersion <Informatik>DatabaseElectronic mailing listClippingProxy serverPositionSoftware developerSoftwareMultitier architectureFunction (mathematics)System administratorAbteilungOperating systemUNIXLINUXWINDOWS <Programm>Open sourceCodeApache <Programm>Coordinate systemCache (computing)Computer animation
52:53
Focus (optics)MittelungsverfahrenLecture/Conference
54:45
Open sourceComputing platformLINUXWINDOWS <Programm>Android (robot)DownloadFunktionalitätGNU <Software>DesktopWeb browserServer (computing)GeometryInternetVideo game consoleCodeError messageSource codeHTTPForestProject <Programm>LINUXOpen sourceLibrary (computing)Route of administrationWeb browserDesktopServer (computing)Project <Programm>CodeInformationAlgorithmC++Electronic mailing listRun-time systemInternetStatisticsLink (knot theory)Eigenvalues and eigenvectorsPlug-in (computing)FunktionalitätScripting languageDownloadUploadingSpoke-hub distribution paradigmGeodesicVersion <Informatik>NumberProgram codeFocus (optics)UpdateGoogleSoftwareSource codeFunction (mathematics)File formatSmart cardWeb pageComputer programmingCodeSoftware developerAndroid (robot)Query languageWINDOWS <Programm>Mathematical structureClient (computing)Direction (geometry)StatistikerSoftware testingUMLComputer animation
01:04:52
WhiteboardVoting <Programmierung>Set (mathematics)Dynamische AussagenlogikLeast squaresVoigt, AndreasWindows RegistryHTTPAtomic nucleusBusiness reportingOpen sourceDynamic rangeSoftwareOpen sourceBeam (structure)LoginStatuteRoute of administrationWeb pageField extensionSoftware developerServer (computing)CodeFilm editingSoftwareVersion <Informatik>LanglebigkeitPAUSMathematical structureRoundingService (economics)Code refactoringProgrammer (hardware)FINANZ <Programm>Business reportingHTTP cookieVoting <Programmierung>GoogleAbsolute valueCubeDecision theoryDynamic rangeMittelungsverfahrenComputer animation
01:14:28
DatabaseNumberWeb browserVersion <Informatik>Musical ensembleCodeSun <Marke>InternetdienstDatabaseWEBRoute of administrationHTTP cookieSmart cardClient (computing)InternetContent (media)CubeComputer fileSoftware developerServer (computing)Product (category theory)Function (mathematics)FunktionalitätLecture/Conference
01:21:58
DesktopInternetInternetdienstPDF <Dateiformat>OPUS <Programm>World of WarcraftQuicksortCodeStructural equation modelingWorld Wide WebSoftware frameworkVersion <Informatik>SQLSoftware repositoryMoving averageRoute of administrationUser interfaceRollbewegungRoute of administrationLink (knot theory)Computer programmingComponent-based software engineeringClient (computing)CodeThumbnailBendingVideoportalTouchscreenElement (mathematics)Smart cardLösung <Mathematik>Musical ensembleScale (map)Software developerGUI widgetWEBRollbewegungService (economics)Leiste <Technik>Generating functionPositionFunktionalitätInternetdienstComputer animationXMLUML
01:29:55
RollbewegungPoint of saleWorld Wide WebDownloadPDF <Dateiformat>User interfaceUnits of measurementInternetdienstRoute of administrationIP addressLink (knot theory)Proxy serverQuery languageZugriffPlane (geometry)System administratorTable (information)Smart cardMusical ensembleInformationGebiet <Mathematik>Coordinate systemLevel (video gaming)SIMPL <Programmiersprache>DemosceneConfiguration spaceServer (computing)GeometryComputer animation
01:36:50
DemosceneNeWSWorld Wide WebHTTPLink (knot theory)DemosceneComputer fileTable (information)Server (computing)Musical ensembleRoute of administrationConfiguration spaceSurfaceVariable (mathematics)Computer animation
01:39:24
SQLNetwork-attached storageManufacturing execution systemZugriffOpen sourceField extensionMASCellular automatonPostgreSQLComponent-based software engineeringHTTPPoint of saleOpen sourceDemosceneMoment (mathematics)DatenformatSoftware developerRoute of administrationOffice <Programm>File formatComponent-based software engineeringALT <Programm>Client (computing)ZugriffData modelNetwork-attached storageNorm <Mathematik>Plug-in (computing)Computer fileInformationInterface (computing)DatabaseVector graphicsVirtual machineSystems <München>TestdatenLecture/ConferenceComputer animation
01:46:11
Network-attached storageData modelMASServer (computing)Kooperatives InformationssystemModemManufacturing execution systemHTTPDatabaseOracle <Marke>PostgreSQLDeutscher FilmpreisInsertion lossÄquivalenzprinzip <Physik>User interfaceWindows Workflow FoundationMEGATangible user interfaceSchaleData terminal equipmentTable (information)Principal ideal domainComponent-based software engineeringLösung <Mathematik>WEBDatabaseTable (information)Set (mathematics)Route of administrationPlug-in (computing)Row (database)Web pageAlgebraComputer fileRotationScripting languageRelational databaseObject (grammar)GeometryDepictionMusical ensemblePresentation of a groupVector graphicsWordInformationStatisticsGrand Unified TheoryComputer animation
01:53:01
Network-attached storageMASAudiovisualisierungServer (computing)World of WarcraftWorld Wide WeboutputManufacturing execution systemPostgreSQLZugriffDeutscher FilmpreisUser interfaceUniformer RaumComputer fileATKISHTTPQuery languageIP addressClient (computing)MAID <Datenbanksystem>SimulationMach's principleObject (grammar)InformationScripting languageDatabaseConfiguration spaceMoment (mathematics)Visualization (computer graphics)TestdatenWEBAutoCADError messageSet (mathematics)Direction (geometry)IP addressComputer fileFirst-person shooterACCESS <Programm>Table (information)Plug-in (computing)ForceComputing platformPresentation of a groupComputer animation
01:59:34
MASHTTPWeb pageTestdatenSubversion <Programm>Electronic mailing listSignalWeb pageCalculationWordHigh availabilityField extensionPlug-in (computing)DatabaseInternetGraphics tabletWINDOWS <Programm>ZugriffGoogleMeeting/InterviewComputer animationLecture/ConferenceJSONXML
Transcript: German(auto-generated)
00:08
Herzlich willkommen hier auf der FOSKES-Konferenz in Passau. Vor der richtigen Eröffnung haben wir ja die letzten Jahre eingeführt, dass es so ein bisschen um das Thema Open Source geht,
00:20
wo wir Ihnen ein, zwei Sachen vorstellen. Die letzten Jahre haben wir Ihnen oft immer so Grundlagen erzählt, was ist Open Source eigentlich, hatten dann die Rückmeldungen, naja, das kennen jetzt alle, und haben uns gedacht, so richtig wegfallen lassen wollen wir den Blog eigentlich nicht, weil wir es eigentlich auch ganz schön finden, weil viele Leute ja vorher anreisen und ihnen so ein bisschen ein paar Grundlagen erzählen wollen. Und da haben wir uns zu entschlossen, dass wir Ihnen einfach
00:43
ein paar Open Source Projekte, die auch hier auf der FOSKES-Konferenz vertreten sind, vorstellen und teilweise halt auch von den Entwicklern selber, wo sie dann wirklich hautnah Informationen zum Projekt bekommen und schon mal wissen, wer so hinter dem Projekt steht.
01:02
Das Ganze ist auch so ein bisschen aufgehangen zum Thema OSGEO Live, sprich es gibt eine OSGEO Live DVD, das heißt alle Projekte, die Sie hier quasi vorgestellt bekommen, finden Sie auch auf der OSGEO Live DVD. Am FOSKES-Stand gibt es auch so tolle Karten, da weiß man dann, wo man draufsgehen muss,
01:21
da steht auch die Webseite drauf. Und diese OSGEO Live DVD besteht halt aus mehreren Projekten, das heißt, hier sind wirklich 50 Projekte quasi mit drauf, bei denen, bei Open Source Projekte, die quasi laufweg installiert sind. Das heißt, ich habe hier wirklich bekannte Sachen wie Kugis,
01:41
das später auch vorgestellt wird, etc., wo ich wirklich eine Menge Anwendungen habe, um die einfach mal testen und ausführen zu können. Wie gesagt, einige, ich glaube fünf oder sechs Anwendungen werden wir Ihnen jetzt hier genauer vorstellen. Und jeder Vortragsblock pro Projekt dauert ungefähr 15 bis 20 Minuten und Sie können danach natürlich noch mal kurz Fragen stellen
02:02
und haben so hoffentlich eine schöne Einführung in das Thema Open Source und die Projekte und einen guten Start in die FOSKES-Konferenz. Und starten wir jetzt mit dem Thema Open Layers 3. Mark ist auch Mitentwickler oder Entwickler von Open Layers 3-4,
02:21
das wird er gleich sicherlich auch erzählen. Und kann Ihnen da hautnah Informationen geben und von daher wünsche ich Ihnen jetzt viel Spaß beim ersten Vortrag. Ja, hallo, auch von mir zur FOSKES 2017. Ich denke, dass diese Mikrofone auch funktionieren richtig, klasse. Okay, wie bereits gesagt, mein Name ist Mark Jansen
02:45
und ich bin hier heute angetreten, um Ihnen Open Layers kurz vorzustellen. Mein Name ist Mark, Adselectweet ist der Twitter-Handle. Ich bin seit 2007 bei der Firma Terrestris angestellt. Ich stelle mich nur ganz kurz vor.
03:00
Ich bin sowohl Kernentwickler von Geoxt als auch Open Layers. Geoxt stellen wir in diesem Vortragsblock heute morgen nicht speziell vor. Es gibt aber einen Vortrag dazu, der es sich auf jeden Fall lohnt, sich anzuschauen jetzt in den nächsten Tagen. Und ich bin auch ein Kernentwickler von Open Layers, sprich ich bin bereits seit vielen Jahren an Open Layers, an der Entwicklung beteiligt. Das ist nie sehr maßgeblich, muss man dazu sagen.
03:22
Ich bin aber schon lange dabei und habe über die Jahre hinweg einige verschiedene Sachen dort beitragen dürfen. Ich habe auch mal ein Buch geschrieben und auch zum Thema Open Layers. Und ich spreche gerne auf Konferenzen, sowohl national wie international, also wie jetzt oder auch auf der FOS4G und bin ein OSGeo Foundation Charter-Member. Die Firma, die mich hierhin entsendet, ist die Firma Terrestris.
03:41
Wir haben noch einen Stand hier. Das heißt, aktuell wird da, glaube ich, meines Wissens nach aufgebaut. Aber sobald diese Vorstellung hier vorbei ist, dürfen Sie dann schon vorbeikommen. Und mal Hallo sagen. Wir sprechen gerne über das, was wir hier tun. Wir arbeiten mit allerlei Open Source Tools und das sehr erfolgreich, auch bereits seit über zehn Jahren. Und wir lieben das, was wir tun und wir lieben auch darüber zu sprechen. Also einfach vorbeikommen, Hallo sagen.
04:02
Dann unterhalten wir uns über das, was wir gerne tun. Okay, zu Open Layers. Was ist Open Layers? Ich habe den Satz, der hier in Anführungszeichen steht, habe ich von der Open Layers Website entnommen. Er ist vom 10. März dort entnommen worden. High Performance Feature Pack Library for all your mapping needs. Das heißt, es ist eine JavaScript-Bibliothek, die man verwenden kann,
04:22
um HTML-Seiten zu erstellen, in denen Karten angezeigt werden. Mit diesen Karten kann man dann anschließend interagieren. Man kann reinzoomen, rauszoomen. Man kann verschiedene Datenthemen hinzufügen. Also man kann zum Beispiel WMS-Dienste hinzufügen, aber auch gekachelte Dienste, proprietäre Dienste anbinden.
04:41
Also wie zum Beispiel von Bing. Da kann man Hintergrundkarten beispielsweise besorgen. Was in dieser Definition von der Open Layers Website noch fehlt, ist eigentlich drei Punkte, die ich hier noch ergänzen möchte. Es ist Open Source. Also wir sind hier auf der Foskis. Das heißt, im Grunde alles, was Sie hier heute und in den nächsten Tagen hören und sehen werden, ist eigentlich alles Open Source. So auch Open Layers ist unter BSD lizensiert.
05:03
Es ist ein, wie bereits erwähnt, JavaScript-Framework. Sprich, wenn man sich Open Layers Code anguckt, muss man sich dran gewöhnen, dass viele Klammern da sind in allerlei Formen, eckige, runde und geschwungene JavaScript-Script, wie man es so kennt. Und es ist auch ein OS-Geo-Projekt, eines der ersten, nicht das allererste, aber auch schon seit vielen Jahren dort inkubiert.
05:24
Okay, ich habe jetzt hier in Anbetracht der Zeit, da wir nur circa 15 Minuten oder 20, je nachdem wir schauen mal, zur Verfügung stehen, habe ich nicht die Chance, jetzt hier alles zu zeigen. Also wir haben im Open Layers-Projekt ca. 161 oder, ich glaube, ziemlich genau 161 Beispiele,
05:43
die wir online verfügbar haben. Und hier ist jetzt so ein kleines GIF, was ich erzeugt habe, was diese Beispiele darstellt. Das läuft jetzt einfach so, während ich ein bisschen frei rede. Mit Open Layers kann man im Grunde wirklich alles machen, was man sich vorstellen kann, was man im Web denn so machen möchte mit Karten. Wir können allerlei Quellen einbinden,
06:02
d.h. Rasterdaten wie auch Vectordaten. Sprich Rasterdaten, im einfachsten Fall ein einfaches Bild, was Sie haben, also z.B. ein PNG von Deutschland, wo Sie dann die Eckkoordinaten wissen müssen, können Sie einbinden. Sie können aber auch Dienste einbinden, wie z.B. den OGC-Dienst WMS, also irgendeinen Server, der einen WMS bereitstellt,
06:22
so ein standardisierter Dienst. Ich weiß nicht ganz genau, was ich voraussetzen kann, aber das ist letztlich eine standardisierte Art und Weise, wie man Rasterdaten von einem Server abfragen kann. Man stellt in einer bestimmten Art und Weise die Anfrage und Open Layers hilft einem dabei, diese Anfrage zu formulieren und kann die Antwort dann einbetten in solch eine Map, die man anfassen kann, verschieben kann, rein, rauszoomen usw.
06:42
Das sind die Rasterdaten. Rasterdaten können wir wunderbar. Des Weiteren können wir auch Vectordaten von verschiedensten Formaten lesen. Vectordaten, sprich in dem Falle ist Open Layers nicht einfach in der Lage, nur ein Bild zu nehmen und das einfach nur an die richtige Stelle letztlich zu schieben, sondern hier muss Open Layers ein bisschen mehr tun unter der Haube.
07:00
Open Layers muss die Daten, also beispielsweise ein GML, ein GeoJSON, ein anderes Geo-Datenformat, was Sie eigentlich wollen, KML, muss Open Layers einlesen und dann die Features, die dort drin beschreiben, also die geografischen Entitäten und ihre Attribute, nimmt es und ist dann in der Lage, jene auf der Karte darzustellen, wie z.B. hier ganz kurz gesehen, mit roten Punkten usw.
07:22
Da sind auch die Möglichkeiten recht hoch, wie man seine Features dann styled im Client. Ich glaube, wir sind ungefähr einmal durch. Wenn nicht, können wir uns gleich noch einschauen. Ich werde auch noch ein paar Beispiele live zeigen. Was mir ganz wichtig ist, wenn ich über Open Layers sprechen darf,
07:42
ist die lange Historie, die Open Layers bereits hat. Man sieht hier ein paar Daten. Also die aktuellste Version ist die Version 401. Die ist erst im Februar, glaube ich, diesen Jahres veröffentlicht worden. Und bereits im Mai 2006 ist die Version 1 rausgekommen. Das heißt, wir reden hier davon, ich stelle Ihnen quasi gerade eine 11 Jahre alte JavaScript-Bibliothek vor.
08:03
Das ist in Zeiten, also insbesondere noch mal in den letzten paar Jahren, es ist alles noch mal viel rapider geworden. Wir sprechen hier von einer Bibliothek, die 11 Jahre auf dem Buckel hat und sich in diesen 11 Jahren ständig weiterentwickelt hat und neu erfunden hat, auch weil es das musste. Und ich bin sehr stolz darauf, dass diese Bibliothek so lange eigentlich bereits immer am Puls der Zeit war
08:23
mit dem, was eigentlich technisch möglich ist, um halt ansprechende Karten zu machen. Hier sind mir noch zwei Sachen wichtig eigentlich. Sie sehen vielleicht diesen kurzen Zeitraum zwischen der Version 1.0 und der Version 2.0. Das sind, glaube ich, drei Monate. Nagen Sie mich nicht darauf fest. Die Sache ist die, im Jahr 2006, da war JQuery,
08:43
vielleicht ein anderes JavaScript-Bibliothek, die man in der Regel schon mal gehört hat, wenn man sich ein bisschen damit beschäftigt. Ich glaube, JQuery ist im 1. September oder so veröffentlicht worden, also ist zur gleichen Zeit veröffentlicht worden. Und zu dieser Zeit war die Open-Source-Welt noch ein bisschen aufgeräumt. Also nicht so ganz so schnelllebig wie heute.
09:02
Nichtsdestotrotz ist Open-Layers hingegangen, nachdem die Version 1.0 draußen war, haben sich die Entwickler damals, der Christopher Schmidt kann man da erwähnen, noch mal hingeschaut und was haben wir jetzt eigentlich gemacht? Die 1.0-Version konnte viele Sachen machen. Das war letztlich ein Reverse-Engineering von der Google Maps Engine, die es damals schon gab. Und die haben sich halt entschlossen,
09:22
innerhalb dieser drei Monate alles wieder wegzuwerfen und die Version 2.0 auf den Markt zu bringen, weil sie sagten, da ist die API gefällt uns nicht. Also das, wie jemand uns verwenden möchte, das gefällt uns nicht. Es gab Inkonsistenzen, die Performance war nicht so toll. Und das ist halt eine Entscheidung, die man vor zehn Jahren getroffen hat. Okay, wir nehmen das, was wir haben. Und man war damals wirklich high-end. Es gab kaum eine Konkurrenz,
09:41
die irgendwas alterniert, was in der Form konnte, außerhalb dieser Google Maps API. Und trotzdem hat man sich entschlossen, wir machen es einfach noch mal neu und hat dann drei Monate später die Version 2.0 rausgebracht. Dieser hat uns sehr lange begleitet. Er steht acht Jahre. Die Version 3.0 kam im August 2014.
10:01
Die konnte man schon ungefähr anderthalb Jahre vorher benutzen, aber sie war halt nicht als 3.0 veröffentlicht. Sprich, ungefähr sieben, acht Jahre hat die Version 2.0 ausgehalten. Und auch das bin ich auch nach wie vor stolz drauf. Wir haben in dieser ganzen Zeit es eigentlich nie versäumt, unsere API konstant zu halten. Sprich, wenn man auf OpenLayers 2.1
10:22
oder so irgendeine Applikation gemacht hat, war ein Upgrade auf 2.2 in der Regel sehr einfach. Okay, OpenLayers 3.0 war dann irgendwann dort auch ein kompletter Rewrite. Da haben wir ganz viele neue Sachen versucht und auch erfolgreich umgesetzt. Und ganz aktuell haben wir die Version 4.0, wie gesagt. Die gucken wir uns jetzt noch ein bisschen detaillierter an.
10:40
Gleich. Okay, zusammengefasst. Wenn Sie alles vergessen, was ich heute gesagt habe. OpenLayers löst Ihnen ihr Problem. Wenn Sie Geodaten oder welcher Quart auch immer im Web anzeigen wollen. OpenLayers hilft Ihnen dabei in vielerlei Art und Weise. Wie gesagt, wir können allerlei Daten und Layer.
11:01
Es gibt eine ganze Menge Interaktionen und Steuerelemente, die wir mitgeben. Also zum Beispiel können Sie die Karte rotieren. Sie können rein rauszoomen. Sie können aber auch, es gibt so ein Plus- und Minuszeichen. Es ist kein Highlight, was man im Grunde speziell erwähnen müsste. Aber nichtsdestotrotz kriegen Sie es out of the box mit. Wenn Sie eine OpenLayers-Karte machen, können Sie mit jener
11:20
gut interagieren. Es ist aktiv entwickelt und das bereits seit 11 Jahren. Hat eine riesen Community. Ich denke mal, dass die allermeisten schon mal eine OpenLayers-Karte benutzt haben oder vielleicht schon mal damit was gemacht haben. Es ist ganz gut dokumentiert und hat reichlich Beispiele. Wir haben eben ein paar Screenshots gesehen und es letztlich universell einsetzbar. Sprich, ob Sie eine Applikation bauen, die auf einem
11:41
Desktop-PC, wie jetzt hier zum Beispiel, läuft oder eine machen, die auf einem Smartphone laufen soll oder auf einem Tablet. OpenLayers steht Ihnen da in keinster Form im Wege, sondern Sie können das eigentlich überall verwenden. Okay, wir gucken uns ein bisschen Code an. Das ist die Foskis. Die ist naturgemäß auch so ein bisschen immer code-lastig. Das heißt, hier sind die angekündigten runden und
12:01
eckigen Klammern. Ach, eckige Klammern habe ich gar keine drin. Doch, da unten. Das ist ja das Skript, was wir hier sehen. Es sind ungefähr 10 Zeilen oder ziemlich genau 10 Zeilen. Ich kann nicht auf alles eingehen, was dort passiert. Aber letztlich ist das das absolute Minimalbeispiel, was man machen kann, um eine OpenLayers-Karte zu haben. Wir sehen hier wird eine neue OL-Map, das ist eine der
12:23
Container quasi, der alles enthält, instanziert. Das passiert über dieses New. Dann haben wir hier drei Eigenschaften. Wir geben so ein Objekt rein zum Konfigurieren. Und drei Eigenschaften konfigurieren wir ganz speziell. Einmal die Layers, einen View und ein Target. Gehen wir zuerst auf das einfachste Target, Target-Map.
12:40
Das heißt, die Karte, die wir rendern, die wird anschließend in einem DIV, also in einem HTML-Element mit der ID Map landen. Layers ist die Liste an, oder es ist ein Array, die Liste von Layern, die wir in dieser Karte haben wollen. Hier wollen wir einen Gekachelten, einen OL-Layer-Teil-Layer haben, der als Quelle, also da, wo er seine Daten
13:02
herbezieht, die USM-Quellen verwendet. Also sprich, das wird eine USM-Karte werden, also eine OpenStreetMap-Karte. Und dann geben wir hier unten den View noch an. Das heißt, unsere Karte hat bis jetzt, weiß unsere Karte, okay, ich soll OpenStreetMap einblenden und ich soll in diesem untergehendem DIV irgendwie sein. Aber wo soll ich eigentlich zentriert sein? Das sagt man hier in dieser View-Einstellung.
13:21
Und hier sagen wir das Folgende. Bitte zentrier doch bitte auf diese Longitude 13.43 und Latitude 48.56. Das ist Passau meines Wissens nach. Und bitte zoom ungefähr auf Zoom-Level 11. Wenn man das Ganze ausführt und in einem Browser dann öffnet, sieht das wie folgt aus.
13:42
Klasse, es hat funktioniert. Wir sehen hier eine OpenLayers-Karte. Und in dieser Karte ist Passau relativ im Zentrum. Sie können das hier vielleicht noch lesen. Wir sehen die OpenStreetMap-Kacheln. Das heißt, hier wurden im Hintergrund quasi, OpenLayers hat quasi die Arbeit für uns abgenommen. Okay, das DIV auf dieser Karte, auf dieser Slide in
14:01
dem Falle ist so und so groß. Das heißt, ich muss vielleicht neun oder zwölf Kacheln anfordern von OpenStreetMap. Welche Kacheln genau? Aha, da kann ich irgendwie ins Zentrum gucken. Daraus ergibt sich über einen Schlüssel. Das müssen Sie alles gar nicht wissen. OpenLayers nimmt Ihnen das alles ab. Aha, dann muss ich diese Kachel anfragen, dann die benachbarten Kacheln und bringen die alle dort rein. Was kann man jetzt hiermit machen?
14:20
Erstmal könnte man jetzt mehr Layer hinzufügen. Das machen wir jetzt nicht. Ich kann aber hingehen und ich bewege jetzt gerade das Mausrad. Ich zoome einmal rein. Ich hoffe, dass das Internet noch funktioniert. Wunderbar. Sie haben gesehen, während ich reingezoomt bin, waren zuerst die alten Kacheln ein bisschen vergrößert dargestellt und dann werden neue Kacheln einer neuen Zoom-Stufe angefordert, die ein bisschen mehr Details zeigen.
14:40
Unter Umständen, das weiß man nicht. Also OpenLayers weiß es nicht, aber er fordert sie einfach an. Und was kann man hier noch machen? Ich bewege jetzt die linke Maustaste, drücke ich jetzt und dann kann ich diese Karte verschieben. Das heißt, ich kann hier relativ, also im Grunde bedient man diese Karte genauso, wie man es erwartet. Sie haben alle schon mal entweder bei Google Maps irgendwas geroutet oder so. Und genauso ist es auch mit OpenLayers,
15:01
nur dass Sie hier die volle Macht darüber haben, was Sie eigentlich dargestellt haben wollen. Genauso wie Sie auch die volle Macht darüber haben wollen, ob Sie das erlauben wollen, dass man pennt oder ob Sie erlauben wollen, dass man mit dem Mausrad rein oder rauszoomt. Das können Sie alles konfigurieren. Hier sehen wir solche Controls. Es gibt hier in dieser Applikation gibt es, glaube ich, zwei Controls. Wir sehen einmal diese Zoom In und Zoom Out.
15:21
Und dann gibt es noch eine Attribution. Das heißt, hier unten kann man quasi Copyright-Informationen angeben. Bei Open Street Map beispielsweise ist es ja sinnvoll und auch vorgeschrieben, die diese Daten korrekt zu attributieren. Das ist nur das absolute Minimalbeispiel. Also wir haben jetzt nur noch mal einen Zehnzeilen Code JavaScript geschrieben und bekommen eine voll navigierbare
15:46
und konfigurierbare Karte, mit der ich von dort an, also von diesen Zehnzeilen an alles in der Hand habe, was ich möchte. Ich kann entscheiden, welche Interaktionen drin sind, welche Layer drin sind und so weiter und so fort. Okay.
16:01
Damit bin ich schon am Ende meines offiziellen Vortrags. Ich danke Ihnen, dass Sie mir zugehört haben. Ich denke, dass das für viele von Ihnen nicht neu war, was ich Ihnen gesagt habe. Aber einige vielleicht haben heute zum ersten Mal von OpenLairs gehört. Und bitte versuchen Sie das mal. Wir versuchen eigentlich, diese Bibliotheke so zu gestalten,
16:20
dass man relativ easy dort mitarbeiten kann und eigentlich aber auch gleichzeitig genügend Flexibilität mitliefert, um eigentlich auch jede geographische Fragestellung adressieren zu können. Ich hoffe, Sie haben noch ein paar Fragen und Anmerkungen. Wenn nicht, würde ich einfach noch ein paar Beispiele zeigen, die mir gut gefallen. Also ansonsten einfach mal Fragen stellen, bitte.
16:40
Gibt es Fragen? Ja, wunderbar, bitte. Ich glaube, ins Mikro. Sie bekommen ein Mikro. Also Sie sprachen davon, dass man eben WMS und WFS Dienste hinzufügen kann. Inwiefern könnte ich denn jetzt auch POIs selbst einfügen? Also wie man das jetzt
17:00
von der Google Maps User Karte kennt zum Beispiel? Also POIs, Points of Interest, also quasi irgendwelche Punkte, die vom speziellen Interesse sind. Gibt es verschiedene Wege? Also angenommen, wir gehen mal zurück zu dieser Karte. Angenommen, die war eben mal auf Passa zentriert, jetzt ist sie irgendwo ein bisschen anders,
17:21
ist auch völlig egal. Angenommen, wir wollen hier noch vier Punkte auf der Karte bringen, rote Punkte beispielsweise. Der klassische Weg wäre, dass man ein entsprechendes Daten File sich erzeugt, also zum Beispiel ein KML erzeugt, ein GeoJSON erzeugt, also sprich in einer Art und Weise OpenLayers diese Daten mitgibt.
17:42
Und dann würde man einen Vektorlayer hinzufügen und diesem Vektorlayer würde man sagen, bitte nehmen diese Daten aus meiner GeoJSON Datei mit den drei Punkten drin und style mir die bitte mit rot. Wie man ein GeoJSON Datei erzeugt, das macht man entweder händisch oder man verwendet einen Haufen anderer Tools,
18:00
die es hier gibt, auch Open Source Tools, also beispielsweise die einfachste Wahl wäre zum Beispiel QGIS. In QGIS kann man einen neuen Layer anlegen, in dem dann Punkte digitalisieren, also wirklich Punkte erzeichnen unter der Maus und dann exportieren als GeoJSON. Das ist der klassische Weg. Was man auch machen kann in OpenLayers, weil ich nicht ganz genau weiß, wohin die Frage eigentlich abzählt.
18:21
Also ob es darum geht, dass ich jetzt zum Beispiel drei Firmenstandorte oder sowas machen, dann würde man wahrscheinlich so machen, wie ich es gerade gesagt habe. Aber auch OpenLayers ist in der Lage, solche Dinge zu machen. Das heißt, man könnte sogar OpenLayers verwenden, um seine Geodaten zu erzeugen. Ich zeige Ihnen mal ein Beispiel dazu. Ich hoffe, das Internet funktioniert. OpenLayers.org, das ist die Webseite des Projektes. Besuchen Sie die ruhig mal.
18:41
Hier oben gibt es einen großen Tab, der heißt Examples. Da sind diese 160 Examples, sind es nicht 161. Da gibt es eine sogenannte Interaktion Draw heißt die. Ich öffne dieses Beispiel. Ich hoffe, ja genau. Wir sehen jetzt hier die Karte der Vereinigten Staaten von Amerika. Und Sie sehen schon unter meiner Maus ist so ein
19:03
blauer Punkt quasi. Das heißt, ich kann jetzt hier neue Punkte digitalisieren. Ich klicke gerade und schon habe ich meine Poise auf der Karte. Aber wenn ich das nächste Mal F5 drücken würde, also diese Seite neu lade, sind diese Punkte wieder weg. Ich kann aber jetzt im Hintergrund passiert das Folgende. Das man zeichnen kann,
19:21
ist eine OpenLayers Interaktion. Die bindet man ein, genauso wie man letztlich auch andere Interaktionen einbindet. Wenn ich die Maustaste runtergedrückt habe, passiert das Folgende. Die Koordinat wird genommen. OpenLayers nimmt einem das alles ab und fügt das letztlich in solch eine Source hinein, so wie wir die gerade eben bei der OpenStreetMap-Source schon gehabt haben. Das heißt, anschließend habe ich diese Koordinaten des x- und y-Wertes, dieser Punkte, die ich gezeichnet habe,
19:40
habe ich letztlich vorliegen. Und diese Sourcen kann ich exportieren, zum Beispiel nach GeoJSON. Das heißt, ihr könnt jetzt ein anderes Beispiel nehmen. Ich weiß nicht genau, ob es eines online gibt, wo kann man auf jeden Fall Features nehmen und die serialisieren, also in dieses GeoJSON-Format. Das speichere ich mir dann. Und beim nächsten Laden würde ich dann zum Beispiel sagen, das GeoJSON vom letzten Mal.
20:01
Ist die Frage ungefähr beantwortet? Weitere Fragen zur OpenLayers? Ja, bitte. Und zwar, man braucht ja für so eine Karte immer so Bedienelemente eigentlich. Und ich habe jetzt mir, ich würde das OpenLayers eigentlich bloß mal drüber geflogen
20:21
und habe eigentlich relativ wenig Bedienelemente gefunden oder eigentlich gar keine. Jetzt eben die Frage ist, kommt da noch was oder sagen Sie eher Nee, das soll jemand, soll man eine andere Bibliothek nehmen? Ja, super Frage. OpenLayers hat in der Vergangenheit, insbesondere in der Version 2, einen ganzen Haufen
20:40
von Bedienelementen mitgebracht, sei es zum Zeichnen, zum Ausschalten von verschiedenen Tools, rein und rauszoomen, so Zoom-Bars, wo man irgendwie so was anfassen kann wie so ein Slider und dann irgendwie rein oder rauszoomen. Einige davon haben es auch nach OpenLayers 3 beziehungsweise 4 geschafft, aber nicht alle. Und der Hintergrund ist genau der, wie Sie den im zweiten Teil
21:00
Ihrer Frage andeuten. OpenLayers hat den Fokus gesetzt auf diese geografische Kompetenz letztlich. Die Oberflächenkompetenz, also im Sinne von Steuerelemente zu erzeugen, die dann irgendwelche Sachen in der Karte, also zum Beispiel einmal reinzoomen oder rauszoomen. Da bringen wir eigentlich nur das absolute Minimum mit. Und wie gesagt, es ist eine bewusste Entscheidung gewesen
21:21
in diesem OpenLayers-Team, weil wir sagen, es gibt ganz viele andere dezidierte Bibliotheken, die wunderbare Oberflächen bauen können. Da gibt es einen ganzen Haufen, jQuery, UIs, ein Klassiker. Oder man kann auch einfach das HTML verwenden. Also auch das ist keine Schande um halt so eine Karte zu bedienen.
21:41
Also sprich, ich denke schon, dass noch hier und da eine dazukommen wird, insbesondere so was wie der Layer-Switcher, der wird so oft nachgefragt. Also quasi das, was man in OpenLayers 2 hat. Also wenn Sie zwei Layer haben, dass Sie einen an- und ausschalten können. Ich glaube nicht, dass der OpenLayers Layer-Switcher von der Version 2 in die Version 3 oder 4 jetzt irgendwie wandern wird. Aber irgendwas werden wir da
22:00
vielleicht machen. Grundsätzlich ist es allerdings nach wie vor so, dass wir uns da ein bisschen reduzieren wollen, um um halt nicht den Fehler zu machen, den wir in OpenLayers 2 gemacht haben. Da haben wir viele Leute eigentlich sehr eingeschränkt damit. Und wir haben viele Probleme dann gehabt, wenn dann irgendwelche Bugs oder so aufgemacht wurden. Da ist ein Haufen Zeit draufgegangen für Sachen, die wir wussten.
22:21
Das könnten andere Leute eigentlich wesentlich besser als wir. Und ja, Frage beantwortet. Gut, ich habe gerade das kleine Zeichen bekommen, dass wir im Grunde fertig sind mit meinem Vortrag. Möchtest du noch den nächsten Redner vorstellen, der Geo-Server? Ja, genau. Also vielen Dank.
22:41
Ja, nächster Redner Marc Janssen. Viel Spaß zum Thema Geo-Server. Er springt ein quasi. Und von daher müssen Sie sich nicht groß umgewöhnen und viel Spaß vom nächsten Thema, was glaube ich ein bisschen kürzer ausfällt. Ja, ja, herzlich willkommen. Mein Name ist Marc Janssen. Wie schon gerade gehört, ich springe ein für jemanden,
23:01
der leider verhindert ist. Jetzt reden wir nicht mehr über OpenLayers. Hier reden wir über Geo-Server. Dort bin ich kein Kernentwickler. Allerdings verwende ich die Software schon seit wirklich vielen Jahren und ich finde sie auch echt gut und kann sie Ihnen gerne vorstellen. OK, ich habe jetzt hier einige Folien, also die habe ich nicht mals vorbereitet, weil ich exakt vor 10 Minuten
23:21
erfahren habe, dass ich diesen Slot gerne übernehmen soll, was ich natürlich gerne tue. Das sind Folien von einem Vortrag, der auch im Rahmen dieser Foske stattfinden wird, von Daniel Koch. Meines Wissens nach ist der heute sogar. Genau, er ist heute Nachmittag um 15 Uhr vielleicht. Schauen Sie das nach. Da wird noch genauer
23:40
der Geo-Server vorgestellt. Und der Daniel Koch ist ein exzellenter Redner und die Slots sind jetzt hier nur ein Bruchteil, die ich zeigen werde. Und Geo-Server ist auch eine tolle Software. OK, so viel zur Einleitung. Geo-Server. Gerade eben haben wir über OpenLayers gesprochen. Da heißt also JavaScript vornehmlich erst mal im Browser, also in ihrer, im Client, wie wir so schön sagen.
24:01
Jetzt beim Geo-Server reden wir darüber eine Software, die üblicherweise auf einem Server installiert wird. Sprich, die hat nicht jeder ihrer Anwender hat einen Geo-Server installiert, sondern häufig genug gibt es einen Geo-Server, der auf einer unter einer URL erreichbar ist. Der ist dort installiert und der stellt dann Geodienste bereit. Geo-Server ist eine Software, die in Java geschrieben wurde.
24:21
Also nicht in JavaScript, sondern jetzt sind wir bei Java. Java ist eine Programmiersprache, die den allermeisten, die überhaupt jemals mit Programmiersprachen was gemacht haben, bekannt sein sollte. Hatte früher immer diesen Ruf so ein bisschen behäbig zu sein. Vielleicht hat es diesen Ruf auch bis heute noch. Der Geo-Server ist das leuchtendste Beispiel, dass man mit Java auch extrem performante
24:41
Applikationen schreiben kann. Das heißt, wer auch immer Ihnen erzählt, dass Java vielleicht so ein bisschen outdated ist, das mag sein und dass man damit nur langsame Applikationen schreiben kann, der soll sich doch bitte mal anschauen, was bei Geo-Server und Geo-Tools, Geo-Tools ist eine Bibliothek, die von Geo-Server verwendet wird. Was dort für eine schwarze Magie stattfindet, um aus dieser Sprache
25:01
wirklich das Optimum rauszukitzeln. Der Geo-Server ist ein Server, den installiert man, wie gesagt, auf einem Server. Dort ist man dann in der Lage, Geo-Daten bereitzustellen, sprich der einfachste Fall. Sie haben ein Shapefile vielleicht oder Sie haben ein paar Punkte. Eben war die Frage nach dem POIS. Sie wachsen weiter und stellen fest, ohje, die drei Punkte, die für die Standorte, die ich da hatte,
25:20
das reicht mir irgendwie nicht mehr aus. Ich kann das GeoJSON nicht mehr so manuell pflegen. Dann könnten Sie auf die Idee kommen. Ach, ich nehme mal so einen Geo-Server, importiere diese Daten dort und kann dann über diesen Geo-Server die Daten verwalten. Sprich, Sie sind in der Lage, ganz viele Datenquellen anzuzapfen, sprich solche Geo-Datenbanken wie PostgreSQL mit Postgres-Aufsatz oder aber auch Oracle,
25:40
was Sie bestimmt schon mal gehört haben. Ich kann auch Shapefiles nehmen und Sie dort publizieren. Ich kann auch Rastadaten nehmen und Sie dort publizieren. Der Geo-Server quasi geht immer hin, verbindet sich mit Ihrer Datenquelle, also beispielsweise einer Datenbank und stellt dann auf dieser Datenquelle einige Dienste bereit. Die Dienste, die wir bereits eben angesprochen haben, zum Beispiel die Standards sind immer WMS und WFS,
26:01
also OGC-Dienste. Es gibt noch einen Haufen anderer Dienste, die er kann. WMTS, also Webmap-Tile-Service und, und, und. Dann hat man diesen Geo-Server also wie gesagt, auf einem Server installiert, hat ihm die Geo-Daten bereitgestellt und kann ihn anschließend verwenden. Und hier kommen die zwei dann wieder zusammen. Gerade eben haben wir gesprochen,
26:20
also vor wenigen Minuten habe ich JavaScript-Bibliothek vorgestellt, die in der Lage ist, Karten anzuzeigen. Und mit Geo-Server sind Sie in der Lage, Quellen bereitzustellen, die beispielsweise von OpenLairs, auch von anderen Bibliotheken wunderbar gelesen werden können. Der Geo-Server ist extrem flexibel und auch erweiterbar. Sprich rund um den Geo-Server gibt es einige, so eine Plug-In-Infrastruktur, die man verwenden kann,
26:41
um noch mehr Funktionalität aus dem Geo-Server rauszukitzeln. Von Haus aus beispielsweise kann der Geo-Server kein WPS, Web Processing Service, einer der fälschlicherweise missachteten Standards des OGCs, meiner Meinung nach. Web Processing Service, auch nur ganz kurz, ein kleiner X-Cores Web Processing Service, da kann man quasi über eine Schnittstelle,
27:01
wo ich von der Implementierung gar nichts weiß, kann man sagen, ach, fühl mich mal bitte den Prozess XY aus, also buffer mir irgendeinen Punkt oder so. Und das Ganze völlig, ohne dass ich Einung haben muss, wie diese Sache implementiert ist. Ist ein toller Standard, der sehr unterrepräsentiert ist, oft in den Applikationen, die man so sieht. Und mit einem Plug-In kann man dem Geo-Server auch beibringen, dass er WPS bereitstellen kann.
27:21
Eine sehr schöne Sache sollten Sie unbedingt aufprobieren. Wenn Sie von der Behörde hier sind und Sie Geo-Daten bereitstellen wollen oder müssen, sind Sie verpflichtet, die Metadaten beispielsweise und auch die Dienste, die Sie bereitstellen, Inspire-konform auszuliefern. Dort gibt es im Geo-Server auch ein Plug-In, das ist das Inspire-Plug-In, was halt dann dafür sorgt, dass entsprechende Metadaten
27:40
zu Ihren Daten herausgegeben werden und das Get-Map-Anfragen auf die richtige Art und Weise quasi interpretiert werden. Schauen Sie sich diese Plug-Ins einmal an. Es ist wunderbar dokumentiert, auch eine hervorragende Dokumentation, also sprich, wenn Sie mit dem Geo-Server, also wenn Sie noch nie irgendeinen Kartenserver benutzt haben, es gibt auch noch andere Produkte, die das können. UMN-Map-Server ist ein Konkurrent,
28:02
wenn man so möchte oder ein alternatives Produkt. Wenn Sie das allererste Mal so was machen, rate ich Ihnen von Herzen dazu, bitte geben Sie dem Geo-Server eine Chance, weil er hat nämlich das Folgende, eine Oberfläche. Das Bild ist relativ klein. Der hat eine grafische Oberfläche. Es ist tatsächlich sehr klein. Der Geo-Server,
28:20
ich habe es bereits geschätzte viermal erwähnt, er wird auf dem Server installiert und dort wartet er darauf, dass Sie ihm quasi sagen, welche Geo-Daten er veröffentlichen soll. Und wie konfigurieren Sie den? Sie konfigurieren ihn über eine Web-Oberfläche, die der automatisch mitbringt. Das heißt, Sie gehen auf eine spezielle Adresse, loggen sich dort ein mit Ihrem Username und Ihrem Passwort und dann können Sie sagen, ach, da gibt es auch die Datenbank GY,
28:41
geben die Passworte ein. Da gibt es da drin fünf Tabellen. Da kriegen Sie eine Tabelle angezeigt, also eine Tabelle, wo alle Tabellen dieser Datenbank aufgeführt sind. Sie klicken auf einen von diesen Einträgen und im Grunde haben Sie 20 Sekunden später einen komplett OGC-konformen Dienst dargestellt und Sie haben keine Zeile Codebook geschrieben. Gerade eben habe ich Sie noch bei JavaScript davor gewarnt. Da gibt es geschwungene Klammern,
29:01
runde Klammern, eckige Klammern. Hier gibt es eine Oberfläche um wirklich 99% der Anwendungsfelder, die Sie haben, wenn Sie Geo-Daten bereitstellen wollen oder müssen, um das zu erledigen. Sprich, das ist wirklich super kompatabel. Das kann jeder. Das macht jeder gerne. Das ist wunderbar. Man konfiguriert ihn also über den Browser.
29:21
Man kann gleichzeitig auch diesen Server überwachen ein bisschen auf dieser Oberfläche, sprich, man kann so ein bisschen Monitoring machen. Also was macht denn mein Server? Wie viele Anfragen sind da angekommen? Sind die schnell genug beantwortet worden? Man kann sich das Log quasi anzeigen lassen. Sehr schön. Geo-Server ist aber auch schon ein sehr, ich will nicht sagen altes Projekt,
29:41
aber ein etabliertes Projekt in diesem Kosmos von Open-Source-Projekten. Und es hat unglaublich viele Features, die Sie eigentlich nirgendwo anders finden. Also beispielsweise die Geo-Webcache-Integration. Kein Mensch weiß, was Geo-Webcache ist. Wir haben gerade eben darüber gesprochen. Sie können dem Geo-Server beibringen, auf eine Datenbank sich verbinden und dann Dienste darauf bereitzustellen.
30:00
Das heißt, eine entsprechende Getmap-Anfrage würde letztlich dazu führen, dass der Geo-Server eine Select-Abfrage gegenüber dem Datenbank-Server loslässt und dann kriegt er irgendwelche Features zurück. Dann rendert der die Features und gibt mir ein Bild zurück. Das ist so der Klassiker. Das kann natürlich unter Umständen langsam sein. Das heißt, wenn Sie für jede Kachel, die angefragt wird, einmal sich mit der Datenbank verbinden müssen, dann das SQL richtig schreiben
30:21
mit der Bounding-Box dieser Kachel. Dann die Abfrage loslassen. Dann werden die Daten auf der Datenbank gesucht. Dann kommen die Daten irgendwie zurück, müssen wieder vielleicht über irgendwelche Pipes, also über letztlich Latenzen können entstehen, müssen wieder zum Geo-Server ankommen. Der Geo-Server muss gucken, okay, welche Daten habe ich jetzt bekommen? Und dann muss er die alle blau malen, also blaue Punkte beispielsweise malen. Das dauert alles Zeit,
30:41
die Sie unter Umständen gar nicht... Also diese Dynamik brauchen Sie gar nicht, weil sich Ihre Daten vielleicht gar nicht so oft ändern, also um zurückzukommen auf die Unternehmensstandorte am Anfang. Die gründet man nicht jeden Tag unternehmen, sondern das wächst vielleicht mal so alle... Weiß ich nicht, je nachdem, was für ein Unternehmen sie haben. Sagen wir mal, alle drei Monate haben sie eine neue Filiale, wenn sie ein sehr gutes
31:00
Unternehmen haben. Und... Das heißt, diese Daten ändern sich sehr selten. Das heißt, es besteht überhaupt keinen Grund dazu, wie bei jeder Anfrage, immer auf die Datenbank zu gehen. Und dann kann man jetzt die große Klammer zurück, den Geo-Webcache beispielsweise verbinden. Der geht quasi dazwischen noch und sagt, okay, da hat jemand mal angefragt, die Kachel von Passau mit meinen drei, mit meinen drei Firmenstandorten.
31:22
Die nächste Anfrage, die dort draufkommt, dann nehme ich einfach direkt das Bild, was ich beim letzten Mal ausgeliefert habe. Das heißt, es liegt sich quasi diese Datei an eine spezielle Stelle auf dem Dateisystem. Und bei der nächsten Anfrage, die gut genug passt, da gibt es ein paar Konfigurationseinstellungen, sagt er, ne, ne, ich gehe gar nicht zur Datenbank und frage da irgendwie kompliziert,
31:40
sondern ich liefer dem direkt dieses Bild aus. Kann natürlich dazu führen, wenn sie eine neue Filiale haben, dass es ein bisschen dauert, bis sie die neue Sachen bekommen. Dann müssen sie solche Kacheln invalidieren. Also das heißt, dass der Geo-Server weiß, okay, beim letzten Mal habe ich diese Kachel noch ausgeliefert, aber die darf ich jetzt nicht mehr ausliefern, weil meine Daten sich geändert haben. Also muss ich noch einmal neu machen. Den ganzen Roundtrip, wie wir gerade eben gehabt haben.
32:02
Okay, da geht es um den Release-Zyklus. Da sagt der Daniel Koch irgendwas. Heute Nachmittag, wie gesagt, das sind nicht meine Folien. Da ist die Geo-Server-Homepage. Dort ist auch eine Karte eingeblättet. Und bitte schauen Sie sich das an. Es ist eine wunderbare, wunderbare Software,
32:21
um Geo-Daten unter anderem auch standardisiert später ausliefern zu können. Es kann eine unglaubliche Vielfalt an Daten lesen und spuckt eine ganze Menge an Diensten raus, die Sie direkt verwenden können. Das heißt, Sie kommen wirklich von Ihrem lokalen Datensatz oder dem Datensatz, den Sie in der Datenbank haben zu einem voll standardkonformen Dienst
32:42
oder vielen Diensten davon innerhalb von unter fünf Minuten. Okay. Gibt es noch Fragen zum Geo-Server? Würde ich sehr gerne beantworten. Und ich hoffe, ich könnte Ihnen ein bisschen zeigen, was dieser Geo-Server denn so macht und was er ist. Ich hoffe, Sie haben noch ein paar Fragen. Ja, dahinten ist eine Frage. Gibt es so was wie
33:00
einen Shade Importer oder so was über Rest? Als ob wir uns abgesprochen hätten. Es gibt ein Plugin, das ist das Importer Plugin. Das ist, glaube ich, mit der vorletzten Version 2.10, glaube ich, offiziell in den Plugin, also in diesen kanonischen Plugin Plugin-Liste aufgenommen worden.
33:20
Importer Plugin, das kann man sich notieren. Wenn man das installiert auf diesem Geo-Server, dann hat man die Möglichkeit sehr easy mit Rest Shape-Dateien beispielsweise oder auch Raster-Dateien zu publizieren, sich später wieder zu löschen, zu konfigurieren. Also kurzer Anfang. Ja, gibt es. Installieren Sie dieses Plugin. Und wenn Sie damit rumspielen, es ist Wahnsinn, was damit geht.
33:41
Also gut. Weitere Fragen? Ich wollte fragen,
34:00
ob es eine Möglichkeit gibt oder welche Möglichkeiten der Geo-Server zur Authentifizierung bietet. Klasse. Also das ist tatsächlich so, als ob ich sie platziert hätte. Da hat sich in der letzten Version was ganz Entscheidendes geändert. Also ist wunderbar möglich, auch externe Authentifizierung und Autorisierungsmechanismen anzubinden.
34:20
Ganz heiß. Und die Details dann bei dem Vortrag von Herrn Koch heute Nachmittag, glaube ich, kann man jetzt beispielsweise auch die Elder-Gruppen auslesen. Also Elder-Authentifizierung, sprich, ich bin der Mark Jansen und das ist wirklich mein Passwort. Das ging schon sehr lange. Aber in welchen Gruppen ich wirklich drin bin, also so ein klassischer Anwendungsfall eigentlich von so einem Elder-Verzeichnungsdienst. Das geht seit der letzten Version
34:41
auch nativ. Daneben geht auch solche Sachen wie Single Sign-On-Integration über Siam ist so ein ganz klassischer Anbieter und es gibt auch andere, also wo es so ticketbasiert läuft. Die Wahrscheinlichkeit ist sehr hoch, dass Sie, wenn Sie bereits eine bestehende Technologie einsetzen, um halt irgendwie Single Sign-On-Integration oder sowas zu machen,
35:01
dass der Geo-Server damit ganz gut interagieren kann. Also ja, kurze Antwort, ja, kann man machen. Und die längere Antwort ist ja, man muss ein bisschen was einstellen, aber es geht wirklich sehr, sehr gut. Genau, Tokenbasierte war gerade die Rückfrage, ob es tokenbasierte Authentifizierung kann. Ja, kann es. Gerade erst noch letzte Woche
35:20
haben wir es gemacht für einen großen Kunden, läuft wie die eins. Also nochmal, ich habe mit dieser Software nichts zu tun. Ich bin kein Entwickler dieses Projektes, aber ich wäre es gerne und wenn Sie Java können, schauen Sie sich das gerne an. Das ist ein tolles Projekt, super dokumentierter Code, tolle Software.
35:42
Gut, noch weitere Fragen. Ansonsten müsste ich Sie schon direkt verlassen. Ich habe nämlich parallel einen stattfindenden Workshop, der jetzt gerade übernommen wurde von mir. Den muss ich jetzt dann schnell rüber springen und Leuten noch ein bisschen dezidierter was beibringen zu GeoEx in dem Fall. Aber gut, also ich danke für die Aufmerksamkeit und jetzt den nächsten Redner bin ich tatsächlich nicht mehr ich. Danke.
36:08
So, aber damit Sie sich nicht zu viel umgewöhnen müssen. Mich haben Sie auch schon gesehen, bin ich ja bald der nächste Redner. Danach gibt es auch noch andere, verspreche ich Ihnen.
36:33
Weiß jemand, wie man das auf Vollbild macht?
36:52
Das ist schlecht.
37:05
So, wunderbar. Schön, dass Sie am Ende da geblieben sind und Mark Jensen zweimal quasi zugehört haben. Ich werde Ihnen jetzt ein bisschen was zum Thema MAP-Proxy erzählen. MAP-Proxy hat vielleicht der eine oder andere schon gehört und wenn nicht, dann lernen Sie es jetzt gleich kennen.
37:21
Kurz zu mir, ich weiß gar nicht, ob ich eben gesagt habe, wer ich bin. Ich bin Dominik Helle. Wir von der Firma Omniscale entwickeln Open Source Software, unter anderem halt MAP-Proxy. Deswegen stehe ich hier, deswegen habe ich so ein Polo Shirt an, wo so ein schönes Logo drauf ist. Und wir bewegen uns halt viel im Bereich Open Street Map und halt auch Kartendienste. Und da kommt MAP-Proxy
37:40
eigentlich sehr oft zum Einsatz. Die Frage ist natürlich, was ist MAP-Proxy überhaupt? MAP-Proxy ist ein WMS- und Kachel-Proxy. Sprich, WMS haben wir ja gerade beim Geo-Server schon gehört. Auch Geo-Webcache haben wir schon gehört. MAP-Proxy ist quasi ein bisschen das Pendant vom Geo-Webcache,
38:00
allerdings unabhängig. Das heißt, ich bin nicht auf einen Geo-Server fokussiert, sondern kann wirklich jeden beliebigen Kartendienst einsetzen. Hauptziel vom MAP-Proxy war damals, Kartendienste zu beschleunigen. Sprich, wir hatten halt viel mit WMS-Diensten zu tun im Jahr 2008, als wir angefangen haben mit MAP-Proxy.
38:21
Und was uns halt aufgefallen ist, dass viele Kartendienste, die man so in Kugis oder ähnliches lädt, dass die doch sehr langsam sind. Und gerade wenn ich sowas wie Google Maps kenne, auch früher im Jahr 2008 schon, dann ist meine Karte ja eigentlich sofort da. Und das hat also ein bisschen gestört, dass man bei vielen guten Diensten mit schönen Informationen,
38:41
Luftbilder von Kommunen etc. doch irgendwie so drei, vier Sekunden auf seine Karte warten muss. Und wenn ich die Karte ein bisschen verschiebe, muss ich drei, vier Sekunden warten. Und da haben wir uns gesagt, es kann ja eigentlich nicht sein, dass Google sowas hinbekommt. Und nur weil quasi Luftbilder etc. über einen Standard, über den WMS-Standard angeboten werden, dass wir jetzt hier einen halben Tag
39:01
immer warten müssen auf unsere Karten. Und dann haben wir uns entschlossen, MAP-Proxy zu entwickeln. Und MAP-Proxy ist eine Server Software. Sprich, MAP-Proxy wird auf einem Server installiert und ich kann links WMS-Dienste oder Kartendienste generell hereinwerfen und bekomme rechts auch wieder Kartendienste raus. Sprich, die Kartendienste, die sie rausbekommen, können sie auch ganz normal
39:21
zum Beispiel in Kugis, was Ihnen gleich vorgestellt wird, ganz normal einbinden. Der Clou dabei ist halt, dass MAP-Proxy die Kacheln oder die Karten zwischenspeichert. Das heißt, meine Anfrage, die ich jetzt stelle, geht nicht mehr direkt an den Ursprungsdienst, sondern wird quasi von MAP-Proxy verarbeitet. Und wenn wir jetzt einfach mal dieses Bild von links nach rechts durchgehen,
39:41
was kann ich alles machen? Das heißt, ich kann in MAP-Proxy auf der einen Seite erst mal verschiedene Quellen einbinden. WMS ist sicherlich ein Keyword, was vielen bekannt vorkommt, aber es gibt ja auch zum Beispiel WMTS oder es gibt auch Kacheln, die ich ja haben kann, die ich eventuell raus zur Verfügung stellen möchte. Das sind quasi alles Möglichkeiten,
40:02
die ich quasi in MAP-Proxy einbinden kann. Das ist jetzt quasi die linke Seite. Also wirklich fast jeder beliebiger Kachel-Server, jeder beliebiger WMS kann in MAP-Proxy eingebunden werden und so beschleunigt werden. Wie kann ich mir das vorstellen, dieses Beschleunigen? Zum einen ist MAP-Proxy in der Lage,
40:20
quasi Kachel-Dienste zu laden, sprich, wenn ich wirklich einzelne Kacheln habe, kann MAP-Proxy die verarbeiten und aber auch zum Beispiel als WMS-Dienst ausliefern. Sprich, auf der rechten Seite kann ich halt auch wieder sehr großzügig wählen, als was ich meine Karten haben möchte. Sprich links kommt was rein, rechts kommt was raus und die Dienste, die rechts rauskommen,
40:40
sind halt auch standardisiert. Sprich, ich kann rechts WMS-Dienste wirklich ausgeben lassen, zum Beispiel auch aus Diensten, die vorher gar kein WMS unterstützten. Wir haben das für einen Kunden gemacht, der greift auf zwölf länderübergreifende Dienste zu und jedes Bundesland
41:01
hat quasi seinen eigenen Alkes WMS-Dienst und er möchte sie gerne quasi für den Endverbraucher quasi in dem Unternehmen nutzen. Sprich, der bindet quasi 12 WMS-Dienst in MAP-Proxy rein und am Ende kommt wirklich nur noch ein WMS-Dienst mit allen seinen Daten raus. Dadurch hört man schon so ein bisschen, dass eigentlich das Zwischenspeichern gar nicht mehr so das Hauptargument ist.
41:22
Also natürlich haben wir damals MAP-Proxy entwickelt, um Dienste zu beschleunigen. Wir haben aber auch mittlerweile die Möglichkeit, durch diese zentrale Position, die wir haben, noch viel mehr Sachen zu machen. Das heißt, ich kann viel mehr auf meine Dienste eingehen, als sie nur zu beschleunigen. Wir gehen aber noch mal
41:41
auf das Thema beschleunigen. Wie macht MAP-Proxy das, damit man so ein bisschen die Idee dafür bekommt, was MAP-Proxy tut? Wenn man sich jetzt vorstellt, okay, ich möchte meinen Dienst beschleunigen, der wird in MAP-Proxy links auf der linken Seite eingebunden, auf der rechten Seite, sag ich mal, kommt er wieder raus. Was macht der Zwischenspeicher? Wenn jetzt eine Anfrage reinkommt,
42:03
nimmt MAP-Proxy diese Anfrage und zerteilt diese Anfrage quasi in kleine Kacheln. Diese kleinen Kacheln werden auf der Festplatte abgelegt. Und wenn jetzt quasi die nächste Anfrage kommt, wo sich Gebiete zum Beispiel von der Anfrage überschneiden, guckt MAP-Proxy, habe ich da schon Bereiche von, habe ich da schon Kacheln von,
42:21
dann kann ich die direkt ausliefern. Und wenn nicht, frage ich den Ursprungs-Server an und lege sie dann ab. Sprich, ich habe wirklich die Möglichkeit, eine Art Cache nennt sich das, aufzubauen, mit dem dann meine Karten beschleunigt, meine Karten quasi gekachelt hinterlegt werden. Das Besondere bei MAP-Proxy ist halt aber nicht nur,
42:41
dass wir quasi jetzt, wir haben jetzt hier die Kacheln, wenn wir jetzt zum Beispiel hier sehen, okay, wir haben Kachel an verschiedenen Zoom-Stufen gespeichert. Das Coole an MAP-Proxy ist aber auch, dass ich weiterhin quasi frei zoomen kann. Das heißt, wenn Sie jetzt zum Beispiel bei Google Maps sind und rein- und rauszoomen, dann landen Sie ja quasi immer an festen Kachelgrenzen. Wenn Sie das mit dem Mausrad machen,
43:00
ich weiß gar nicht, ob das bei Vector-Karten jetzt auch noch so ist, aber früher war das so. Oder bei OpenStreetMap-Org zum Beispiel, wenn Sie da mit dem Mausrad reinzoomen, landen Sie an festen Zoom-Stufen, an festen Kachelgrenzen. Sowas ist natürlich, gerade wenn man mit einem Desktop ist, arbeitet immer ein bisschen schlecht. Sprich, da möchte ich vielleicht genau den Maßstab 1 zu 25.000
43:21
und genau den Maßstab 1 zu 23.000. Und das habe ich im Zweifel dann nicht, wenn ich so feste Maßstäbe habe. MAP-Proxy erlaubt es aber nun, dass man trotz dieser festen Maßstäbe quasi frei zoomen kann. Das heißt, ich kann wirklich die Karte, also MAP-Proxy skaliert die Karte intern
43:40
wirklich genau auf den Maßstab, den ich anfrage. Sprich, wenn ich den Maßstab 1 zu 23.000 und 1 haben möchte, kann ich den mit MAP-Proxy dann auch wirklich abfragen. Und das, obwohl die Karten gecashed sind. Wie das genau funktioniert, würde ich Ihnen jetzt gerne nicht erklären. Ich glaube, das wird dann ein bisschen zu technisch. Ich habe das Gefühl,
44:00
das ist jetzt schon sehr technisch, aber ich versuche das immer so ein bisschen zu abstrahieren. Dieser Zwischenspeicher, von dem wir eben gesprochen haben, der hat es halt auch in sich. Also da gibt es halt nicht nur die Möglichkeit, ok, ich lege jetzt meine einzelne Dateien ab, sondern es gibt halt, wie Sie hier lesen können, eine große Anzahl von Möglichkeiten, wie ich meine Kacheln ablegen kann.
44:22
Für jeden ist quasi das passende dabei. Es gibt zum Beispiel auch die Möglichkeit, es steht hier gar nicht drauf, das als Geopacket zu speichern. Das heißt, wenn ich zum Beispiel meine Daten auf mobilen Anwendungen, auf mobilen Geräten für Offline-Nutzung haben möchte, könnte ich das zum Beispiel nehmen oder MB-Tiles oder SQLite. Das heißt, ich habe meine Kacheln
44:41
innerhalb einer Datenbank und kann die dann quasi austauschen. Wir haben uns sehr viele Gedanken über die Effizienz gemacht, weil wenn wir schon sagen, ok, wenn wir Daten zwischenspeichern, dann möchten wir das halt auch vernünftig machen. Sprich, wir möchten redundante Daten vermeiden. Wenn Sie jetzt zum Beispiel in Deutschland mal angucken,
45:00
haben Sie natürlich viele Flächen, sage ich mal gerade an der Nordsee, die einfach nur, wenn ich jetzt eine Karte sage, einfach nur blau sind, einfach nur Wasser. Und die möchte ich natürlich jetzt nicht alle vorhalten. Sprich, Mac bräuchte es in der Lage, die gleichen Kacheln auch quasi nur einfach vorzuhalten.
45:21
Dieses Zwischenspeichern, die Frage, die oft kommt, so ja, aber der erste nach dem Motto, der dann auf die Karte geht, der muss dann warten, bis der Zwischenspeicher gefüllt ist. Und erst der zweite hat ja dann quasi wirklich den Vorteil der Performance ist berechtigt. Aber wir haben in MAProxy halt eine Möglichkeit geschaffen, diesen Zwischenspeicher, den wir haben, zu füllen.
45:41
Sprich, diesen Zwischenspeicher, diesen Cache kann ich mittels einem Seeding nennt sich das auf Englisch quasi füllen. Das kann ich automatisiert machen. Das kann ich sehr gezielt machen. Ich kann zum Beispiel sagen, ok, meine Karte bezieht sich auf Passau. Da kann ich genau Passau vorgenerieren. Und quasi den Zwischenspeicher füllen.
46:04
Das ist jetzt wieder ein bisschen technisch, aber ich versuch's ein bisschen zu erklären. Metateils bei diesem Caching, was wir eben gesehen haben, wo MAProxy quasi einzelne Kacheln quasi anfragt, kann es durchaus vorkommen, dass es sinnvoll ist, dass man gleich größere Bereiche anfragt, sprich MAProxy geht her
46:22
und guckt, wo bin ich? Was mache ich? Welche Kacheln sind da? Welche Kacheln könnten als nächstes angefragt werden oder welche Bereiche? Und MAProxy fragt dann halt vielleicht größere Bereiche ab und zerteilt die dann einzeln und achtet halt auch darauf, dass zum Beispiel Beschriftung oder versucht, darauf zu achten, dass Beschriftung quasi immer wieder
46:43
quasi nicht abgeschnitten werden durch einen kleinen Puffer. Was vielleicht auch noch ganz spannend ist, was man hier sieht, hier sieht man auch die blauen Flächen bei Deutschland, wenn man jetzt sagt, ok, wenn wir das in Kacheln aufteilen. Was ganz spannend ist und neu in MAProxy ist, dass es die Möglichkeit gibt,
47:01
quasi meine Kartendienste zu klippen. Sprich, wenn ich jetzt zum Beispiel einen Kartendienst von Europa habe, bin ich in der Lage, über das Clipping hier explizit Deutschland rauszuschneiden. Das heißt oder wenn ich jetzt zum Beispiel sage, ich habe einen Landkreis, den ich nur darstellen möchte
47:20
und hart an den Grenzen quasi cutten möchte, kann ich jetzt mit MAProxy sagen, ok, ich schneide das genau aus. Geht auch zum Beispiel beim Thema Sicherheit. Wenn Sie zum Beispiel Benutzer haben, die nur bestimmte Bereiche sehen dürfen, die Bereiche könnten zum Beispiel in der Datenbank hinterlegt sein, können Sie diese Bereiche an MAProxy mitteilen. Und der Benutzer darf dann wirklich
47:40
nur das sehen, was er sehen darf. Beispiel sein Grundstück im Sinne von, dass er die Nachbargrundstücke nicht sieht, je nachdem, was für Daten das sind. Durch diese zentrale Position, die wir eben haben, ich habe mich jetzt ja sehr auf das Beschleunigen, sage ich mal, konzentriert, haben wir auch die Möglichkeit,
48:00
noch mehr auf die Dienste einzugehen. Das heißt, wenn ich jetzt zum Beispiel einen WMS-Dienst habe und ich möchte den gerne zum Beispiel in einem anderen Koordinatensystem haben, mein Ursprungsdienst unterstützt das aber nicht, kann ich mit MAProxy dann diese Möglichkeit hinzufügen. Beispiel zum Beispiel, ich habe Kartendienste in Gauss Krüger,
48:23
die ich auch nicht selber konfiguriere, die ich nicht drankamme. Der Administrator kümmert sich nicht drum oder sitzt in einer anderen Abteilung, einer anderen Behörde und will das nicht, könnte ich zum Beispiel mit Hilfe von MAProxy die Karten auch in UTM, sage ich mal, anbieten. Das heißt, ich kann wirklich Funktionen hinzufügen, ohne dass ich quasi den Ursprungsdienst
48:41
bearbeiten oder manipulieren muss. Zusätzliche Funktionen natürlich beim WMS Feature Info und Legenden. Das heißt, ich kann hier wirklich auch die normale WMS-Funktualität nehmen und kann die bearbeiten. Und das waren so die ganz kurzen Kerninfos,
49:02
was man mit MAProxy machen kann. Also MAProxy ist sehr vielseitig und ist halt auch eine gewachsene Software. Sprich, wir haben in der Entwicklung gestartet 2008 und wir haben ihn auf der Foskis in Osnabrück als Open Source Software vorgestellt. Und wie man sieht,
49:20
es wird aktuell immer weiterentwickelt. Die letzte Version, 1.9.1, ist von Januar 2017. Das ist auch noch gar nicht so alt. Die nächste Version, 1.10, wird auch bald folgen. Vielleicht noch als als Info ist natürlich Open Source Software. Wir nutzen hier die Apache Lizenz. Es ist lauffähig unter
49:40
quasi eigentlich eigentlich allen Betriebssystemen Linux, Unix und auch unter Windows. Und ist es wirklich quasi eine tolle Sache. Alle Sachen, die MAProxy kann, sind auch dokumentiert auf MAProxy.org. Wir haben eine sehr umfangreiche Dokumentation auf Englisch.
50:00
Wenn man die als PDF ausdrückt sind es 140 Seiten. Das ist ein Spaß einmal gemacht und nie wieder. Aber es ist wirklich sehr schön. Das ist wirklich, da legen wir halt auch viel Wert drauf, dass alle neuen Sachen und alle alten Features dokumentiert sind. Da findet man auch Beispiele, wie man das Ganze macht. Den Code zu MAProxy selber,
50:20
sowie auch zum Beispiel von Open Layers, der findet man auf GitHub. GitHub.com ist quasi eine große Plattform, wo Repositories quasi zur Verfügung gestellt werden. Da findet man halt auch fast alle Open Source Projekte. MapBender zum Beispiel auch. Und was halt bei Open
50:41
Source Projekten üblich ist, vielleicht auch noch mal zu der Hinweise, was auch wirklich für alle Open Source Projekte gilt. Es gibt eine öffentliche Mailing-Liste. Da kann man halt wirklich Fragen stellen und scheuen Sie sich nicht, da Fragen zu stellen, auch wenn Sie denken, die sind noch so doof. Im Normalfall wird jede Frage auf Mailing-Listen halt auch wirklich beantwortet.
51:01
Wir MAProxy haben zum Beispiel nur eine englische Mailing-Liste, aber selbst das sollte eigentlich kein Problem sein. Denn selbst wenn Sie da mit zusammengegoogeltem englisch irgendwas fragen, irgendwer antwortet Ihnen und Sie kriegen mit Sicherheit eine gute Antwort. MapBender hat zum Beispiel auch eine deutsche Mailing-Liste, glaube ich. Ich habe es richtig im Kopf. Genau. Also jedes Open Source Projekt
51:21
hat eigentlich wirklich eine Mailing-Liste, wo Sie Fragen stellen können, wo auch einfachste Fragen eigentlich immer beantwortet werden. Also es gibt jetzt nicht so naja, liest doch die Dokumentation. Diese Antwort gibt es eigentlich sehr, sehr selten. Im Normalfall sind die Leute wirklich sehr hilfbereit. Und gerade wenn man Probleme hat, kann man sich halt wirklich gut austauschen und das machen.
51:41
Genau, ich weiß nicht, wie ich von der Zeit her bin. Genau, dann könnte ich Ihnen noch ein, zwei Folien zum Thema Sicherheit vorstellen. Was halt mit MapProxy auch möglich ist, dass ich wirklich einen gesamten Dienst quasi absicher. Wenn ich jetzt zum Beispiel eine vorhandene Datenbank habe, kann ich halt meine WMS-Dienste absichern oder ich kann halt auch
52:01
eine komplexe Absicherung implementieren, sprich, ich habe unterschiedliche Nutzer, die unterschiedliche Layer sehen dürfen, unterschiedliche geografische Bereiche. Das ist halt auch alles mit MapProxy möglich. Da muss man wirklich gucken. MapProxy ist halt sehr vielseitig geworden, hat sich halt von dem reinen Beschleunigen doch sehr zu einem Proxy entwickelt,
52:22
mit dem man quasi viele Dinge tun kann, viele Dienste manipulieren kann, also quasi alle Kartendienste manipulieren kann im Sinne von Sachen hinzufügen, Sachen standardisieren. Es gibt halt auch viele oder einige proprietäre Anbieter, die den WMS-Standard ein bisschen anders interpretieren
52:41
oder die Dokumentation nicht so gut lesen kann, je nachdem, wie man das sieht. Und mit MapProxy bin ich halt in der Lage, das wieder quasi auf den wirklichen Standard runterzubrechen und halt auch wirklich alle Desktop-GIS-Systeme, Web-GIS-Systeme zu unterstützen. Genau, das war es soweit von mir. Wenn noch Fragen sind, gerne jetzt, wenn Sie noch mehr
53:02
Technisches zum Thema MapProxy hören wollen. Wenn ich Sie noch nicht ganz verschreckt habe, gibt es um 15.30 glaube ich noch mal einen Vortrag zum Thema MapProxy und was letztes Jahr passiert ist. Also da liegt der Fokus dann wirklich darauf, was in den letzten Jahren hinzugekommen ist, wie sich MapProxy weiterentwickelt hat. Und genau, dann danke fürs Zuhören
53:22
und bei Fragen gerne Fragen. Gibt es Fragen? Ist sie alle erschlagen? Es tut mir leid. Gut, ja, ich müsste mehr Bilder einbauen. Ich sehe schon. Genau, dann würde ich sagen, der nächste Vortrag ist fort zum Thema Kugis.
53:43
Thomas Schüttenberg wird Ihnen da jetzt ein bisschen was zu erzählen. Das Wort ist ja auch schon ein paar Mal gefallen.
54:34
Nochmal herzlich willkommen zum Auftakt der Foskis 2017. Mein Name ist Thomas Schüttenberg,
54:40
wie gehört, und ich möchte jetzt das wundervolle Kugis Projekt vorstellen und dabei werde ich weniger auf technische Fähigkeiten eingehen als auf das Projekt und die Leute, die dahinterstehen selbst. Also auf geht's. Was ist Kugis? Sicher schon mal gehört, es ist ein Open Source
55:01
Kugis vollumfänglich. Es ist für den Desktop. Es läuft auf dem Server. Es ist ein Server. Es funktioniert im Webbrowser mobil und es ist auch eine Programm Bibliothek für Anwender. Es läuft unter Linux, Windows, Mac und Android, ist hauptsächlich in C++
55:22
programmiert und verwendet die QT Bibliotheken. Daher soll sich auch der Name her leiten, also QT plus Gis gleich QGis. Ganz simpel und ein wichtiger Aspekt natürlich hier auf der VostGis. Es ist frei und offen, steht unter der GNU General Public License und das Projekt selbst
55:41
ist obendrein ein offizielles Mitglied der OSGEO Foundation, die für Qualität von Open Source Projekten wirkt. So dann ist schon der Download Link angezeigt. Damit wäre dann schon fast alles gesagt. Aber nein, ein bisschen tiefer wollen wir dann doch noch einsteigen.
56:04
Google bietet natürlich alle Funktionalitäten, die man von einem DesktopGis, von einem ausgereiften System erwartet. Man kann Geodaten visualisieren, man kann sie abfragen und in Form von Karten natürlich darstellen. Man kann Daten selbst erzeugen,
56:21
editieren, analysieren und verwalten und in andere Formate exportieren. Man kann Oberflächen gestalten, ohne programmieren zu müssen, leicht zusammenzustellen, um spezielle Anwendungsfälle mit Oberflächen zu versehen. Man kann Daten analysieren, man kann die Daten
56:41
auch im Internet veröffentlichen oder die Karten, wie gesagt, weil QGIS auch ein Server ist, ein GIS Server ist. Dazu gibt es eine riesengroße Werkzeugkiste mit Algorithmen auch aus anderen Projekten, zum Beispiel GRAS oder auch die Statistik Software R. Und es ist erweiterbar durch Plugins.
57:01
Hunderte gibt es mittlerweile und eigene Python Scripts. Diese ganzen Funktionalitäten führen natürlich dazu, dass der Code immer weiter anwächst. Und mittlerweile sind es 934.340 Zeilen bestehend aus insgesamt
57:21
36.893 Commits. Also das sind die einzelnen Uploads von Quelltext seit Juli 2002. Also ein Dinosaurier unter den Projekten. Diese Zahlen kann man auf Open Hub zum Beispiel verfolgen, wen das interessiert. Die habe ich letzte Woche abgerufen. Und hier die Grafik zeigt
57:42
die Commits pro Monat. Und QGIS wächst rasant weiter. Alle vier Monate, also dreimal im Jahr, kommt eine neue Version raus mit neun weiteren Funktionen und Verbesserungen. Die aktuelle Version ist die 2.18
58:01
mit dem Namen Las Palmas. Daneben gibt es aber auch noch die Langzeitversion 2.14, die ein Jahr lang mit Fehler, Updates und Korrekturen versorgt wird. 2.18 ist oder wird die letzte Version von QGIS 2 sein. Ein vollkommen überarbeitetes
58:21
QGIS Version 3 ist bereits in Arbeit und wird gegen Ende des Jahres erscheinen. Man wird dann sicher davon hören. Die neuen Funktionen jeweils kann man sehr schön in den wundervoll bebilderten Änderungsprotokollen auf der Webseite, die links hier angezeigt,
58:42
sich anschauen und ausprobieren. Das macht jedes Mal wieder Spaß, das zu lesen und auszuprobieren. Oder aber noch schöner, man trifft die Leute, die QGIS mit einem QGIS-Kontakt zusammen nutzen und herstellen, nämlich zum Beispiel auf einer Konferenz wie dieser.
59:01
Wer ins Programm geschaut hat, sieht, dass QGIS doch breit vertreten ist. Vier Vorträge und sechs Workshops, wenn ich richtig gezählt habe. Und wie gesagt, die Community läuft hier auch rum. Und das bringt mich zu dem Aspekt, den ich eigentlich hier in Fokus stellen wollte, nämlich die Leute,
59:20
die dahinter stellen. Denn irgendwann fragt man sich ja, wie kommt QGIS überhaupt zustande? Wer macht QGIS? Programmcode regnet nicht vom Himmel, habe ich mir sagen lassen, sondern QGIS ist eine Software, die weltweit entwickelt und gepflegt wird von Menschen, die bei Firmen angestellt sind oder die selbstständig sind
59:41
oder auch freiwillig daran arbeiten. Und die QGIS-Entwicklung ist, wie man sich natürlich denken kann, sehr aktiv, um dann so ein großes Projekt überhaupt zustande zu bringen. Und wenn man hier auf diese Grafik guckt, dann sieht man, dass allein in den letzten 12 Monaten 104 verschiedene Personen zum Code beigetragen haben.
01:00:00
haben. Das akkumuliert sich dann zu insgesamt 256 Personenjahren an Arbeit, die insgesamt im Kugelsprojekt mittlerweile stecken. Und das ist eine weiterhin und stetig steigend hohe Aktivität zu verzeichnen. Aber Mitwirkung ist von jedem willkommen. Also es geht nicht nur darum,
01:00:23
Code zu schreiben zu können, sondern die Qualität des Projektes wird auch maßgeblich von der Dokumentation, der Funktionalitäten und des Codes bestimmt, von Erfahrungsberichten und Tests, die einfache Anwender zurückmelden und auch von dem Wissenstransfer auf Mailinglisten
01:00:42
und Vorträgen, so wie hier zum Beispiel. Und dazu kommt Öffentlichkeitsarbeit und organisatorische Unterstützung, weil ein bisschen Infrastruktur steckt halt doch auch durch simple finanzielle Spenden dazu nachher mehr. Und aus diesem Grund,
01:01:06
weil alle diese Einzelteile oder diese Aufgaben wichtig sind, wird auch jeder aktive Anwender, Committer, Übersetzer, Dokumentierende, Projektverfechter, Ratgebende, Stack-Exchange-Beitragende und was es sonst noch geben mag,
01:01:21
als aktiv mitwirkender Teil der Kugis Community angesehen. Und die Ressourcen für die transparente Zusammenarbeit von allen sind neben dem Code-Repositorium, hier auch auf GitHub zu finden, die offenen Mailinglisten des Projekts. Hier habe ich
01:01:42
mal die wichtigsten aufgeführt. Und da kann man tatsächlich erleben, wie in welch einladender, freundlicher und respektvolle Atmosphäre das Gesamtprojekt Kugis erschaffen und gelebt wird. Das gilt sicher auch für viele Open-Source-Projekte, aber das macht es wirklich aus und das macht den Spaß daran, selbst wenn man nicht in den Tiefen
01:02:04
der Programmierung stecken kann. Darüber hinaus gibt es natürlich auch persönliche Treffen. Nicht nur alles funktioniert im Internet. Die Kernentwickler treffen sich zum Beispiel zweimal jährlich, regelmäßig. Und die Orte dieser Treffen ergeben dann die Versionsnamen der Kugis-Versionen nebenbei bemerkt. Es finden auch
01:02:24
zahlreiche Anwendertreffen statt, lokale Anwendertreffen, überall in Europa und der Welt. Das nächste Entwicklertreffen wird Ende April in Essen stattfinden. Und in Nödebo im schönen Dänemark gibt es ein Summercamp in Verbindung mit dem
01:02:41
zweiten Entwicklertreffen 2017. Das ist vom 2. bis zum 11. August angesetzt. Und da ist geplant, dass es Workshops gibt für Anwender. Und die Entwickler lassen dann die angenehme Landschaft der Umgebung auf ihre Produktivität wirken. Weitere
01:03:01
Informationen gibt es dann auf der Webseite demnächst. Zurück zum Kugis-Projekt. Das ist nach wie vor von Freiwilligen getragen und gesteuert. Man kann es als Graswurzelbewegung bezeichnen. In der gab es nur eine feste Struktur und das ist
01:03:25
das Projektsteuerungskomitee oder Project Steering Committee oder kurz PSC. Als einzige feste Struktur und das ist der zentrale Anlaufpunkt für das Projekt. Und das lenkt es in seiner generellen Ausrichtung und bietet auch eine stabile
01:03:44
Basis an institutionellem Wissen für das Projekt und stellt die Kontinuität sicher. Und es kümmert sich dann auch tatsächlich um Projektsteuerungsaspekte hinsichtlich Qualitäts- und Releasemanagement, Beratung über Code Basis, Design und Infrastruktur, Marketing und Kontakt zur Community
01:04:05
natürlich auch. Wie man da teilnehmen kann, findet sich auch auf der Kugis- Org Webseite und ich kann dazu sagen, dass Tim Sutton, der Vorsitzende des PSC, mehrfach auch schon geäußert hat, dass jeder sich gerne an den
01:04:22
Diskussionen auf der PSC Mailing-Liste beteiligen darf. Das ist wirklich offen und für jedermann zugänglich. Aber eins war das PSC und das ist eine juristische Person. Wenn ein Projekt groß wird und
01:04:42
Geschäfte tätigen will, Geld annehmen und weiter erreichen will, dann ist es aber irgendwann mal notwendig, dass man eine legale Entität wird und deswegen wurde kürzlich die Kugis Org Association gegründet als Erweiterung des PSC sozusagen. Diese weltweite Vereinigung der Kugis-
01:05:04
Org Nutzer und Entwickler ist ein Verein im Sinne des schweizerischen Gesetzbuches und die Statuten sind im Dezember 2016 in einer online abgehaltenen Gründungsversammlung angenommen worden und dabei wurde auch ein Vorstand gewählt, also das weiterhin ehrenamtliche PSC enthält
01:05:26
jetzt auch Vorstandspositionen, durch die Kugis Org dann nach außen rechtlich vertreten werden kann. Dazu gewählt wurden als Vorsitzender Tim Sutton, als Stellvertreter Paolo Cavallini und als Schatzmeister
01:05:41
Andreas Neumann und die Projektorganisation liegt weiterhin im Steering Committee und dazu gehören dann obendrein Richard Düvenforde, Anita Graser und Jürgen Fischer sowie Gary Sherman, der Gründer und von Kugis, der eine lebenslange Ehrenmitgliedschaft im PSC hat.
01:06:06
Das oberste und entscheidende Gremium eines Vereins und auch der Association ist jedoch die Generalversammlung. Stimmberechtigt in dieser Versammlung sind Repräsentanten der Kugis Community die sogenannten Voting-Member und die setzen sich folgendermaßen
01:06:24
zusammen. Also es gibt Kugis User Group Voting-Member, so steht es in den Statuten. Das heißt, jede registrierte nationale oder lokale Anwendergruppe benennt einen Vertreter. Dazu gibt es die Kugis Community Voting-Members. Das heißt, ebenso viele
01:06:42
Stimmberechtigte werden von den etablierten Kugiskommitern aus der Community benannt und gewählt und die OSGEO Foundation entsendet ebenfalls einen Vertreter und das bildet dann die Voting-Members. Das Ganze wird fortlaufend und jährlich ergänzt. Also sobald neue
01:07:03
Anwendergruppen sich bilden, gibt es natürlich dann auch einen neuen Community Voting-Member zu wählen und so weiter. Die Generalversammlung wählt also wie gesagt PSC und BORD und verabschiedet das Budget und genehmigt Jahres- und Finanzberichte, kann über vorgebrachte Angelegenheiten
01:07:22
entscheiden und natürlich auch seine eigenen Statuten revidieren, wenn sie nötig sind, wenn sie nicht nötig sind, wenn sie ebenfalls notwendig sind. So und die Kugis-Anwendergruppe Deutschland, von der ich komme, ist eines dieser registrierten Kugisorg Voting-Member. Wir selbst sind auch ein
01:07:42
eingetragener und gemeinnütziger Verein und haben uns auf der Foskis-Konferenz 2015 in Münster gegründet. Mittlerweile 42 Mitglieder stark, ein Drittel davon aus öffentlichen Verwaltungen, Planungsbüros oder Softwarefirmen, die dann wiederum eine Vielzahl von Nutzern repräsentieren.
01:08:03
Vorstand ist meine Wenigkeit, stellvertretend Andreas Vogt und drei weitere Beisitzer und Zielsetzung, ganz stark zusammengefasst des Vereins, ist die finanzielle Unterstützung des Kugis-Projektes und der Kugis-Gemeinschaft durch die Dienstbeiträge. Und darüber hinaus sind wir aber auch
01:08:24
zum Träger der Deutschen Kugis-Anwendertreffen geworden. Links zu Webseite und Twitter-Account seht ihr untenstehend. So und an Aktivitäten haben wir auch schon ein bisschen was vorzuweisen. Zum Beispiel haben wir im letzten Jahr ein
01:08:42
Anwendertreffen in Kassel abgehalten, bei dem fast 100 Anmeldungen zu verzeichnen waren und 50 Workshop-Teilnehmer bei den Workshops, die wir angeboten haben. Wir sind im Oktober Kugis-Silbersponsor geworden. Wir beteiligen uns regelmäßig an Bug-Fixing-Finanzierungen
01:09:04
und haben jetzt ein Projekt abgeschlossen, das ist ein bisschen kompliziert. Ein Code Refactoring zum Layer Registry Refactoring.
01:09:22
Also das bedeutet knapp, dass die Verwaltung von Layern innerhalb der Projektdatei in Kugis überarbeitet worden ist, um besser in die Strukturen von Server und der neuen Kugis-Version zu passen. Man sieht davon außen wahrscheinlich überhaupt nichts, aber es ist für die weitere Entwicklung ein Vorteil.
01:09:46
Außerdem haben wir das deutsche Handbuch, also die Übersetzung des Handbuches in deutscher Sprache für die Version 2.14 beauftragt und wir unterstützen zusammen mit dem Foskis e.V., dessen Mitglied wir übrigens auch sind, das kommende Entwicklertreffen
01:10:01
in Essen Ende April. Wer mehr von Kugis.de erfahren will, der findet uns in den Pausen am Stand des Foskis oben im Foyer und außerdem haben wir für heute Abend 18.30 den Raum SR 007. Ich hoffe, das stimmt noch.
01:10:22
Ah, also dann haben wir um 18.30 hier in diesem schönen Hörsaal ein Treffen für Interessierte und Mitglieder und freuen uns auf Besuch. Kommen wir nochmal zurück zum Kugis-Projekt, wo wir schon mal beim lieben Geld sind. Kugis ist freies Software und das bedeutet, es besteht
01:10:43
keine Notwendigkeit, keine Verpflichtung, etwas zu bezahlen, um es zu benutzen. Dennoch sind Spenden und Sponsoring langfristig lohnenswert, um die Langlebigkeit und Gesundheit des Projektes sicherzustellen.
01:11:00
Darüber hinaus kann man durch Aufträge für Weiterentwicklung und Fehlerbehebung außerhalb von Kugis.org natürlich, gegebenenfalls natürlich auch finanziert durch mehrere, also Stichwort Crowdfunding, die professionelle Kugis-Gemeinschaft unterstützen.
01:11:22
Ebenso gilt das für bezahlte Dienstleistungen für Systemaufbau oder Schulung oder was auch immer, oder ganz bequem durch die Mitgliedschaft in einer Anwendergruppe. Und es gibt ja auch diese Spender und Sponsoren, kleine und große Finanzbeiträge, die von Anwendern direkt
01:11:41
an Kugis.org geschickt werden. Und so hat zum Beispiel in 2016 an jedem Tag Kugis mehr als drei Spenden erhalten im Schnitt und fast jede Woche wurde eine Sponsorenschaft abgeschlossen oder erneuert. Und auf diese Weise sind dann rund 93.000 Euro aus 65 Ländern
01:12:04
zusammengekommen. Ein größeres Gewicht dabei haben die Sponsoren. Allerdings bietet Sponsoring dem Einzelnen nicht die Möglichkeit, die Projektentwicklung zu steuern. Aber was wird mit dem Geld gemacht? Insbesondere werden mit diesen Einnahmen die Kampagnen zur
01:12:22
Fehlerbehebung vor einer Versionsfreigabe finanziert, um so die Qualität einer neuen Kugis Version zu verbessern. Und außerdem haben die Anwenderspenden zum Beispiel seit 2009 effektiv zum Erfolg der Entwicklertreffen beigetragen, dass sie nämlich erlauben, Reise- und
01:12:42
Unterbringungskosten zu decken. Und die Sponsoren ermöglichen auch das Kugis.org Grant Programm, mit dem Entwicklungen und Projektbeträge finanziell unterstützt werden, welche durch die Voting-Member vorher ausgewählt worden sind.
01:13:01
Dieses Programm geht jetzt demnächst in die zweite Runde. Der Aufruf, Anträge einzureichen, Projektideen einzureichen, wurde vor drei Tagen geschlossen. Und das wird dann ein weiterer großer Posten im Budget von Kugis.org 2017 sein.
01:13:25
Und damit bin ich eigentlich schon am Ende. Und als Fazit würde ich sagen, also ein erfolgreiches Open Source Projekt basiert natürlich auf gutem, ausgereiften Code und seinen Entwicklern. Aber mit meiner Vorstellung wollte ich dann auch den Blick
01:13:41
darauf richten, welche Beiträge und Mitwirkende außerdem essentiell für ein gutes und gesundes Open Source Projekt sind und was daraus gemacht wird. Und deswegen bin ich überzeugt, dass neben dem freien Zugang zu Software und Code die entscheidende Bedingung für Qualität, Innovation und Dynamik, also sprich Erfolg
01:14:01
eines solchen Projektes, die gemeinschaftliche Zusammenarbeit aller Nutzer ist, die offen für jeden ist und die in kleinen und großen Beiträgen sich gegenseitig respektierend und unterstützend ist. Und deshalb ist Kugis zurzeit auch das vielleicht beste Open Source ist.
01:14:22
Vielen Dank für alle Beiträge. Und damit bin ich am Ende. Vielen Dank. Gibt es Fragen dazu? Auch vielleicht technischer Art. Kann ich vielleicht ad hoc beantworten? Ja, da vorne.
01:14:46
Also meine Frage zielt auf die rasche Entwicklung von Kugis ab und damit ja auch auf die viermal jährliche Aktualisierung der Version. Ich arbeite in der Regionalplanung. Das ist eine öffentliche Verwaltung und so ein Planverfahren, das kann mal fünf, sechs, sieben, acht Jahre dauern,
01:15:01
weil da mehrere Stufen der Öffentlichkeitsbeteiligung auch mit verbunden sind. Die Karten bleiben aber immer die gleichen. Also über fünf Jahre hinweg wird eine Karte, also mehrere Karten, immer weiter entwickelt angepasst. Angenommen, das Planverfahren dauert fünf Jahre. Ich habe vier Aktualisierungen pro Jahr. Das heißt, ich würde die Kartenprojekte
01:15:21
durch 20 Aktualisierungen treiben müssen. Ist sicher nie so praktikabel. Haben Sie sicher Verständnis auch dafür. Deswegen interessiert mich insbesondere die Langzeitversion. Wie ist es dazu gekommen und ist es absehbar,
01:15:41
vielleicht das auch auszudehnen auf mehrere Jahre? Ja, das Problem ist natürlich bekannt. Ich kenne es selbst. Ich arbeite nämlich auch in der Verwaltung. Und der Grund für das Entstehen der Langzeitversion ist genau das. Also die Stabilität und dass die am Admin nicht so gescheucht werden, dass sie alle drei Monate was Neues installieren müssen
01:16:01
und auch die Kontinuität für die Nutzer. Wobei man aber sagen muss, Kugel ist das Werkzeug. Der Inhalt kann meinetwegen stabil bleiben. Man kann drum herum aber das Werkzeug durchaus ändern. Das bedeutet nicht, dass das dann nicht mehr nutzbar ist, was man damit vorher gemacht hat. Das entwickelt sich natürlich auch weiter in Dingen wie
01:16:21
Layer Code und Projektdatei Code. Da muss man dann schon ein bisschen immer anpassen und große Sprünge, je größer der Sprung, desto schwieriger wird es. Das kenne ich aus meinem eigenen Alltag, aber es geht. Also innerhalb der Zweierversionen zum Beispiel war es eigentlich nie ein großes Problem. Eher rückwärts als vorwärts.
01:16:42
Wenn man also seine Kartenprodukte, sage ich mal, also das, was man hergestellt hat mit Kugis, in einer konstanten Datenhaltung hat, wie einer Datenbank und so weiter, dann kann darüber das Kugis einfach die Version wechseln und es sollte kein größeres Problem sein.
01:17:01
Man muss da natürlich drauf gucken, aber es ist gut möglich. Ob das ausgeweitet wird, die LTR-Version, das glaube ich nicht. Die Diskussion gab es öfter schon mal und es wird, soweit ich das weiß, bei einem Jahr bleiben. Wobei es aber, das reicht auch. Ich meine, ich habe mittlerweile dann auch,
01:17:21
bin ich dazu übergegangen, parallel an meinem Arbeitsplatz, dann die aktuelle und die LTR-Version zu haben. Die eine, um neue Sachen auszuprobieren, um Vorlauf zu sein, wenn ich dann auf die nächste LTR gehe und die andere, weil das ist, was die Kollegen bekommen haben und die ich dann damit betreue, damit ich immer weiß, wo jetzt der Unterschied noch ist.
01:17:41
Aber es ist eigentlich ein Mehr an Funktionalitäten und kein Umbrechen in dem Sinne. Anders ist es, wenn man Kugis 2 mit Kugis 3 vergleicht. Kugis 3 wird so einfach, wird komplett umgeschrieben, weil neue Grundlagen da eingebaut werden,
01:18:01
wie Qt 5 und Python 3, in der Reihenfolge die Zahlen. Und da muss man erwarten, dass die Projektdateien zum Beispiel von Kugis 2 nicht einfach in Kugis 3 vollständig funktionieren werden. Es wird aber sicherlich Fehlfestellungen geben,
01:18:20
wie man das dann übertragen kann. Und wiederum, da gilt auch, dass die Datenhaltung davon ja nicht betroffen ist. Beantwortet das die Frage? Ah ja, stimmt, das wird nicht plötzlich schlecht.
01:18:51
Ich wiederhole das vielleicht kurz. Es ist natürlich so, dass die Version, nur weil es eine neue gibt, die alte nicht verschwindet oder plötzlich aufhört zu funktionieren.
01:19:01
Wenn man das unbedingt möchte, dann bleibt man irgendwie auf 2.12 Endpunkt stehen, weil es einem gut gefällt und dann ist es gut. Ich stimme mit Ihnen beiden überein. Nur ist es in dem Geschäft, in dem ich tätig bin, so, dass eben diese Planverfahren auch beklagbar sind.
01:19:20
Das heißt, wenn dort irgendwas mit dieser Kartendatei dann bei so einer Aktualisierung schiefgeht, dann also die Akzeptanz innerhalb der Verwaltung für diese Aktualisierung ständig, die ist nicht allzu groß. Ja gut, dann würde ich auch vorschlagen. Dann würde ich vorschlagen, dann konservieren wir auch die Kugels-Version gleich mit und dann kann da ja nichts passieren.
01:19:41
Das ist ja ein Paket. Weitere Fragen? Sieht nichts aus. Dann gebe ich mal einen Klick. Ja, danke, danke Thomas für den Vortrag. Wenn Sie noch können, wenn Sie noch können,
01:20:05
zwei Stück haben wir noch und ich glaube, die halten Sie noch durch. Und dann ist Mittagspause kurz und dann geht es quasi offiziell los. Und ich darf jetzt Astrid Emde vorstellen. Die wird jetzt was zum Thema MAP-Bender erzählen und genau,
01:20:21
das macht sie dann sicherlich einfach und ich bin ruhig.
01:20:45
So gut, um die Spannung schon vorwegzunehmen, ich halte nicht nur den MAP-Bender Vortrag jetzt, sondern danach noch zu Postnas und das Postna Suite den Vortrag. Und genau, also von der Reise durch die Open-Source-Software im GIS-Bereich
01:21:01
wollen wir mal schauen, wo es jetzt hingeht. Mit MAP-Bender gehen wir nämlich wieder ins Web. Ich bin jetzt hier nochmal auf der OS-Geo-Live-Seite. Die ist auch auf Deutsch übersetzt und da haben wir hier im Content-Bereich. Können wir mal schauen, was wir jetzt schon alles angeschaut haben. Wir haben bei den Internetdiensten angefangen mit Geo-Server und MAP-Server. Warum ich hier auf die Seite gehe, ist, um nochmal zu zeigen,
01:21:21
wie umfangreich das Ganze ist und auch nochmal darauf hinzuweisen, dass wir jetzt mit dieser Veranstaltung wirklich nur einen kleinen Teil von der ganzen Fülle abdecken können. Das heißt, wir waren schon im Internet mit Geo-Server und MAP-Server. Wir waren schon bei den Browser-Anwendungen, den Karten, den Clients, mit denen wir dann die Karten uns anschauen können.
01:21:41
Da gehen wir gleich auch wieder hin, wenn wir den MAP-Bender uns anschauen. Wir haben jetzt eine Reise zum Desktop-GIS gemacht und gehen wieder zu den Browser-Anwendungen und schauen uns den MAP-Bender an. Zum MAP-Bender haben wir, wie zu jedem Projekt, was hier auf der OSGeo Live ist, ein Übersichtsdokument, um sich zu orientieren, was das Projekt kann.
01:22:03
Und dann gibt es ein Quickstart-Dokument, mit dem man die ersten Schritte lernen kann, wie man mit dem Projekt umgehen kann. So, jetzt muss ich meine Folie wieder finden.
01:22:34
Ja, mache ich.
01:22:51
Gut, so, es kann losgehen.
01:23:03
Also wir gehen jetzt wieder ins Web und wir werden aber einige der Komponenten, die wir eben schon kennengelernt haben, hier auch wiederfinden. Und der MAP-Bender nimmt uns jetzt nämlich ein paar Sachen ab, die wir beim Open-Layers-Vortrag schon angemerkt hatten. Wo sind denn eigentlich die Controls, der Layer-Tree, der Slider,
01:23:20
diese Elemente, die quasi die Karte dann steuern können. Und das ist unser Schwerpunkt vom MAP-Bender. Wir bauen einen Karten-Klient, mit dem man Kartendienste ansprechen kann. ODC, WMS und haben da so einen Werkzeugkasten mit ganz vielen Elementen, mit denen man dann entscheiden kann, wie die Anwendung aussehen soll,
01:23:42
die man bauen möchte. Wir hatten eben gesehen beim Open-Layers, es gibt zehn Zeilen Code, die man schreiben kann. Dann hat man schon einen Open-Layers-Klient. Der MAP-Bender, der geht da einen anderen Weg. Der möchte am besten, dass wir gar keinen Code schreiben möchten. Das Schöne ist, wir werden das gleich sehen. Man kann dann alles über das Web-Administrations-Backend machen.
01:24:03
Mein Name ist Astrid Emde. Ich bin aus Bonn jetzt hierher angereist von der Firma Wear Group. Das ist auch die Firma, die vor allen Dingen in der MAP-Bender-Programmierung aktiv ist. Wir haben da diverse Entwickler, die an dem Projekt arbeiten. Wir haben leider nicht so eine riesige, tolle Community, sondern das meiste spielt sich bei der Wear Group ab.
01:24:21
Aber da sind wir sehr engagiert dabei, diesen Client weiterzubringen. Ich bin da auch im MAP-Bender Developer Team, kümmere mich mehr um die Konzeption, um die Dokumentation, um das Testen von den Releases und vor allen Dingen mache ich Workshops in dem Bereich. Heute ist auch der MAP-Bender-Tag.
01:24:42
Wir haben heute Nachmittag noch einen Workshop MAP-Bender 3 für Power-User. Der ist an Leute gerichtet, die den MAP-Bender 3 schon kennen und da schon tiefer drinstecken. Der ist heute Nachmittag der letzte Workshop. Und dann haben wir auch heute ein Anwendertreffen. Um 18.30 Uhr ist das MAP-Bender Anwendertreffen. Der Saal steht auch im Programm.
01:25:04
So genau, wo geht es denn hin mit unserem MAP-Bender? Ein Web-GIS-Kleinsuite, über die man Anwendungen erzeugen kann. Hier habe ich mal einen Screenshot. Da kann man sehen, wie so ein MAP-Bender 3 aussieht. Das ist die Standard-Oberfläche, die wir bei der Installation schon immer mitliefern.
01:25:21
Und das Konzept ist es, man kriegt so ein Baukastensystem und kann sich daraus dann eigene Anwendungen zusammenstellen. Da schauen wir gleich auch mal hinter die Kulissen, wie man das Ganze dann durchführen kann. So, das ist jetzt die Standard-Oberfläche. Hier mal ein Beispiel vom Stadtplan Trostorf. Das Konzept ist auch, dass man sich den Standard nimmt
01:25:42
und dann vom Design und von dem Aufbau der ganzen Anwendung dann den eigenen Ideenlauf reinlaufen lassen kann. Man kann dabei einerseits das Design anpassen. Man kann aber auch, man sieht das hier, man hat verschiedene Steuerelemente, die man auswählen kann. Man hat hier so einen Slider, mit dem man die Maßstabstufen
01:26:03
wechseln kann, eine Übersichtskarte, hier diverse Elemente. Man kann hier den Maßstab wechseln oder die Projektion wechseln. Das sind alles Elemente oder Widgets, von denen wir reden. Und die kann man sich, wie man möchte, dann in der eigenen Anwendung zusammenstellen.
01:26:22
Wir haben auch eine mobile Lösung. Man kann den Webbänder auch mobil nutzen. Das ist auch eine Standard-Anwendung, die mit dabei ist. Da kann man sich dann, wenn man draußen unterwegs ist, auch positionieren lassen. Man kann da eine Suche zum Beispiel mit einbauen und kann dann die Themen, die man draußen anbieten möchte, zur Verfügung stellen.
01:26:41
Gut, genau, das Konzept hatte ich ja schon vorgestellt. Ein Geoportal aufbauen, ohne eine Zeile Code schreiben zu müssen. Das ist das Ziel. Das heißt, der Webbänder richtet sich auch an Anwender, die jetzt nicht unbedingt programmieren können. Und das Vorgehen ist so, man meldet sich am Webbänder an oder man ruft den Webbänder auf.
01:27:01
Man hat entweder schon Anwendungen, die man verwenden kann. Das kann man dann frei konfigurieren, ob man Anwendungen öffentlich zur Verfügung stellt. Und dann hat man hier ein Link, über den man zur Administration gehen kann, einerseits, um neue Anwendungen zu erstellen. Man kann sich aber auch einloggen, um vielleicht noch weitere Anwendungen
01:27:22
sehen zu können, die vielleicht nicht allen zur Verfügung stehen. Wir haben nämlich auch eine Benutzerverwaltung und Gruppenverwaltung und da noch weitergehend dann eine Rechtbezuweisung. Gut, wenn ich mich jetzt hier eingeloggt habe, da gibt es so einen Administrationsbenutzer, den ich anlegen kann bei der Installation. Dann habe ich hier verschiedene weitere Funktionalität
01:27:42
zur Verfügung stehen. Ich kann dann Anwendungen erzeugen. Ich kann Sources laden, also Dienste laden in meine Anwendungen. Ich kann Benutzer und Gruppen anlegen und kann die dann Oberflächen zur Verfügung stellen. Ich will nun mal kurz jetzt hier mit den nächsten Folien so einen kleinen Blick in die Administration werfen,
01:28:01
wie das Ganze dann aussehen könnte. Hier sehen wir mal ein Beispiel, wie ich dann so eine neue Anwendung erzeugen kann, die braucht dann einen Namen. Ich kann dann noch so ein Vorschaubild hochladen und dann habe ich schon eine Anwendung erzeugt. Eine Anwendung besteht aber nicht nur aus diesen Komponenten, den wir eben gesehen haben, sondern die besteht auch aus Diensten.
01:28:22
Und eine Anwendung kann dann verschiedenen Rollen oder Gruppen zugewiesen werden. Wenn ich so eine Anwendung dann erstellt habe, sehen wir, kann ich die dann bearbeiten. Ich habe die Möglichkeit, diese Anwendung zu bestücken. Das ist jetzt erst mal eine leere Anwendung. Da könnte ich jetzt als erstes eine Karte vielleicht einfügen.
01:28:43
Jedes Element, das der MapBender mitbringt, das kann ich individuell konfigurieren. So ein Kartenelement, da muss ich dann sagen, welche Position möchte ich haben? Welchen Start Extent möchte ich verwenden? Welche Zoom-Stufen möchte ich anbieten? Und was erzeuge ich jetzt hier, wenn ich so ein Kartenelement anlege?
01:29:04
Der MapBender, der baut auf OpenLairs auf. Und da haben wir ja schon gesehen, wie OpenLairs so eine Anwendung erstellt. Und das übernimmt der MapBender für uns. Das heißt, wir müssen hier die Administration, das Ganze konfigurieren. Und im Hintergrund, wenn ich dann so eine Anwendung lade,
01:29:21
dann baut der MapBender uns diesen Code, beschreibt er uns zusammen, mit dem dann so ein OpenLairs klein geöffnet wird und dann noch zusätzlichen Elemente von MapBender dann platziert werden. Sowieso könnte ich jetzt zu jedem Element hier zeigen, wie die einzelnen konfiguriert werden. Das sparen wir uns mal. Wir sehen jetzt hier noch verschiedene Bereiche.
01:29:42
Wir haben noch die Anwendung von eben im Kopf. Das heißt, ich könnte jetzt per drag and drop auch Elemente aus Bereichen in andere Bereiche verschieben. Ich kann hier die Toolbar, das war diese obere Leiste, mit Elementen versehen, genauso auch diese untere Leiste. Und wir haben hier so eine Seitenleiste, in der man auch die Legende oder den ebenen Baum zum Beispiel platzieren kann.
01:30:04
Und so kann ich mir nach und nach eine Anwendung aufbauen. Ich kann aber auch hergehen und nehme diese Demo Anwendung, die wir schon mitgeben, und stelle mir die dann so zusammen, wie ich sie für mein Projekt brauche. Nachdem ich jetzt hier diese ganz einfache Anwendung gesehen haben, sehen wir, die hat nur ein Map Element.
01:30:22
Da ist schon ein Kartendienst drin, der Dermini, der Kartendienst und ansonsten ist sie jetzt erst mal leer. Das heißt, wenn ich bei null anfange, dann müsste ich jetzt auch einige Elemente erst mal einbinden in meine Oberfläche. Ich könnte aber auch so eine Vorlage übernehmen. Wie kommen jetzt die Kartendienste in die Anwendung?
01:30:40
Wir bauen auf WMS Dienste auf. Da muss man einen WMS Dienst nur einmal laden. Dazu braucht man die Adresse von diesem Dienst. Das kann ein Geo Server Dienst sein, ein Kuge Server Dienst, ein Map Server Dienst oder vielleicht auch ein Map Proxy Dienst. Also Hauptsache der WMS Standard wird unterstützt. Der Map Bender lernt dann diesen Dienst kennen und anschließend kann ich den
01:31:03
dann in allen Oberflächen, in denen ich den benutzen möchte, dann einfügen und den entsprechend dadurch den Anwendern zur Verfügung stellen. So ein Dienst, den kann ich auch noch konfigurieren. Ein Dienst bringt vielleicht ganz viele Ebenen mit und ich will aber gar nicht alle vielleicht zur Verfügung stellen. Das heißt, ich kann hier im Vorfeld schon Ebenen ganz deaktivieren.
01:31:23
Ich kann die beim Start der Anwendung schon aktivieren. Ich kann die Info Abfrage erlauben und habe hier entsprechend Konfigurationsmöglichkeiten, wie ich so einen Dienst dann einbinden möchte. Wir sehen, das ist jetzt hier wieder unsere Anwendung. Wir sehen, ich kann jetzt hier viele Dienste einbinden.
01:31:42
Ich habe verschiedene Bereiche, den Kartenbereich, in dem ich jetzt hier zum Beispiel drei Dienste platzieren möchte. Ich habe die Übersichtskarte, in die ich Dienste platzieren möchte. Und kann entsprechend so meine Anwendung aufbauen. Und entsprechend habe ich jetzt hier durch diese Konfiguration
01:32:01
drei Dienste in der Hauptkarte, einmal diesen Dürrmendienst in der Übersichtskarte und kann so weitergehen und so meine Oberfläche zusammenstellen. Jetzt hatte ich eben schon die Benutzerverwaltung angesprochen. Vielleicht darf nicht jeder jede Anwendung sehen. Daher kann ich eigene Benutzer anlegen. Ich kann Gruppen anlegen.
01:32:21
Das geht hier auch über die Administration. Dann könnte ich hergehen und sagen, zum Beispiel diese Benutzer. Astrid Emde ist in der Gruppe in der Gruppe Workshop und im nächsten Schritt kann ich dann zu meiner Anwendung gehen
01:32:40
und könnte dann bestimmen, dass entweder die Gruppe Zugriff auf die Oberfläche hat oder vielleicht auch nur ein Benutzer dann Zugriff auf eine Oberfläche hat. Und entsprechend würde diese Anwendung dann, wenn ich mich anmelde als Astrid Emde, dann mir zur Verfügung stehen. Darüber hinaus kann man auch Anwendungen erzeugen, die allen Benutzern zur Verfügung stehen,
01:33:01
die keine Anmeldung benötigen. Jetzt habe ich noch so ein paar Screenshots, dass man mal sehen kann, wie so eine Anwendung nach aussehen kann. Wir können das Ganze auch live anschauen. Das sind alles öffentliche Anwendungen, die ich jetzt hier noch vorstellen möchte. Da werde ich gleich auch noch einen Link zur Gallery zeigen
01:33:21
und entsprechend kann man da selber auch noch die Anwendung einmal entdecken. Wir sehen jetzt hier ein Bebauungsplan-Portal von der Stadt Gütersloh. Da können die Bürger, wenn sie jetzt bauen, zu ihrer Adresse zoomen. Die haben hier eine Adress-Suche. Das ist ein Baustein im Bender, der auf SQL basiert. Das heißt, ich brauche eine Tabelle mit Hausnummern und Koordinaten
01:33:43
und kann mir hier jetzt frei eine Suche zusammenstellen. Die kann man sich konfigurieren. Ich kann entsprechend dann hier meine Straße auswählen, bekomme die ganzen Treffer, navigiere dann zu meiner Adresse. Und ein ähnliches Projekt hat auch das Geoportal Kreis Lippe.
01:34:03
Nachdem ich nämlich dann bei meiner Adresse angekommen bin, möchte ich noch hier schauen, welcher Bebauungsplan ist jetzt hier für dieses Gebiet der aktuelle. Da kann ich mir über eine Info-Abfrage dann die entsprechende Information ausgeben lassen. Und kann jetzt hier über diesen Link Planzeichnungen laden,
01:34:23
kann ich jetzt noch zusätzliche Kartendienste in die Karte laden. Das kann sein, dass ich in einer Kommune mehrere hundert Bebauungspläne habe, die möchte ich nicht gleich sehen, wenn so eine Anwendung aufgeht, sondern so kann sich der Anwender noch mal gezielt die Daten hinzuladen, die ihn interessieren.
01:34:41
Ich kann auch Bereiche abspeichern. Wir sprechen davon Webmap-Kontext-Dokumenten. Das ist auch ein OGC-Standard, das heißt, ich könnte jetzt als Administrator von so einer Anwendung sagen, hier gibt es verschiedene Bebauungspläne, die werden jetzt rechtskräftig, da soll jetzt darüber diskutiert werden und entsprechend
01:35:01
speichere ich mir solche Webmap-Kontext-Dokumente ab, die ich dann in der Anwendung zur Verfügung stellen kann, sodass die Anwender da leicht in unterschiedliche Bereiche springen können. Hier haben wir das Geoportal von einem Landkreis Ostprignitz-Rupin.
01:35:20
Die haben hier noch ein Element mit eingebaut, das basiert auf einer Solarsuche. Wir haben ein Element, das heißt Simple Search. Das spricht einen Suchdienst an, Solar Search. Suchdienste kann man aufsetzen und entsprechend wird jetzt hier, wenn man etwas eintippt, dieser Suchdienst angefragt.
01:35:42
Dann haben wir hier vom Geoportal Frankfurt das Baumkataster. Da haben wir hier auch wieder ein Beispiel für eine Suche. Und wir haben gesehen, es gibt manchmal Elemente, die hier in der Seitenleiste platziert werden. Ich kann die Suche aber auch hier so über einen Button öffnen und kann dann frei entscheiden, wie ich die unterschiedlichen Elemente in meiner Anwendung nutzen möchte.
01:36:05
Hier ist nochmal die Stadt Monheim, die ich vorstellen möchte. Das ist ein recht neues Projekt. Die haben hier die Möglichkeit, über so einen Hintergrundwechsler verschiedene Hintergrundthemen auszuwählen. Da kann man einfach Kartendienste, die man in der Anwendung eingebunden hat,
01:36:22
so definieren, dass sie ans Hintergrunddienst funktionieren und ich dann ganz leicht wechseln kann. Ansonsten hat man immer hier diese Baumstruktur zur Verfügung, die man frei konfigurieren kann. Aber für manche Anwender ist sicherlich auch dieser Wechsel über die Auswahlbox ganz praktisch.
01:36:41
Dann will man natürlich die individuelle Gestaltung haben. Dazu gibt es die Möglichkeit, über CSS-Dateien und SCSS-Dateien den Style anzupassen. Das heißt, man überschreibt quasi diesen schwarzen Stil vom Herr Bender mit dem eigenen Stil, den man hier definieren kann.
01:37:00
Und hier sieht man mal, man kann das einerseits in der Administration im Herr Bender direkt konfigurieren oder man liegt auf dem Server eine CSS-Datei an und kann darüber dann den Stil verändern. Wir haben auch ein Element, mit dem man ganz leicht zusätzliche Texte oder Bilder oder eine Impressung einbinden kann.
01:37:21
Das ist so ein HTML-Element. Damit wurde zum Beispiel jetzt hier das OS-Geo-Logo ganz einfach eingebunden. Und ich könnte aber auch ganz leicht darüber ein Impressum in der Seitenleiste zum Beispiel platzieren. Was auch sehr nett ist, ist die Digitalisierfunktion, die wir jetzt seit einer Weile im Herr Bender haben.
01:37:40
Man kann Punkte, Linien und Flächen digitalisieren und kann da wieder über eine Konfigurations-Datei, über eine Jaml-Definition kann man genau definieren, welche Tabelle, welche Spalten man eingeben möchte, welche Erfassungsfunktionalität man bereitstellen möchte, was man hier an Spalten zur Verfügung stellen möchte
01:38:01
und kann das frei definieren und kann dann Formulare wie dieses zum Beispiel generieren. Oder man kann auch recht komplexe Formulare konfigurieren, wie hier zum Beispiel von dem Baumkataster. Ja, wer da mal ein bisschen genauer reingucken möchte, der findet auf der MapBender Gallery einige Projekte, die mit MapBender 3 realisiert wurden
01:38:25
und kann sich hier einmal umschauen. Das ist hier auf MapBender3.org. Da finden wir auch den Link zur Mailing-Liste, zur Hilfe und den Zugang zur Community. Die Seite kann ich empfehlen. Wir haben auch eine umfangreiche Dokumentation
01:38:41
auf Deutsch und auf Englisch. Viele Anwender, die den MapBender nutzen, kommen aus dem deutschsprachigen Bereich. Das Projekt wird aber mehr und mehr auch international. Das heißt, wir haben hier auf Deutsch und Englisch zu jedem Element und zur Installation entsprechend die Dokumentation. Wer den MapBender direkt selbst mal ausprobieren möchte
01:39:02
und auch genau da in der Administration das Ganze mal online ausprobieren möchte, der kann entweder die OSGU Live sich schnappen oder hier über MapBender3.org den Link zur Demo finden und das Ganze direkt einmal ausprobieren. Und entsprechend haben wir hier nochmal die wichtigen Links fürs Projekt.
01:39:21
Ja, vielen Dank für die Aufmerksamkeit. Gibt es noch Fragen? Ja, gibt es Fragen zu MapBender? Okay, dann machen wir direkt weiter.
01:40:14
Gut, ja, das letzte Projekt, was wir jetzt im Rahmen von dieser Vorstellung von Open Source Projekten vorstellen möchten,
01:40:22
ist die Postner Suite. Das mache ich zusammen mit dem Jelto Bohmann von der Firma Norbit. Ich fange erst mal an und erzähle die Hintergründe. Und dann gibt es eine Demo. Ja, genau. So, das ist ein Projekt, was jetzt noch nicht auf der
01:40:40
oder was nicht auf der OSGU Live ist, indirekt schon, weil es in die Gedal OGR Bibliothek integriert ist. Das ist ein Projekt, was interessant sein könnte, wenn man mit Alkes Daten zu tun hat, Katastardaten, mit Flurstücken vielleicht, mit öffentlichen Flurstücken zu tun hat. Und da haben wir eine Lösung entwickelt für Alkes Daten.
01:41:04
Die werden als NRS Daten zur Verfügung gestellt und die möchte man natürlich auch in anderen Systemen nutzen. Wir haben mit der Postner Suite eine Lösung für den Datenimport, für die Darstellung, für die Informationsausgabe und die Suche. Und das möchten wir jetzt vorstellen.
01:41:26
So, schauen wir erst mal, was Postner Suite eigentlich ist. Das ist schon ein paar Jahre alt und wurde vor einigen Jahren ins Leben gerufen, als das Thema Alkes langsam aufkam und als neues Datenformat für die Katastardaten
01:41:44
zur Verfügung gestellt wurde. Da stellte sich die Frage, wie können diese Daten aus diesem NRS Format in andere Formate überführt werden? Und es wurde über ein Funding beauftragt, dass die Open Source Bibliothek GEDAL OGR,
01:42:03
die wir im Alltag, wer KUKES nutzt, der wir ganz oft begegnen, auch Geo-Server, Map-Server, die haben das alles integriert. Und das ist eine Bibliothek GEDAL für Rastadaten und OGR für Vector-Daten, die sehr viele Datenformate unterstützt.
01:42:20
Und wir dachten, dass das sicherlich ein zukunftsträchtiger Weg ist, wenn wir das NRS Format in dieser Bibliothek, also über diese OGR-Vector-Daten-Bibliothek verfügbar machen und die Unterstützung direkt hier einbauen lassen. Und das ist passiert durch den Frank Bormedam.
01:42:41
Der hat das für uns entwickelt und der hat den lesenden Zugriff für das NRS Format für uns eingebaut. Wir sehen, wenn man hier auf die Seite geht von GEDAL, da kann man sich die Liste der Formate anschauen. Und da taucht NRS hier jetzt auf. Und man sieht dann hier immer über dieses No und Yes,
01:43:01
ob es lesend oder auch schreibend, der Zugriff möglich ist. Und bei der NRS, bei dem Format ist es nur lesend. Also wir schreiben keine NRS-Dateien. So, das Projekt ist bundesweit in Einsatz. ALKES ist ja in den Bundesländern angekommen. Und es ist nicht nur bei den Anwendern im Einsatz,
01:43:21
sondern wir sind auch eine ganz große Gruppe, die dieses POSNAS-Projekt voranbringt. Da gibt es die Weiterentwicklung durch verschiedene Aktive. Das sind einerseits Kommunen, Kreise, Kunden, die das quasi vorantreiben, weil sie ihre Missionen haben, zum Beispiel diese ABK, die die langsam ansteht bei einigen Kommunen.
01:43:44
Und es wird aber auch in der Entwicklung zum Beispiel bei der Firma Norbert oder bei uns vorangetrieben bei der Workbook. So, und die Ideen für dieses Projekt entstehen aus den verschiedenen Anwendungsfallen. Wir haben einerseits den Wunsch, die ALKES-Daten im Web-GIS verfügbar zu machen,
01:44:00
aber auch im Desktop-GIS. Ja, schauen wir uns jetzt erstmal den Schritt an, der im Hintergrund passiert. Ich hatte ja gesagt, dass es über OGR2OGR, also in dieser OGR-Bibliothek eingebaut wurde. Das heißt, wenn ich jetzt hier so eine NRS-Datei habe, Mustermunzel zum Beispiel, das sind so Testdaten von Rheinland-Pfalz,
01:44:22
dann könnte ich die mit OGR2OGR in das Format Postgrespoil übertragen und zwar in diese Datenbank mit dem Namen ALKES. Hier wird jetzt noch die Projektion angegeben. Ich kann dann diesen Befehl über die Kommandozeile absetzen. Wenn die Datenbank dann da ist und der Zugriff klappt,
01:44:41
ist in kürzester Zeit, sind die Daten dann importiert. Das ist für die Anwender attraktiv, die vielleicht auf der Kommandozeile das Ganze bedienen möchten. Und wir haben aber in der Prosna Suite verschiedene Komponenten. In diesem OGR2OGR-Befehl fing es an und jetzt wurde in den letzten Jahren
01:45:02
durch die Firma Norbit, wurden diverse Komponenten entwickelt. Da haben wir einmal ein Tool zum Import, ALKES-Import, das Norges-ALKES-Import und das bietet eine grafische Oberfläche. Wir haben ja eben gesehen, nicht jeder möchte vielleicht auf der Kommandozeile das Ganze bedienen.
01:45:20
Man möchte lieber mit einer grafischen Oberfläche oder vielleicht auch pad-rack-and-drop die Dateien dort einspielen. Und das ist jetzt hier über dieses ALKES-Import realisiert worden. Dann haben wir im KUGIS diverse Plugins. Wir haben ein Norges-ALKES-KUGIS-Plugin, über das wir dann die Daten visualisieren können und wir haben ein Postnassuche-Plugin,
01:45:41
über das dann die Daten auch durchsuchbar sind. Das ist ein zusätzliches Plugin. Gut, und wir können virtuelle Maschinen mit ALKES-Komplettlösungen über das Projekt auch bereitstellen. So sieht zum Beispiel so eine NRS-Datei aus. NRS steht für Normbasierte Austausch-Schnittstelle.
01:46:02
Wir haben hier das 3a-Datenmodell. Das NRS-Format ist ein GML-Format, was wir hier zur Verfügung stehen haben. Und wir sehen, in welchen Bereichen das ATKES, AFES und ALKES zum Einsatz kommt. So, hier nochmal die Übersicht der Komponenten.
01:46:20
Das heißt, wir haben einerseits GEDAL und OGR. Wir haben diese ALKES-Lösungen, die auf Python basieren. Wir haben die verschiedenen Ausgabemöglichkeiten dann fürs WebGIS. Da kann man die entweder als Map-Datei über Norges ausspielen. Wir haben für den Mapserver Konfigurations-Dateien,
01:46:43
die wir über die PostNAS-Seite anbieten. Und hier gibt es noch von einem Kreis, dem Oberwerkskreis, auch noch Konfigurations-Dateien. Wenn die Daten importiert wurden, in der Regel passiert das in die Datenbank, dann kann man sie entweder im DesktopGIS nutzen oder man kann auch mit den Daten ins WebGIS gehen.
01:47:01
Da haben wir so eine Lösung, die auf MapBender basiert, sodass man da noch Suchen oder Info-Ausgaben dann über die MapBender bereitstellen kann. So, jetzt wollen wir uns die einzelnen Komponenten mal anschauen. Fangen wir mal an. NAS kann man auch einfach als Datenquelle in Kugis laden. Wer jetzt gar nicht groß importieren möchte in die Datenbank,
01:47:22
sondern einfach mal sich so eine Datei anschauen möchte, der kann ein ganz normales Kugis nehmen, kann hier über Vector-Datenformat so eine XML-Datei laden, so ein NAS-Datei und kann dann in den Layern, die diese NAS-Datei zur Verfügung stellt,
01:47:40
also jedes Thema, Gebäude, Flurstücke, ist dort als Layer integriert. Über die Auswahl kann man dann das entsprechende Layer auswählen und kann so die Daten auch einfach über Kugis visualisieren. Wenn man den Weg über die Import-Skripte gehen möchte, die wir eben gesehen haben mit diesem OGR2OGR, da kann man sich über die Webseite vom Projekt,
01:48:02
kann man sich Skripte herunterladen, die quasi eine Datenbank vorbereiten, die noch zusätzliche Tabellen und Sichten anlegt und kann dann über Skripte Daten importieren. Und hier habe ich mal den PGA-Admin als Screenshot. Da sieht man, wie die Datenbank nach so einem Import aussieht.
01:48:21
Wir haben hier 175 Tabellen, die angelegt werden und entsprechend sind die ganzen ALGES-Daten hier in diesen ganzen Tabellen verteilt. Diese Tabellen kann man dann im nächsten Schritt auch wieder sich einfach über Kugis visualisieren lassen. Hier sieht man mal die ALGES-Flurstücke mit den ganzen Informationen, die aus dieser NRS-Datei übertragen wurden.
01:48:46
Genau über Kugis kann ich dann hier über den Elefanten, der für POSGIS steht und POSGASQL, kann ich die Daten dann ebenso in Desktopdisk visualisieren lassen. So, und jetzt kann der Jelto die weitere Frage stellen.
01:49:04
Hallo, also wir haben gerade gesehen bei dem letzten Screenshot von Astrid, dass da zwar Häuser und Flurstücke drin waren, aber dass die Häuser keine Hausnummern haben und jeder weiß, wie tricky das ist und mit den Drehungen von den Hausnummern und jeder weiß, wie kompliziert das mit den Flurstücksnummern ist.
01:49:21
Das heißt, mit anderen Worten, was wir jetzt haben, ist eine Datengrundlage für die ALGES in einem uns bekannten Format, nämlich Relationale Datenbank, etwas, wo wir so drauf zugreifen können, aber noch keine hübsche Darstellung. Und das ist ein Punkt, an den wir jetzt angesetzt haben,
01:49:41
dass wir gesagt haben, wir wollen jetzt etwas haben, was auf dem Klick ALGES-Daten so visualisiert, dass das so aussieht, dass jemand vom Katasteramt, der das ursprünglich mal erzeugt hat, nicht einen Herzinfarkt kriegt, sondern sagt, boah, das sieht aber schick aus. Und dass es möglich so aussieht,
01:50:01
wie es auch der Geoinfodoc entspricht und dass die Symbole drin sind und all die Dinge, die man sich so vorstellen kann. Und was wir ja so tun, wir gehen jetzt mal hier in meine Folie rein und ich wollte jetzt eigentlich erst mal gucken,
01:50:21
dass wir das mal kurz ansprechen und jetzt spreche ich jetzt auch. Okay, da sehen wir also oben, wir erzeugen diese Datenbank, das ist die, die Astrid uns gerade gezeigt hat und was jetzt passiert, ist, wir müssen, jetzt muss man ein Stückchen zurück, in diesen Tabellen ist nicht alles drin,
01:50:42
was man anzeigen muss. Sondern da gibt es sogenannte Darstellungsregeln, die sagen, ich brauche einen Text, wenn das ein Rathaus ist, das vor 1950 gebaut ist oder sowas. Und davon gibt es eine ganze Menge
01:51:00
und da gibt es auch Symbole, die gesetzt werden müssen. Und plötzlich hat man, das war dann so am Anfang, da hat man mit OGR-Daten umgesetzt und dann wurden die Straßennamen immer weniger. Weil die Straßennamen dann über Darstellungsregeln erzeugt sein mussten und man das nicht mehr ordentlich dargestellt kriegte.
01:51:23
Und dann sind wir hingegangen und haben gesagt, gut, okay, wir arbeiten die ALKES-Tabellen nach und erzeugen uns die komplette Geometrie, die wir präsentieren wollen, aus den Objekten, die schon da sind und aus den Objekten, die aus Darstellungsregeln erzeugt werden müssen,
01:51:42
sodass wir dann in diesen Präsentationstabellen alles drin haben, was man anzeigen muss. Und dann brauche ich auch das nicht mehr über dieses ganze Modell zusammenzuziehen, sondern dann habe ich das in einer ganz schlanken Struktur, in der wir anschließend die ALKES-Daten
01:52:01
schön darstellen können. Dann haben wir immer noch etwas, das kein Anwender benutzen kann, aber dann kann man dazu noch ein KUGIS-Plugin haben und das KUGIS-Plugin, dem sagen Sie nur, wo die Datenbank ist und dann geht das da rein
01:52:21
und dann guckt es nach, welche Darstellungsmodelle es in dem Datensatz gibt, die Sie da haben und dann können Sie sich aussuchen, welche Sie haben wollen und dann erzeugt er Ihnen die Layer und wenn Sie die dann angucken, dann sind die so, wie Sie erwarten würden, dass ALKES-Layer sind. Das gucken wir uns gleich ganz am Schluss noch an.
01:52:41
Ich habe das extra vorbereitet, dass wir hier noch immer auf ein, zwei Sachen draufgucken können. Das Zweite, was wir gemacht haben, wir haben auch diese Geschichte dann gefundet, freigegeben. Unser Plugin erzeugt auch einen Map-Server.
01:53:00
Wie heißt das nochmal? Mapfile, sodass Sie auch das benutzen können für die Visualisierung der ALKES-Daten im Web. Da gibt es mittlerweile die Kollegen aus der PostNAS-Suite, die früher mal die alten Skripte gehen langsam auf unsere Skripte um.
01:53:24
Was wir zusätzlich noch haben, ist, dass wir aus dieser Datenbank auch mit AutoCAD und BricsCAD, also mit CAD-Plattformen, uns originale DWGs verschaffen können, die auch nach Geoinfo-Docs sauber dargestellt sind.
01:53:42
Also AutoCAD und BricsCAD greifen dann auf diese Präsentationstabellen auf diese Datenbank zu. Dann können Sie über ein Fenster sich ALKES-Daten reinziehen. Das ist dann nicht DXF und nicht irgendwelcher Plurkram, sondern das ist DWG und das sieht genauso aus, wie das sein muss. Gut, jetzt können wir mal weitergehen.
01:54:04
Genau. Wie wir uns das vorstellen, ist, das ist das Import-Skript. Da oben links steht drin, wo die Datenbank ist. Jetzt kommt ja so schnipselweise die Daten,
01:54:23
da können Sie die entweder in ein Verzeichnis reintun oder eine Datei aussuchen. Dann sagen Sie Start und dann rödelt das ein bisschen. Dann haben Sie hier unten eine Log-Datei, wo drin steht, ob das alles gut funktioniert hat oder ob das auf Fehler gelaufen ist.
01:54:41
Das könnte ja sein, dass es neue Objekte gibt, die noch nicht unterstützt sind. Dann würde man da eine Fehlermeldung sehen und dann könnte man sich an uns wenden und dafür sorgen, dass es abgestellt wird.
01:55:02
Dann geht das passabel schnell und dann hat man eine Datenbank, mit der man das einlesen kann. Dann kann ich anschließend
01:55:24
in Kugis das Plagene aufrufen. Das gucken wir uns nachher noch an. Dann kriegt man so eine Darstellung. Sie sehen, da sind jetzt auch Flugstücksnummern mit einem Zuweisungsfeil und da sind diese Symbole drin. Da sind eine ganze Menge Leer.
01:55:42
Das wird automatisch erzeugt aus der Datenbank. Das ist nicht eine Legende, die immer standardmäßig kommt, sondern es kommt genau die Legende, die Ihrem Alkes-Datensatz entspricht.
01:56:03
Dann würde ich noch dazu sagen, was wir da noch leisten können, ist, dass wir benutzerspezifisch noch zusätzliche Ableitungsregeln
01:56:27
erfinden. Wir sind im Moment in NRW mit einigen im Gespräch für ABK noch Ableitungsregeln zu finden. Wir haben für die Stadt Münster Ableitungsregeln für die Stadtkarte gemacht.
01:56:41
Wenn hier also irgendjemand ist, der sagt, wir haben in unserem Alkes-Sachen drin, die sind außerhalb aller Welt, dann sind das in der Regel nur ein paar zusätzliche Ableitungsregeln, die am Ende dazu führen, dass dann anschließend die Dinge auch dargestellt sind. Gut. Wir haben nicht mehr viel Zeit.
01:57:00
Ich fasse mich mal recht kurz. Es gibt noch weitere Plugins, die wir im QGIS nutzen können. Wenn wir im Desktop-GIS bleiben möchten, dann haben wir auch ein Suchplugin von Marvin Brandt. Da überspringe ich ein paar Folien. Da sieht man unten links ist ein Suchfeld eingeblendet. Da könnte ich nach einer Straße suchen, nach Eigentümern suchen
01:57:20
oder auch nach Flurstücken. Die werden dann direkt im QGIS visualisiert. Und das Schöne ist, es gibt eine Konfiguration dazu. Das heißt, ich kann das genau einstellen, wer suchen darf. Ich gab da noch eine Benutzersteuerung und kann das genau definieren, welcher Benutzer darf jetzt Eigentümer suchen und welcher darf vielleicht nur die Adressen suchen.
01:57:43
Dann, wenn wir jetzt Richtung Web gehen, haben wir schon gehört, man kann dann auch auf die Daten über einen Mapserver zugreifen. QGIS Server, Mapserver oder was auch immer man möchte. Da gibt es verschiedene Mapfiles für den Mapserver, die wir zur Verfügung haben.
01:58:01
Und was wir hier sehen, sind noch Suchskripte, die dann über... Entschuldigung, Informationsausgaben, die man über den WMS dann ansteuern kann. Das sind PHP-Skripte für verschiedene Informationen. Flüchtigsauskunft, Gebäuderauskunft, Eigentümerauskunft, das ist alles dort enthalten.
01:58:21
Dann gibt es für die Navigation Skripte, die man nutzen kann. Die hier sind im MapBanner 2 integrierbar, zum Beispiel. Auch für die verschiedenen Bereiche, Adresse, Flussstück, Eigentümer, Grundbuch. Und das Ganze wird jetzt aber auch für die MapBanner 3-Versionen umgesetzt. Das heißt, wir können über diesen Search-Router,
01:58:40
den wir eben für die SQL-Suche gesehen haben, suchen, konfigurieren. Wir können auch diese Info-Skripte dann integrieren, die wir eben gesehen haben, und können das auch im MapBanner nutzen. Wir können auch ADCES-Daten visualisieren und Stellen auch über das Projekt TestDaten verlinken wir, die man vielleicht nutzen kann, wenn man erst mal das Ganze
01:59:01
ausprobieren möchte. Wir treffen uns jedes halbe Jahr. Das nächste Treffen wird in Münster stattfinden, am 3. Mai. Alle, die das Thema interessiert, sind da herzlich eingeladen. Wir sind da zwischen 20 und 30 Leuten, die sich da treffen, die da das Ganze voranbringen wollen. Und genau, da gibt es
01:59:20
auf der Postner-Seite einen Link, da kann man sich dann auch anmelden. So sehen solche Anwendertreffen aus. Das war noch in Rapperswil bei der Vosges, da waren wir noch ein paar wenige. Aber es ist eine ganz nette Stimmung, ein ganzer Tag, an dem man dann tief ins Thema einsteigen kann. So, hier sind nochmal die Links. Wer das im Nachhinein nochmal sich anschauen möchte und auf der Webseite vorbeischauen möchte,
01:59:41
kann das gerne tun. Und jetzt weiß ich nicht, Dominik, haben wir noch zwei Minuten? Ja, gut, dann können wir mal kurz. Jelto, du wusstest, wie du da umgestopft hast. Jetzt gibt es noch eine kleine Live-Präsentation. Der Jelto Burmann hat die Daten von Hamburg wahrscheinlich, oder?
02:00:04
So, genau, der Rechner kann ruhig schon abgebaut werden, jetzt weiß ich auch nicht. Okay, gut, also wer noch Interesse hat, das ist jetzt nicht auf der Karte. Also ich habe hier jetzt ein Tablett liegen, ein Windows-Tablett, da stehe ich zu und
02:00:21
da habe ich einen Kugis drauf und in diesem Kugis habe ich, ich habe auf diesem Tablett so eine richtige Postgist-Datenbank und da habe ich die mittlerweile als freie Daten verfügbaren Alkis-Daten von Hamburg komplett umgesetzt und die sind da drauf und ich lade
02:00:42
jetzt mal das Projekt, was dazu gehört und ich drücke jetzt drauf und wir reden jetzt nicht von der Servermaschine, sondern wir reden jetzt nicht von der Servermaschine, sondern wir haben jetzt gerade von einem Tablett geredet und dann suche ich mich da mal rein und das ist den Alkis, den man haben kann und das ist Alkis von Hamburg
02:01:15
und das ist Alkis von Hamburg auf einem Tablett. Nur mal eben so und dann muss man sich,
02:01:23
glaube ich, was Performance angeht, nicht verstecken und jetzt noch ganz schnell, ich glaube, meine Worte sind nicht wichtig, es sind, glaube ich, die Taten an der Stelle wichtig, das heißt, wenn ich das Mikro mal nicht so richtig gut halte, dann ist das, glaube ich, nicht so wichtig wie das, was Sie sehen. Sie sollen noch einmal kurz sehen,
02:01:41
wir machen mal Layer einbinden und dann rödelte sich das auch jetzt übrigens ein bisschen langsamer durch die Datenbank durch und dann habe ich jetzt die Alkis-Layer da eingebunden
02:02:02
und Sie sehen, das sieht also so aus, wie Sie erwarten würden, dass das aussieht, mit den Symbolen und so was und das ist so, wie wir uns denken, dass man arbeiten können sollte, nämlich man hat die Alkis-Layer, man hat Alkis, man liest es ein mit einem grafischen Interface
02:02:21
und anschließend sagt man bitte die Layer hergeben und dann hat man die und das können Sie, das Plugin, das bekommen Sie, ich habe jetzt keinen Internetzugriff auf diesem Tablett, können Sie sich über die Erweiterung in Kugis einfach als Norgis Alkis Plugin einladen und das Plugin von dem Marvin Brandt ist auch, wenn Sie Alkis suchen, kriegen Sie zwei Stück
02:02:44
angezeichnet, wenn Sie die beiden installieren, haben Sie genau das, was Sie brauchen. Gut, also wer jetzt Lust auf PostNAS gekriegt hat und die PostNAS Suite, der kann auch heute hier auf der Forskissen Workshop besuchen, heute Nachmittag sind noch Plätze frei, da gehen wir das Ganze einfach mal durch und gehen das in der Praxis durch, sodass man das
02:03:05
sich mal genauer anschauen kann. Gut, dann war das zum Thema PostNAS. Gibt es noch Fragen dazu?
02:03:22
Ja, dankeschön, ich komme aus Bayern und bin ganz erstaunt, dass Hamburg die Alkis-Daten tatsächlich frei gibt. Habe ich das richtig verstanden? Nicht bloß Hamburg, sondern auch in NRW sind die mittlerweile frei. Also das ist der Zug der
02:03:45
Zeit wird sein, dass die Alkis-Daten im Laufe der nächsten zwei Jahre überall Open Data sind. Also nicht mit den Eigentümerdaten, aber genau. Es sind interessante zusätzliche Dinge im Laufen, zum Beispiel in Meck-Pomm. Da gibt es
02:04:05
eine Kooperation zwischen den OSM-Leuten und den Alkis-Leuten, um so eine Sache wie so eine 5000er-Karte sich zu überlegen. Also da bewegen sich Dinge, die man nicht für möglich gehalten hätte. Gibt es sonst noch Fragen?
02:04:24
Wie geht der Import mit Dubletten um, wenn Sie sagen, Sie haben jetzt zwei NRS-Files, das taucht das Flürstück zum Beispiel doppelt auf? Da würde ich gerne mit dem Mikro zu dem jungen Mann hier vorne, der hat das alles gemacht. Das gibt Fehler, normalerweise sollte sowas nicht vorkommen.