Mobile Karten erstellen mit OSM, OpenLayers und Overpass API
This is a modal window.
Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.
Formale Metadaten
Titel |
| |
Serientitel | ||
Anzahl der Teile | 31 | |
Autor | ||
Lizenz | CC-Namensnennung 3.0 Unported: Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen. | |
Identifikatoren | 10.5446/15844 (DOI) | |
Herausgeber | ||
Erscheinungsjahr | ||
Sprache |
Inhaltliche Metadaten
Fachgebiet | ||
Genre | ||
Abstract |
|
3
6
7
12
13
14
16
20
25
26
27
00:00
HTMLHTTPBrowserSkript <Programm>APIAutomat <Automatentheorie>EditorOperatorSmartphoneBrowserWeb-SeiteBetafunktionMAPPERMobiles EndgerätDatenbankWikiPunktUmsetzung <Informatik>FehlermeldungInformationObjekt <Kategorie>Mensch-Maschine-SchnittstelleJavaScriptMailing-ListeBenutzerführungLesen <Datenverarbeitung>Web SiteZahlTrägerNoten <Programm>Hausdorff-RaumPROMInternationalisierung <Programmierung>SuchmaschineiTunesVektor <Datentyp>Computeranimation
07:11
OperatorGrundraumDatennetzInferenz <Künstliche Intelligenz>MAPPERRandGrundraumRegulärer AusdruckDatenaufbereitungRechnenMechanismus-Design-TheorieOperatorAutomat <Automatentheorie>E-MailAbfragep-BlockGeometrieSpeicheradresseMengeSPARCZahlComputeranimation
14:22
GrundraumSkript <Programm>WikiHTTPHTMLAbfrageRichtungVolumenvisualisierungDienst <Informatik>GoogleKlasse <Mathematik>InformationsqualitätWikiMensch-Maschine-SchnittstelleSpielraum <Wahrscheinlichkeitstheorie>CodeSpeicheradresseGrundraumBenutzerfreundlichkeitAdressierungAktion <Informatik>RetrievalspracheRepository <Informatik>MAPPERBenutzerführungVorlesung/Konferenz
21:33
HTTPHTMLWeb-SeiteVersion <Informatik>SchnittmengeSpeicheradresseHumanoider RoboterPositionBetriebssystemBrowserEbeneFRAMEWORK <Programm>Internet ExplorerW3C-StandardOperatorGraphische BenutzeroberflächeAbfrageSchwellwertverfahrenFirefox <Programm>EditorNetscapeProviderOrdnung <Mathematik>Prozess <Physik>Objekt <Kategorie>TOUR <Programm>ART-NetzFunktion <Mathematik>iTunesCodeComputeranimationVorlesung/Konferenz
Transkript: Deutsch(automatisch erzeugt)
00:00
Ja, dann erst mal danke für die Gelegenheit zum Vortragen und ich werde jetzt sprechen im Wesentlichen über einen Nennen wir es mal ein Erprobungsträger. Ich würde noch nie so weit gehen, das ist Beta zu nennen. Im Sinne der Sache ist es eigentlich was ganz Banales und Praktisches mit einer Webseite, die ich unterwegs auf dem Telefon aufrufen kann und die mir die Post, die ich wirklich brauche, praktisch liefert.
00:22
Was in der Praxis passiert ist, wenn ich mit meiner Frau unterwegs bin, uns geht das Geld aus, wir sind irgendwo, dann wollen wir einen Geldautomaten finden, je nachdem wer dran ist mit Zahlen, entweder von der Sparkasse oder eben von der Sparerbank, wobei es aber eben die Schwierigkeiten gibt, sowohl bei der Sparkasse als auch mehr noch bei der Sparerbank. Da hängen ganz viele verschiedene Banken dran und wenn ich jetzt anfange zu suchen nach einer
00:45
Sparerbank oder BB Bank oder Santander Bank oder Tago Bank mit einer klassischen Suchmaschine, dann bin ich verloren. Ansonsten kriege ich aber einfach nur eine Liste von allen Geldautomaten und das löst dieses Tool, das ist nämlich das Tolle daran, wir sind ja flexibel, wir haben umfangreich getagged und wir können
01:00
auch anspruchsvoll suchen. Das Ding findet eben immer gleich ganze Bankenverbünde und findet dann eben einen Geldautomaten, an dem ich als Sparerbankkunde kostenlos abheben könnte oder einen Geldautomaten, an dem ich als Postbank oder deutsche Bankkunde kostenlos abheben könnte und natürlich auch als Sparkassenkunde. Ich selbst will es ja auch nutzen. So, das ist im Prinzip diese Seite LocateMe.
01:21
In Detail hat diese Seite ihre Tückengeolokalisierung auf dem Telefon im Browser. Es ist erstaunlich schwierig und zwar aus mehreren Gründen. Und eine der wichtigsten Gründe, weshalb es auch einer Probungsträger geblieben ist, ich habe keinen Weg gefunden, wenn man es so im Browser aufmacht. Wer es jetzt auf dem Mobilgerät aufmacht wird, feststellt, dass er wahrscheinlich eine Fehlermeldung kriegt wegen
01:42
der Datenschutzeinstellung. Standardmäßig sind die Dinge so konfiguriert, dass man als Website nicht an den Standort des Benutzers herankommt. Da müsste man im Prinzip für jedes Gerät eine längere Anleitung schreiben, wie das genau umzukonfigurieren ist und da kann man vergessen, dass das niemand benutzt. Es gibt noch ein paar andere Gründe. Wenn ich jetzt zum Beispiel mit dem Zug
02:00
irgendwo hinfahre, dann möchte ich gerne auch den Ort haben, an den ich hinfahre und dort die Karte haben und ich bin nicht so sehr interessiert daran, ob jetzt neben der Bahnstrecke ein Geldautomat ist. Und deswegen habe ich jetzt als Behelf eingeführt, dass man im Prinzip dem Ding einfach die den Ort in die URL schreiben kann. Das ist noch ein bisschen
02:22
experimentell, zum Beispiel wenn ich jetzt bei mir zuhause einen Geldautomaten suchen würde, könnte ich hier einfach hinterschreiben. Trost drauf. Geht im Prinzip auch mit Bonn und allem anderen. Das orientiert sich momentan noch an den Node mit der niedrigsten ID, die diesen Namen hat, weil die meisten Objekte ja mehrfach vorkommen. Das wird sicherlich noch durch das bessere zu ersetzen sein.
02:41
Aber gut, kommen wir erst mal zum groben Überblick. Das Ding ist eine einfache HTML-Seite. Das ist das Wichtige daran, denn ich würde mir wünschen, ich bin super schlecht in Benutzerführung. Das Ding ist neben dem Problem mit der Geolokalisierung, ist es alles andere als schön zu benutzen. Das stört mich nicht. Dafür bin ich zu sehr Techniker. Ich würde mich einfach freuen, wenn Leute, die ein bisschen mehr Erfahrung mit Benutzerschnittsteller haben, das Ding einfach nehmen und verbessern.
03:03
Hat zum Beispiel bei der Oberpass Turbo auch geklappt. Da gab es ein ganz öseliges Tool von mir und jetzt haben wir diese viel bessere Oberpass Turbo. Deswegen so ein bisschen die Hoffnung, dass auch das dann irgendwann mal zu etwas Benutzbarem mutiert, wenn das mal jemand in die Finger nimmt, der ein bisschen mehr Ahnung von Benutzerdesign hat. Das ist deswegen eine einfache HTML-Seite. Das JavaScript stellt uns freundlicherweise Open Layers zur Verfügung.
03:25
Die MapTiles kommen in dem Fall vom deutschen Stil, von tile-openscreen-map.de. Rettet mich jetzt, wie wir gesehen haben, speziell in diesem Vortrag. Und die Daten kommen von der Overpass API. So, was macht Open Layers? Open Layers kümmert sich eigentlich um fast alles. Es kümmert sich darum, dass die tiles zu sehen sind.
03:46
Es kümmert sich vor allem darum, dass die OSM-Daten direkt als vector overlays kommen. Das heißt, ich muss mich gar nicht um irgendwelche Konvertierungen zwischen OSM-Daten kümmern. Ich kann einfach das, was die Overpass API ausspuckt, einfach auf der Karte darstellen. Es hat eine ziemlich gut durchdachte Finger- und Mauser-Eigenes-Behandlung. Übrigens auch in
04:03
einigen Punkten besser als Leaflet, weshalb ich momentan wieder eher auf der Open Layers-Seite bin. Und es lässt sich smartphonefreundlich einstellen. Es hat ein bisschen gedauert. Das Ding hat ursprünglich etwas seltsame Anlösungen gehabt. Tatsächlich hat diese Zeile hier dazu gesorgt, dass sie viele Smartphones freundlicher zu dieser Webseite verhalten.
04:22
Im Wesentlichen, weil zu viele Smartphones dachten, wenn sie eine Webseite aufrufen, dass die für einen Desktop-Rechner optimiert wäre und deswegen die tiles in einer völlig irrsinnigen Auflösung angezeigt haben. So, kommen wir zu der Frage, was die Overpass API dabei macht. Gut, sie stellt die Daten zur Verfügung, ganz konkret. Wir sollten nie vergessen, es gibt hier zwar auch diese API, aber diese API ist
04:42
ausgerichtet auf die Editoren. Die sollte man als Daten-Endnutzer am besten gar nicht nutzen. Deswegen ist sie auch nicht so bequem anzufragen. Es gehört explizit zur OSM-Philosophie, dass man stattdessen den Planet und das letztlich Sache ist von den Daten-Konsumenten auf der ersten Ebene, die irgendwie für die endgültigen Daten-Nutzer zur Verfügung zu stellen.
05:05
Die Overpass API erlaubt es eben, hält nach, was in der Datenbank passiert und erlaubt es, die Daten aus der Datenbank, dann beliebige Extrakte aus der Datenbank herauszuziehen. Und zum Beispiel eben alle Geldautomaten der Deutschen Bank, Commerzbank und Postbank.
05:23
Und da kommen wir eigentlich zum eigentlichen Herzstück der Seite, wo auch im Prinzip beliebig, wo man sehr, sehr viel Herzblut reinstecken kann und was mal wieder das endlose Thema, wie techen wir richtig, betrifft. Nämlich, ich stelle mich auf den Standpunkt, es kann sehr viele Interpretationen geben und wir müssen einfach, wir als Daten-Konsumenten in diesem Fall,
05:41
weil nicht wir als Endnutzer, aber wir als diejenigen, die Tools schreiben, die Daten konsumieren, müssen einfach mit den vielen Möglichkeiten umgehen. Zum Beispiel das hier halte ich für völlig legitim, dass das hier als Node Amenity ATM getaggt ist. Das ist ein einzelner Geldautomat, der an der Hausecke steht. Das ist völlig berechtigterweise eine Node.
06:01
Während andersherum, es ist auch völlig berechtigt, dass ich bei einer Bankfiliale einfach nur dran schreibe ATM Yes, denn es ist in seinem Wesen nach eine Bankfiliale. Ich möchte auch nicht hier gehen und Kontoausdrucker mappen. Genauso kann ich mich immer auf den Standpunkt stellen, ich muss nicht jeden Geldautomaten einzeln mappen. Deswegen ist es vollkommen legitim, dass es hier zwei verschiedene Varianten gibt. Das sollte man nicht aus dem Auge verlieren.
06:20
Deswegen ist es unsere Aufgabe, wir können nicht von den Leuten einfach vorschreiben, ihr müsst jede Bankfiliale automatisch um einen Geldautomaten ergänzen. Das sagen die Leute uns zu Recht, die Mapper uns zu Recht mit. Wir haben besseres zu tun, als redundante Informationen einzuflegen. Deswegen ist es unsere Aufgabe, nach beiden gleichzeitig zu suchen. Und da gibt es noch mehr von.
06:40
Da gibt es eben die Frage, möchte ich, das schreibe ich das in den Name rein oder schreibe ich das in den Operator rein? Da gibt es auch richtige Kriege drum im Wiki und vor allen Dingen auch Leute, die den Finger drauf haben. Wir wollen aber das eine oder wir wollen das andere. Ich dachte ja eigentlich, dass es so einen Trend von Name zu Operator gibt, aber nach dem neuesten Lesen der Mailing-Listen gibt es momentan auch wieder einen Trend von Operator weg, aus irgendwelchen Gründen.
07:05
Interessiert mich nicht, interessiert den Durchschnittsmapper noch weniger. Nämlich, der Durchschnittsmapper sieht, da ist so ein Automat. Dann ist da drüber so eine rote Leuchtschriftsparkasse. Dann kann ich vollkommen zurecht von einem Line nicht mehr arbeiten erwarten, als dass er die Schlussfolgerung trägt.
07:21
Die Maschine da unten hat diesen großen roten Namen. Deswegen Amenity ATM und Namensparkasse. Deswegen ist es vollkommen legitim, so etwas zu finden. Gleiches gilt für den etwas engagierteren Mapper, der nachvollziehen kann, dass das mehr ein Operator als ein Name ist. Da ist es eben auch vollkommen legitim, wenn der Operator schreibt oder eben eins später.
07:41
Es wird die Leute geben, die sagen mit, okay es ist, wissen wir als Deutsche so. Im Prinzip, Sparkassen in irgendeiner Form gibt es überall. Und im Prinzip muss man nur auf die Stadtgrenzen schauen, dann weiß man, wie die Sparkasse konkret heißt. Deswegen ist es vollkommen legitim, wenn man schreibt, es ist eine Sparkasse. Welche konkret, wenn die Leute schon rauskriegen. Aber es ist eben auch legitim, wenn jemand sagt, mich interessiert, dass es die Sparkasse Münsterland Ost ist.
08:03
Dass er reinschreibt, Stadtsparkasse irgendwo. Also Münsterland Ost oder eben Kreissparkasse Köln oder was auch immer. Und deswegen ist es unsere Aufgabe flexibel zu suchen. Und siehe da, das geht. Wir suchen mit einem regulären Ausdruck nach Sparkasse mit kleinem oder großem S.
08:21
Und das deckt alle Varianten, die wir uns hier vorstellen können, ab. Und andererseits hilft uns da tatsächlich mal das ansonsten ja eher etwas unsägliche Markenrecht. Nämlich, wir werden nachher sehen, es gibt auch keine, man muss da auch nicht mit Fehltreffern rechnen. Die Fehltreffer sind so wenige, dass man sie von Hand reparieren kann. So, das ist wie gesagt die Erkenntnis. Alles kommt vor. Es ist unsere Aufgabe, darüber nachzudenken.
08:42
Also eine Suche zu formulieren. Vor allen Dingen das Gegenteil einer Suche zu formulieren. Das werden wir auch gleich nochmal tun. Und zu sehen, wie viele Treffer gibt es, die zweifelhaft sind. Und dann die Suche so lange zu verfeinern, bis es nur so wenig Zweifelsfälle übrig bleiben, dass wir sie von Hand bearbeiten können. Das heißt also, das wollen wir jetzt mal konkret anschauen.
09:03
Zum Beispiel ist es ein Problem, wenn wir sagen, wir nehmen einfach, wir akzeptieren alles als Geldautomat der Sparkasse, was entweder ein Name Sparkassetag oder ein Operator Sparkassetag hat. Da können wir zum Beispiel mal suchen. Gibt es Dinge, die Sparkasse heißen, aber überhaupt nicht ein Operator, aber einen Operator haben, der aber nicht die Sparkasse ist?
09:23
Weil es vielleicht ja eine dämliche Deutsche Bank Filiale gibt, die irgendwo in einer uns nicht bekannten Stadt in einer Sparkassenstraße liegt. Gibt es zum Glück nicht. Das können wir eben genau nachsuchen, indem wir einfach mal eine etwas komplexere Abfrage nehmen. Wir suchen nach Node-Amanity-ATM mit Name Sparkasse und mit einem Operator.
09:47
Das ist diese Zeit, also und mit, das Tech-Operator ist gesetzt. Und das Tech-Operator enthält aber nicht den Teilstring Sparkasse. Das sieht jetzt erstmal sehr kompliziert aus, aber man kann es im Prinzip fast mitlesen.
10:01
Wir suchen Nodes, die Geldautomaten sind, das findet man so im Wiki, die den Namen, die im Namen den Teilstring Sparkasse enthalten, mit großem oder kleinem S, die einen Operator-Tech gesetzt haben, wo das Operator-Tech aber nicht die Sparkasse ist. Dann stellt man fest, das sind nur sechs Treffer. Die kann man tatsächlich mal von Hand abarbeiten.
10:23
Und vor allen Dingen, die sind auch alle, die würde ich mir sogar zutrauen von Hand ohne Ortskenntnis zu reparieren. Hier im Saarland gibt es die Sparkasse einmal mit zwei A. Da es bestimmt keinen einzelnen Geldautomaten von einer einzelnen Sparkassenfiliale gibt, erlaube ich mal davon auszugehen, dass es einfach ein Tippfehler ist. Hier haben wir ja KSK Esslingen, glaube ich, drinstehen,
10:41
was mit Sicherheit eine Abkürzung für Kreissparkasse Esslingen ist, wenn der Name dieses Geldautomaten zugleich Kreissparkasse ist. Hier haben wir das Gleiche, hier steht glaube ich der Ortsname drin, ohne den Zusatz Sparkasse. Hier steht irgendwie der Ort drin, wo der Automat steht als Operator.
11:01
Das ist eigentlich der einzige Zweifelsfall hier. Hier haben wir einen Namen Sparkasse. Übrigens noch mal zum Loben für meinen vorherigen Regner. Die Ansicht stammt aus der Overpass Turbo, die sehr angenehm ist, um so etwas zu machen. Und hier haben wir den einzigen Zweifelsfall. Da steht nämlich drin Name Sparkasse und Operator Landesbank Berlin.
11:25
Ich weiß tatsächlich nicht, ob die Landesbank Berlin zum Sparkassenverband gehört. Deswegen würde ich mir nicht zutrauen, das umzutecken. Aber da kann man ja durchaus mal Berliner Mapper zufragen, ob das legitim wäre, das anzupassen. Das ist 6Not editieren, ist in einer Stunde gemacht, beziehungsweise schlimmstenfalls muss man mal eine E-Mail schreiben, um den Fall zu klären.
11:43
Das Wichtige ist, wir haben dann nicht nur unser Problem gelöst, dass wir eine funktionierende Suche haben, wenn wir dann nämlich nach Name oder Operator suchen, sondern wir haben auch die Daten verbessert. Denn das Problem hat anschließend auch niemand mehr. Jeder kann danach Geldautomaten der Sparkasse finden, indem er einfach sucht nach Geldautomaten,
12:02
die die Sparkasse im Namen oder Sparkasse im Operator haben. So, das ist das, was ich eben auch hier schreibe. Wir analysieren es, wir diskutieren es mit anderen Mappern, passen es an oder korrigieren am Ende die Woche. Und genau dieser Akt, dass wir eben durch den Begriff,
12:22
was ist ein Geldautomat der Sparkasse, zu klären. Durch diesen Prozess, das zu klären, schaffen wir eben auch Mehrwert. Und deswegen ist das eine ganz wichtige Sache, um da auch tatsächlich Energie reinzustecken. So, das führt dann zu einer fertigen Suche. Die sieht jetzt immer wieder viel schlimmer aus, als sie in Wirklichkeit ist.
12:40
Deswegen habe ich das mal so ein bisschen eingefärbt. Im Prinzip, hier vorne wiederholt sich, dieser ganze Block hier oben wiederholt sich, nur einmal für Nodes und einmal für Ways. Bei den Ways müssen wir noch die Geometrie sammeln mit diesem Operator hier, ohne auf die Details einzugehen. Und ansonsten wiederholt sich der Block. Deswegen habe ich das hier auch grün und weiß eingefärbt. Wir kombinieren einmal die Variante mit Amenity ATM,
13:05
also die Variante alleinstehender Geldautomat mit der Variante Bankfiliale. Und zum anderen kombinieren wir eben alle Fälle von Namessparkasse mit Operatorsparkasse. Und ja, es ist eine Menge Text, aber das tut dem Computer ja nicht weh. Das Netzwerk ist breitbeinig genug.
13:20
Wir können die Abfrage problemlos einmal hin und her schicken. Wir können auch mit Cut and Paste diese Abfrage ziemlich problemlos erstellen. Und wir haben damit das Problem nachhaltig gelöst, ohne dass wir irgendeinen Mapper beleidigen müssen, mit du hast aber die Bankfiliale als Geldautomat geteckt oder umgekehrt. Und haben ein funktionierendes Suchtool und haben auch noch die sechs Fälle,
13:41
die tatsächlich offenbar eine... diese sechs obskuren Fälle, die offenbar dann tatsächlich auch Fehler waren, auch noch nebenbei repariert. So, ähnliches mit dem Datenaufbereiten. Das ist ein Punkt, wo ich ganz gerne eigentlich fast schon das aufgreifen würde, was Martin jetzt gerade gesagt hatte, von wegen in MAP-CSS ein Popup zu realisieren. Das ist nämlich eigentlich der gleiche Mechanismus.
14:02
Ich möchte gerne, wenn ich darauf klicke, auf so einen Treffer, dann zeigt er mir an, in unserem konkreten Fall zumindest mal die Adresse. Das ist auch eine Adresse rauszukriegen aus einem... aus USM-Daten. Das ist ein erstaunlich komplizierter Prozess. Es kann sein, dass irgendwo addressful steht. Zum Beispiel jetzt hier in diesem fiktiven Beispiel.
14:20
Universum Ring 42 am Rande des Universums. Dann würde ich das auch so übernehmen wollen. Denn das Tech wurde eigens geschaffen für Fälle, in denen die Adressierung komplizierter ist als Straßenhausnummer. Es gibt den Fall, dass einfach ganz klassisch Straßenhausnummer steht. Dann können wir das auch einfach benutzen. Und es gibt den Fall, dass gar nichts sinnvoll drin steht. Dann können wir auch problemlos Nominatien benutzen,
14:41
denn es ist dafür da, es zu benutzen. Und insgesamt alles dreien. Das ist wieder das Wichtige. Und das ist das Wichtige, wo ich auch dazu ermuntern möchte. Es lässt sich problemlos Kapseln in einer einzigen Abfrage, get postal address, die sich darum kümmert, die ein USM-Element oder im Prinzip kann es eben auch GeoJSON sein,
15:03
entgegennimmt und auswertet, was sind für Text dran. Und daraufhin entscheidet, irgendeinen Text zurückzugeben, der dann eben am Ende Universum Ring 42 ist. Und der Code ist wiederum völlig unabhängig von diesem Projekt. Der ließ sich wieder problemlos teilen. Was ich wirklich auch anregen möchte, die Sachen zu teilen und extra jetzt diese Wiki-Seite angefangen habe,
15:24
wo man dann diese Dinge hoffentlich mal ablegen kann. Ich werde dieses Address-Script gleich da ablegen. Das heißt also, Fazit ist, zum einen, ich hoffe, dass sie aufgrund des Vortrags, die man jetzt auch mal diesen Erprobungsträger nimmt und einfach mal verbessert mit einem guten Benutzerinterface.
15:42
Vielleicht auch mal mit irgendeiner schönen Reaktion auf dieses Problem mit der Geolokalisierung. Denn eigentlich, ein Nutzen hängt davon ab, dass man such- und umfassend formuliert. Eben zum Beispiel jetzt bei den Geldautomaten sich mal Gedanken darum macht, was fasse ich da zusammen. Eben, welche Banken gehören zu dem Verbund namens Cash Group,
16:04
wo dann die Deutsche Bank zum Beispiel dazu gehört. Oder aber auch, was für Varianten gibt es bei der Sparkasse, das haben wir ja jetzt erschöpfend diskutiert. Und dann eben auch, wenn man die Zweifelsfälle, die dann übrig bleibt. Denn beim Formulieren der Suche arbeitet man sich immer runter. Man findet einen Haufen Treffer, von denen man es nicht weiß.
16:21
Dann entscheidet man, diese Klasse von Treffern gehört dazu. Diese Klasse von Treffern gehört nicht dazu. Und am Ende ist man eben bei einer sehr kurzen Liste, wie jetzt gerade mit den sechs Treffern, wo wir nicht sicher waren, sind das Sparkassen, sind das keine Sparkassen. Und eben auch diese Zweifelsfälle klären und fliegen. Das erhöht nämlich die Datenqualität. Das ist etwas, wovon OSM sehr stark profitieren würde. Und eben auch im Text aufbereiten.
16:41
Da würde ich eben auch hoffen, dass man da anfangen kann, den JavaScript Code, diese Schnipsel zu teilen, die auch im Prinzip sowohl mit Openlayers als auch mit Leaflet funktionieren oder funktionieren sollten. In der Hoffnung, dass wir da ein bisschen gegen den Renderer alleine anstehen können, wenn man sagt, es gibt genug Projekte, die das alle konsistent in einer gewissen Weise anzeigen,
17:01
dass es dann nämlich eben auch Mapper dazu animiert, es so zu mappen. Und eben diese Dinge sind ja dann relativ offen, weil sie dann zum einen im Wiki stehen. Gut, was noch nicht so viel hilft, aber zum anderen von vielen Projekten eingebunden werden. Wenn man davon ausgeht, dass jeder mal auf den Code draufschaut, wird es wahrscheinlich relativ stabil werden. Und für mich persönlich sind die Dinge bereits im Alltag nützlich,
17:22
aber ich bin auch schmerzfrei, was das Umgehen von technischen Restriktionen angeht. Wie gesagt, insofern ist da noch sehr viel Spielraum für eine bessere Benutzerschnittstelle. Zum Ausprobieren lade ich aber trotzdem herzlich ein. Und bedanke mich jetzt erstmal für die Aufmerksamkeit.
17:41
Danke, Roland. Du hast eine Frage. Ja, mehrere Fragen. Also, das erste, du meintest gerade, du würdest diesen LocateMe-Code ins Wiki hochladen? Der LocateMe-Code selbst ist im Rahmen vom Projekt auf GitHub sowieso. Ist es ein eigenes Repository oder ist es... Das ist in dem Overpass das Repository.
18:01
Also da wäre ein eigenes besser, dass man halt nicht die ganze Overpass-AP forken muss, wenn man was vorschlagen muss. Das ist richtig, ja. Genau, das wäre das erste dann. Du hast die Queries, die wir jetzt gezeigt haben, das war ja Overpass-QL, soweit ich das verstanden habe. Genau. Das, was wir vorhin bei Martin im Query-Fenster gesehen haben, das war dieses Overpass-XML. Ja. Und das sind beides im Prinzip Abfragesprachen für die Overpass-IPI.
18:23
Das ist richtig. Das Overpass-XML ist historisch älter. Wie immer habe ich versucht, ein bisschen auf die Benutzerreaktionen zu reagieren. Als ich die Overpass-QL versucht habe zu publizieren, kam einfach mehrfach von vielen Leuten unabhängig die Rückmeldung mit. Oh, das ist aber sperrig lang und hässlich.
18:41
Du meinst das ist die Overpass-XML? Genau, die XML. Daraufhin habe ich die Overpass-QL neu aufgesetzt. Aber wie das ist, verschwinden alte Dinge nie. Deswegen würde es wahrscheinlich auf alle Zeiten beide Sprachvarianten geben. Ich persönlich würde eher die QL benutzen, aber auch in Overpass-Turbo funktionieren beide Varianten, sowohl QL als auch XML.
19:01
Gibt es Bestäbungen, eine Overpass-QL 2.0 zu machen, die dann vielleicht nutzerfreundlicher ist oder so? Also, warum gibt es das Beispiel? Also erstens, bei der Benutzerfreundlichkeit ist noch viel Spielraum nach oben. Wie gesagt, ich bin technikerschmerzfrei und deswegen können wir in viel benutzerfreundlicher Sachen denkbar.
19:22
Aber ich bin jetzt an dem Punkt, wo ich sage, ich bin einfach alleine zu betriebsblind, um das weiterzuentwickeln. Wenn Leute auf mich zukommen mit konkreten Wünschen, das Ding nochmal neu aufzusetzen, bin ich dem durchaus aufgeschlossen. Aber dann muss da jemand, dann werde ich das maßgeblich unterstützen, aber das muss jemand wirklich so engagiert viel dafür und dahinter stehen,
19:40
dass ich nicht sozusagen, als ich gezwungen bin, mehr zu machen, als einfach nur Sachen dran zu flicken. Sonst würde ich nämlich genau das tun. Also, würdest du eher sagen, dass die Sprache einfacher werden muss oder eine GUI davon, die die Sprache generiert? Oder zum Beispiel gerade, dass ich jedes Mal Way und Notes, das alles doppeln muss, legt mich persönlich jetzt am meisten auf. Ja, ich denke mal, der Weg, der dazu gehen,
20:01
ist es eher das, was Martin vorhin auch schon hat durchblicken lassen. Dass man sagt, man findet irgendetwas, was an Martin gewünscht wurde, dass man sagt, man findet irgendeine Form von Presets, die übliche Fälle abdecken. Dann müsste man überlegen, wie man sowas sinnvoll teilen kann. Dass man sagt, man sagt zum Beispiel eben sowas, man hat irgendwo etwas stehen, ich sage mal ganz platt gesagt, man hat irgendwo auf der deutschsprachigen Sparkassenseite steht jetzt drauf,
20:22
Geldautomaten, also auf der deutschsprachigen Seite über Sparkassen im deutschen OpenStreetMapWiki steht drauf, Geldautomaten finden sie mit dieser Abfrage-Clutch. Das ist natürlich noch furchtbar unbequem, wenn man sie von Hand kopieren muss, aber im Prinzip ein Template-System mit oder ohne Wiki, was auf dem Stil funktioniert, dass man sagt, man hat ein Stichwort wie Geldautomaten der Sparkasse, da würde ich dann sagen,
20:41
ich möchte alle Geldautomaten der Sparkasse, was dann intern nachschaut, wie die zugehörige Query aussieht. Ich denke, das ist der Weg zu gehen, aber dass es eben viele Arbeiten nicht allein machen kann. So eine Art Community, die wir abfragen, vielleicht auf Basis von Opas Turbo, dass die Leute das teilen können. Genau, letztlich langfristig wäre es dann auch in einer anderen Sprache, weil wenn man sagt, man hat das einmal am Laufen in irgendeinem Stil,
21:01
dann wäre es sinnvoll, es soweit zu verallgemeinern, dass es möglichst viel abdeckt. Also dann würde ich wenigstens wieder zu MAP-CSS zurückwollen. Die Overpass QL orientiert sich eigentlich sehr eng an MAP-CSS, auch wenn es einfach, weil die beiden Dinge verschiedene Ziele haben, nicht hundert Prozent übereinander liegt. Die Hoffnung wäre sozusagen, wenn man einmal angefangen hat,
21:20
in die Richtung zu gehen, wenn man sagt, man hat sozusagen genug Interesse, dass man über Abfragen sprechen kann, dann kann man eben gucken, dass diese Sprachen wieder vereinheitlich sind. Man hat tatsächlich eine Formulierung, mit der ich sagen kann, Geldautomaten gibt es in diesen und diesen Varianten und das ist eine abschließende Liste. Das wird sicherlich nicht in QL sein, aber wie die Sprache aussieht, weiß ich nicht
21:40
und das hängt auch davon ab, wer letztendlich da mitmacht. Das ist fast schon ein eigenes Projekt. Das wird nicht wesentlich einfacher sein, es die Dinge zu metten. Anstatt sich, wie Jochen gestern schon gesagt hat, die Frage, ob man da eine Definition macht oder mehrere, aus meiner Sicht muss man es auch irgendwie abstrahieren, also dass nicht immer die Tools entscheiden,
22:00
welche verschiedenen Art und Weise es jetzt gibt, sondern dass man das halt auch irgendwo dokumentiert. Das ist richtig. Man sollte bedenken, das Problem ist, wir reden seit Jahren über genau diesen Prozessen, es wäre schön, das zu haben, macht das keiner. Deswegen sage ich jetzt mit, ich gehe mit dem Tool vor, wir fangen mit einer vollkommen unperfekten Lösung an, die aber immerhin diese Dinger malen kann und dann kann man sich mal vorarbeiten,
22:20
wenn die Leute sehen, dass es nützlich ist, dass es gehen kann, dann kann man immer noch mit einer grundlegenden neuen Version starten und das einfach mal auf ein solideres Fundament stellen oder auf eine breitere Community-Basis. Hast du die sechs Sparkassen geändert?
22:44
Nein. Aus pädagogischen Gründen für den Vortrag. Hättest du Angst vor Frederik? Wieso sollte ich Angst vor Frederik haben? Es fällt für mich schon irgendwie, ich könnte mir vorstellen, dass das Diskussionen nach sich zieht
23:00
in Bezug auf automatisiertes Ändern, keine Lokalkennnisse und so weiter. Wir dividieren da mal zwei Sachen auseinander, wir sprechen über automatisches Finden. Oh, Frederik steht auf. Also normalerweise schimpfen wir dann,
23:22
wenn die Leute Dinge automatisiert, also der Threshold ist da, wo Leute Dinge tun, ohne das einzelne Objekt wirklich anzuschauen. Wir verlangen ja nicht, dass die Leute wirklich jetzt sich in Zug setzen und dahin fahren, aber wenigstens im Editor,
23:41
so wie Roland das beschrieben hat, ich kann die schon automatisiert suchen, die Dinge, und dann gucke ich mir das an und dann schaue ich, aha, das ist in meinem Ort, der heißt so und so, und das ist in einem Gebäude, ich schaue mir das im Editor an, das reicht schon, ein Mensch guckt drauf und fällt eine Entscheidung, das ist dann völlig in Ordnung, niemand sagt, dass man dahin fahren muss. Probleme gibt es immer dann,
24:01
wenn Leute so etwas skriptgesteuert machen, also wenn der Roland jetzt hingehen würde und würde sagen, naja, ich habe hier 58 gefunden, die passen nicht in mein Schema, und weil ich davon ausgehe, dass der Operator bei allen von denen Sparkasse sein muss, weil die heißen ja schon Sparkasse, und dann mache ich einen Skript, das einfach sagt Set Operator gleich Sparkasse,
24:22
where Name contains Sparkasse, und zack, dann update ich die. Das ist halt das, was wir nicht wollen, weil wir dann davon ausgehen, so wie Jochen sagte neulich mit diesen McDonalds-Dings da, dann gehen wir davon aus, dass es eben doch vielleicht Fälle gibt, wo dann irgendwas durch die Ritzen fällt, so wie Roland sagte, da ist eine deutsche Bankfiliale in der Sparkassenstraße,
24:41
oder irgendwie komische Sachen, mit denen man nicht gerechnet hat. Aber wenn ein Mensch auf die einzelne Situation guckt und die bewertet, dann ist das völlig okay. Nicht okay ist halt bloß, wenn man mit dem großen Rechen drüber geht und sagt, so, jetzt wird das hier mal alles gleich gemacht. Danke, Frederik.
25:00
Weitere Fragen, Anmerkungen? Ich beziehe mich jetzt auf diese, finde meine Position auf der Karte automatisch im Browser.
25:22
Kann das Openlayer in der Zwischenzeit von selbst, oder hast du da noch kurz dazuschreiben müssen? Das ist mittlerweile ein Schlag-micht-tot-Standard von, ich weiß nicht, irgendeine Variante von W3C-Standard. Ich kenne den Standard, aber die Frage war, ob das Openlayers von sich aus kann,
25:40
oder wie zum Beispiel in dem anderen Framework das Namen mir nicht einfällt, das Neue ist aber nicht so viel kann. Es ist nicht verboten, Liefeld zu sagen. Ich habe da auch keine Berührungsexen mit, ich arbeite mit beiden, aber der Punkt ist, der Standard ist da sehr explizit. Die ganze Abfrage dauert gemäß dem Standard fünf Zeilen.
26:02
Und da sehe ich jetzt Druck, dass man sozusagen in Openlayers, Liefeld oder wem auch immer eine Wrapper-Funktion schreiben muss, die fünf Zeilen verkapselt. Der Sinn dieser Funktion ist ja, oder der Sinn solcher Bibliotheken ist ja, es gibt 20 Varianten von 55 Browsern,
26:21
dass ich die zusammenfasse, abstrahiere zu einer Zeile, das ist da aber nicht gegeben, weil das ist tatsächlich mal ein Standard, der einfach auch umgesetzt wird, der mindestens in Firefox und Chrome und dem neuesten Internet Explorer funktioniert. Also meine Erfahrung sowohl unter Android als auch noch unter iOS ist, dass da kommt dann für die Webseite einmal eine Frage
26:42
vom Browser, darf diese Webseite die Adresse haben, ja oder nein, beziehungsweise allow oder verbinden, oder was auch immer da kommt, und dann funktioniert das, also nicht dieses unterschiedliche Verhalten oder so, was du vorhin bestimmen hast, kann ich jetzt so nicht nachvollziehen. Also was auf meinem Telefon passiert ist,
27:01
und auch auf zwei Verleihen. Was hast du auf dem Telefon? Ich hab ein ganz altes, also ein Android 2.1. Ah ok, ja, ich beziehe mich nur auf aktuelle Betriebssysteme. Da ist es so, dass wenn man drauf klippt, kommt eine Meldung mit, ich weiß nicht, user provided no location oder sowas Ähnliches, und zwar es gibt auch keine Möglichkeiten, also der Browser fragt zwar an, aber
27:22
sozusagen es gibt keine Möglichkeiten, in die Einstellungen geführt zu werden, wo ich erstens zulassen muss, dass der GPS, dass überhaupt auf den GPS-Dings zugegriffen wird, kann natürlich sein, dass man das standardmäßig anhat, viele Leute haben es standardmäßig nicht an. Und zulassen muss, dass der Browser das Ergebnis der Ortsbestimmung kennen darf, das sind unter Android 2.1 zwei verschiedene Einstellungen,
27:42
es sind mindestens unter einer neueren Android-Version, und zwar da war das 2, 3, 2, 3x, weiß ich nicht, das Gerät war ein Sony Xperia, da war es auch so, dass es immer noch zwei verschiedene Einstellungen waren, und das ist eben eine lange Aufgabe, wenn ich dem Benutzer sagen muss, du musst jetzt in das Menü bla gehen, drei Ebenen tief, das umschalten, und in das andere Menü gehen,
28:02
bla, drei Ebenen tief, und das umschalten. Also alles, was Android 2 hat, wird demnächst eh aussterben, auch da würde ich gar nicht mehr so drauf schauen. Ok, also einfach zurückmelden, kauf dir ein neues Telefon, oder? Ok, hat noch jemand
28:21
eine Frage oder Anmerkung an Roland? Dann könnten wir nochmal vielen Dank Roland für den Vortrag. Wir haben jetzt 30 Minuten Kaffeepause, Zeit um vielleicht