Landshut Projekte
Allgemeines | Stammtisch | Erfassungsstatus | Mapping-Regeln | Projekte | Projektdetails | Tipps | Interessante Links | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2023-07-25 Landshuter Hochzeit (LaHo) - Parkplätze in der Neustadt temporär ausschaltenDieses Jahr gabs nach 6 Jahren (wegen Corona) wieder eine LaHo, und damit auch die Anfrage der Stadt, die Parkplätze in der Neustadt unsichtbar zu machen. Vorgehensweise: JOSM - Neustadt großzügig herunterladen, Standard OSM Karte als Hintergrund. Dann sieht man die markierten Parkflächen, an denen sich auch die Besucher orientieren. Die Attribute wie amenity=parking amenity=byclicle_parking etc... Umbenannt in: amenity=laho_no_parking amenity=laho_no_byclice_parking Zum Rückgängig machen habe ich https://overpass-turbo.eu verwendet mit folgendem Script: node [amenity~".*laho.*"] ({{bbox}}); out; area [amenity~".*laho.*"] ({{bbox}}); (._;>;); out;
Man könnte natürlich die Parkplätze noch mit einem zusätzlichen Tag versehen, das für den Renderer uninteressant ist um das nicht per Auge raussuchen zu müssen. Vom Gernot kam ausserdem der Vorschlag, ein note-Tag für diese Zeit mit anzuhängen. --Alex 2016-05-25 Browsing OSMNach langer bastelei will ich (--F6F) meinen ersten wurf hier präsentieren. Sicher ist vieles noch nicht fertig und verbesserungswürdig aber fürs erste schon ganz "nett". Bei meinem Projekt (http://open-landshut.de/) ging es mir darum die Daten welche in OSM hinterlegt sind eine Suchmaschine oder einem Menschen in Textform zugänglich zu machen. So werden zum Beispiel Öffnungszeiten welche für Geschäfte in OSM hinterlegt sind mit Google findbar. Sie werden von mir auf einer Einfachen Seite dargestellt was auf vielen webseiten von Geschäften oft nicht sind. Zum Beispiel hier: http://open-landshut.de/osm/en/detail/node/286639782/ Nach Geschäften und einrichtugen kann man entweder nach Ort http://open-landshut.de/osm/en/place/ oder über die Postleitzahl suchen http://open-landshut.de/osm/en/postalCode/ Wer in den Urls das en druch ein de ersetzt kann meine verusche Osm ein wenig Deutsch beizubringen betrachten. zb: http://open-landshut.de/osm/de/place/Altdorf/ In machen fällen ist es kompliziert die komplette adresse zu kommen. Während 286639782 alle daten hinterlegt hat. Felehen zb hier http://www.openstreetmap.org/way/142034442 postleitzahl und Ort. Welche aber über ein paar abfragen in der PostGis datenbank ergänzt werden können siehe: http://open-landshut.de/osm/en/detail/way/142034442/ Leider sind diese art von Abfragen etwas langsam weswegen einmal ermittelte Werte für einige Zeit vorgehalten werden. Dafür bietet sich memcached an. Soweit für ein Geschäft Bilder in osm hinterlegt sind werden auch diese auf der Geschäftsseite angezeigt. Zb: für das Haus International: http://open-landshut.de/osm/en/detail/node/2310125076/ oder bei Blumen Brunner: http://open-landshut.de/osm/en/detail/way/216882625/ Thumbnails werden nur gezeigt wenn ich die Bilder auch selbst hoste. Kommen die Bilder von einer anderen Quelle werden nur links darauf angezeigt. Eventuell bietet mir der nächste Stammtisch eine Gelegenheit zu zeigen was schon alles geht und neue Anregungen und Ideen zu Sammeln. 2016-01-20 oneway=noIch (--Blutsauger) habe auf der bayerischen Mailingliste eine Diskussion um die Verwendung von oneway=no losgetreten: https://lists.openstreetmap.de/pipermail/bayern/2016-January/001157.html Zur Verwendung von oneway=* siehe im englischen Wiki https://wiki.openstreetmap.org/wiki/Key:oneway und im deutschen Wiki https://wiki.openstreetmap.org/wiki/DE:Key:oneway Zusammenfassung des mail-Threads (bitte dort die einzelnen Links zu verwandten Themen raussuchen, das sind nur eine Handvoll Beiträge):
Mit dieser Overpass-Abfrage könnt ihr euch in München alle oneway=no getagten Wege anzeigen lassen und ein Bild machen. 2015-12-08 POIs aktuell haltenGerade im Bereich der Innenstadt gibt es viele Einrichtungen (v.a. Geschäfte), die nicht von langer Lebensdauer sind. Auch ist es viel einfacher, etwas neu Entdecktes einzutragen als Überflüssiges zu löschen. Es wird nach einer Methode gesucht, diesen Prozess der Qualitätssicherung zu vereinfachen und auf ein machbares Maß Arbeit zu reduzieren. (von --Blutsauger (talk) 09:34, 16 December 2015 (UTC)) Die Erfahrung bei der Hausnummern-Erfassung (in Landshut wie in Passau) zeigt, dass ein Volumen von mehreren tausend Datensätzen durchaus mit weniger als 5 Personen zu bewerkstelligen ist. Wichtig ist, dass die Aufgabe aufteilbar ist und die Transaktionen möglichst zeitnah mit einer Auswertung der OSM-Daten (Ist/Soll-Vergleich) einhergehen. WorkflowGesucht ist eine Liste von POIs im Stadtgebiet Landshut. Hat man sich der Aktualität eines POIs versichert, erhält dieser einen Tag Update 2016-01-28: check_date=* wurde von user 'Lübeck' in den Anmerkungen dieser Seite vorgeschlagen. Sehr lesenswerter Artikel, der auch die diversen Probleme dieses Ansatzes etwas beleuchtet. Ich habe derzeit die Auswertung so eingestellt, dass sowohl check_date, also auch lastcheck erkannt werden, beim Eintragen eines Wertes aber check_date verwendet wird. WerkzeugIch habe die Skripte auf einer Fedora Core 6 Distribution von gefühlt 2005 am laufen. Es gibt Skripte für bash und Overpass, ein wenig HTML zur Seitengestaltung ist mit dabei. Wer den vollen Funktionsumfang genießen will, setzt sich selber einen Web-Server auf. VorschauUm zu erahnen, was das Ziel dieser Arbeit ist, vorab ein paar Screenshots: Tabellarische Auswertung des Tags Darstellung der POIs auf einer OpenLayer-Karte. Die nach 'check_date' farblich sortierten Links verweisen wieder nach JOSM. Bis ein Edit von JOSM über den OSM Server wieder in der Auswertung landet, vergehen nur wenige Minuten. Deshalb eignet sich diese Methode insbesondere für das Online-Mapping mit bestehender Internetverbindung. Verlinkung nach JOSM. Es wird automatisch ein Vorschlag für das Tag 'check_date' angelegt. Das Hochladen zum OSM Server erfolgt wie gewohnt bei JOSM als Transaktion, in der auch mehrere Änderungen zusammengefasst werden können. Community Effekt - ?Dieses Experiment wurde in Landshut im Dezember 2015 gestartet, im Rahmen des lokalen Stammtischkreises. Die 'Aufgabe' bestand darin, ca 2000 POIs (alle amenities, shops, craft, tourism usw.) durchzugehen und entweder mit 'ja, gesehen' updaten, oder löschen. Ggf. Namen, TelNr. etc. korrigieren. Der Vorteil an Landshut ist, dass es innerhalb des Stadt-Polygons bisher keine check_date, last_check oder ähnliches gab. In dem gesteckten Zeitraum sind alle check_date's wohl auf diese Aktion zurürckzuführen. Bei einem Fehlschlag des Experiments fühlt sich keiner auf den Schlipps getreten, wenn alle check_date's wieder gelöscht werden. Aktiv mitgemacht haben ca. 5 Personen. Erwartungsgemäß wurden POIs in der Innenstadt als erstes aktualisiert. Die Neugierde und Aktivität der meisten hielt aber nur kurz an, bzw. war der 'Offline-Fundus' schnell erschöpft. Freunde fragen, die nicht bei OSM sind hilft: Welche Kneipen sie in den letzten Wochen besucht haben, ob der Parkplatz an der Uni noch so existiert. Oder andere OSM'ler anschreiben, die in letzter Zeit editiert haben und gerade einen Flecken in der Stadt gut in Erinnerung haben. Die Auswahl der POIs läßt sicher noch Wünsche offen, so tragen z.B. hunderte von Parkbänken zur Statistik bei. Deren Aktualität hat keine große Bedeutung. Andererseits jedoch werden ja auch Jägerstände gemapped, die von Haus aus dem Verfall gewidment sind. Es wäre also 'effektiver', sich um Jägerstände zu kümmern, die älter als 1 Jahr sind, und um Parkbänke erst, wenn sie älter als 10 Jahre sind, usw. Das lässt die derzeitige Auswertung noch nicht zu. Die Auswertung der Änderungen läßt noch jede Menge Rückschlüsse zu, z.B. wieviele POIs wurden gelöscht, Namen geändert, die Position verschoben, etc.Das ist aber noch nicht programmiert... Dann gab es Anfragen, ob man die Abfrage nicht auf Tags wie 'check_date:opening_hours', 'check_date:phone' etc. erweitern könnte. Das wäre sicherlich möglich. Allerdings mag dadurch das Tool durch spezial-Mapper, die beispielsweise nur Leerungszeiten aktualisieren, 'verwässert' werden. Es geht hier eben primär um die reine Existenz eines POIs. Nach zwei Monaten sind 70% der 2000 POIs aktualisiert. Das ist insbesondere einem einzigen Mapper zu verdanken, der einen Löwenanteil davon aktualisiert hat. Auch wenn diese bemerkenswerte Leistung vielleicht nicht mit höchster Präzision erfolgte, ist es doch ein wichtiger Schritt und motoviert andere, mit zu machen. (Ab hier nur Programmierungs-Zeug) DatenaufbereitungStatt wie bei den Hausnummern die OSM-Daten komplett herunterzuladen und auf der lokalen SQL-Datenbank zu arbeiten, habe ich mich diesmal für einen Ansatz mit der Overpass-API entschieden. Die einzelnen Vorteile werden im Folgenden noch weiter erläutert. Um eine einfache HelloWorld!-Abfrage zu generieren, verwendet man am besten den Assistenten von Overpass Turbo. Der generiert dann ein Beispiel 'Zeige alle Theater in Wien'. Auf der Overpass-Turbo-Seite sieht man dann die Ergebnisse auf der Karte mit Info-Blasen markiert. 'Overpass Turbo' ist ein einfach zu bedienendes Web-Frontend für die Overpass-API. Diese wiederum bietet eine auf OSM Bedürfnisse zurechtgeschnittene Programmiersprache. Für die Overpass API gibt es auch fertige Bindings für perl oder python, ich versuche mich mit reinem Shell-Skript. Weil die Overpass Syntax schon recht gewöhnungsbedürftig ist und es meiner Meinung nach noch zu wenig Dokumentation gibt, kommt jetzt die detaillierte Verwandlung von HelloWorld! nach 'Hello POIs'. 'theater in wien'Gibt man in den Assistenten von Overpass Turbo diesen Suchbegriff ein, wird folgendes Skript generiert: /* This has been generated by the overpass-turbo wizard. The original search was: “theater in wien” */ [out:json][timeout:25]; // fetch area “wien” to search in {{geocodeArea:wien}}->.searchArea; // gather results ( // query part for: “theater” node["amenity"="cinema"](area.searchArea); way["amenity"="cinema"](area.searchArea); relation["amenity"="cinema"](area.searchArea); ); // print results out body; >; out skel qt; Das Ergebnis kann man sich dann auf der Karte ansehen oder die Rohdaten anzeigen lassen. Beides soll genutzt werden, und zwar automatisiert, deshalb erstmal ein wenig Overpass API SyntaxUns interessiert zuerst die Zeile Die geschweiften Klammern sind eine Overpass-Turbo Spezialität und werden beim Ausführen der Anfrage in einen Zahlenwert umgerechnet, mit dem die Overpass-API etwas anfangen kann. Sichtbar wird das, wenn man sich das Skript in der XML-Darstellung anzeigen läßt. Das geht über die Funktion Exportieren->Abfrage->Nach XML konvertieren: <osm-script output="json" timeout="25"> <id-query into="searchArea" ref="3600109166" type="area"/> <union into="_"> <query into="_" type="node"> <has-kv k="amenity" modv="" v="cinema"/> <area-query from="searchArea" into="_" ref=""/> </query> <query into="_" type="way"> <has-kv k="amenity" modv="" v="cinema"/> <area-query from="searchArea" into="_" ref=""/> </query> <query into="_" type="relation"> <has-kv k="amenity" modv="" v="cinema"/> <area-query from="searchArea" into="_" ref=""/> </query> </union> <print e="" from="_" geometry="skeleton" limit="" mode="body" n="" order="id" s="" w=""/> <recurse from="_" into="_" type="down"/> <print e="" from="_" geometry="skeleton" limit="" mode="skeleton" n="" order="quadtile" s="" w=""/> </osm-script> Wie man sieht, ist aus 'wien' jetzt 3600109166 geworden. Woher man diese Information bekommt, weiss ich noch nicht. Mir reicht erstmal die Id einer einzelnen Stadt. Die Overpass-Abfrage muss jetzt so umgebaut werden, dass statt der Angabe des Stadtnamens diese Id drinsteht. Das sieht dann so aus: area(3600109166)->.searchArea; Damit hat man eine reine Overpass-Abfrage (ohne Turbo-Spezialitäten). Die drei Queries erklären sich selbst, es gibt drei Tabellen, die 'gejoined' werden: node["amenity"="cinema"](area.searchArea); way["amenity"="cinema"](area.searchArea); relation["amenity"="cinema"](area.searchArea); Nützlich für die Aufgabe der POIs ist es beispielsweise, ALLE amenities zu finden, BIS AUF 'place_of_worship': way["amenity"]["amenity"!="place_of_worship"](area.searchArea); Der Ausgabeteil ist ebenfalls nicht zu übersehen: out body; >; out skel qt;
Die unscheinbare Operation Jetzt fehlt noch die Erklärung der ersten Zeile: [out:json][timeout:25]; Das legt das Ausgabeformat fest. Man sieht das, wenn man im Overpass Turbo rechts oben an der Karte auf die Datenansicht wechselt. Zur leichteren Verarbeitung möchte ich das aber auf .csv-Format umstellen: [out:csv(::id,lastcheck,"amenity","shop",tourism,name, "addr:street","addr:housenumber",::type,::lat,::lon,::user;true)]; Die Datenfelder können ohne "..." auskommen, wenn keine Sonderzeichen enthalten sind. Die Felder ::id, ::lat, ::lon usw. sind die Meta-Felder (die kriegen wir nur durch die Angabe Das fertige Beispiel der POI-Suche sieht jetzt so aus: [out:csv(::id,lastcheck,"amenity","shop",tourism,name,"addr:street","addr:housenumber",::type,::lat,::lon,::user;true)]; area(2663882467)->.searchArea; ( node["amenity"](area.searchArea); way["amenity"]["amenity"!="place_of_worship"](area.searchArea); node["shop"](area.searchArea); way["shop"](area.searchArea); node["tourism"](area.searchArea); way["tourism"](area.searchArea); ); out meta center; DatenaufbereitungSo, das query-Skript könnte man jetzt auf der OverpassTurbo Seite hinterlegen und abfragen. Schöner ist es aber, das Skript selber zu haben und es der API zu übergeben. Das Ergebnis im CSV-Format soll zurückgegeben werden. Dafür kann das Kommando wget eine Datei als 'Attachment' (in Form eines POST-Requests) an den Server übertragen: wget -O target.csv --post-file=query.ql "http://overpass-api.de/api/interpreter" target.csv sieht jetzt so aus: @id lastcheck amenity shop tourism name addr:street addr:housenumber ..... 130053572 recycling 158262198 bank Raiffeisenbank Flurstraße 7d Wie man daraus jetzt eine HTML-Tabelle generiert erkläre ich nicht im Detail. Lediglich folgende Gimmicks möchte ich zeigen: JOSM fernsteuernJOSM hat einen Mini-Webserver, der per HTTP-Request Kommandos entgegennimmt. Diese Funktion nennt sich 'remote control' und muss in JOSM erst noch in den Settings eingeschaltet werden. Um so eine Aktion anzustossen, erzeugt man sich eine HTML-Datei mit in etwa folgendem Link: <a href=http://localhost:8111/load_and_zoom?left=12.1570168&right=12.1590168& top=48.5335125&bottom=48.5315125&select=node1596462481> Die Koordinaten bekommt man aus der CSV-Datei, ich dehne die Koordinaten eines Punktes dann jeweils um den Wert 0.001 nach links/rechts/oben/unten. Mit dem 'select' Argument selektiert JOSM das angegebene Objekt, das 'node', 'way' oder 'relation' vorneweg hat. Diese Namen erhält man von Overpass durch das Meta-Feld ::type. Man kann der URL auch noch ein &addtags=lastcheck=2015-12-09 dazugeben, das löst das Hinzufügen eines key/value Paars aus (mit vorheriger Abfrage). Achtung: URL-encoden (Sonderzeichen umwandeln). Im Fall meiner POI Auswertung habe ich mich entschieden, das Tag 'lastcheck' zu verwenden. Es wurde schon des öfteren darüber in diesem Zusammenhand diskutiert, ein Proposal dazu gibt es aber wohl nicht. Dieses lastcheck wird dann auch zum Sortieren der Liste verwendet. OverpassTurbo fernsteuernEine Möglichkeit der grafischen Anzeige der Ergebnismenge wurde ja anfangs gezeigt. Der Nachteil besteht darin, dass die Abfrage manuell erfolgen muss, entweder durch Laden einer bei OverpassTurbo hinterlegten Abfrage oder durch Copy&Paste ins Edit-Fenster. Es gibt aber auch die Möglichkeit, die komplette Abfrage als Teil der URL mitzugeben - auch wenn sich die dann über mehrere Zeilen zieht. Auch hier kann man wieder einen Hyperlink in einer HTML-Datei verwenden, um durch Anklicken die grafische Anzeige auf der Turbo Seite zu erhalten: <a href=http://overpass-turbo.eu/?Q=... > Nach dem http://overpass-turbo.eu/?Q=node%5B%22amenity%22%3D%22drinking_water%22%5D(%7B%7Bbbox%7D%7D)%3B%0Aout%3B Zum URL-encoden habe ich folgenden recht simplen (aber sehr unperfekten) Ansatz im Netz gefunden: echo 'Meine Ausgabe!'| perl -p -e 's/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg' Und noch ein Beispiel aus meiner Experimentierkiste: <a href=http://overpass-turbo.eu?Q=%2F%2F%20zwei%20Kommentare%20%20und%20%2F%2F2%2C%20die%20jeweils%20per%20sed%0A%2F%2F%20ein%2Fausgeschaltet%20werden%2C%20je%20nachdem%2C%20welches%20Ausgabeformat%20gewuenscht%20ist%2E%0A%0A%20%5Bout%3Ajson%5D%5Btimeout%3A25%5D%3B%20%0A%0A%2F%2F%20http%3A%2F%2Fwiki%2Eopenstreetmap%2Eorg%2Fwiki%2FOverpass%5FAPI%2FOverpass%5FQL%23Output%5FFormat%5F%2E28out%2E29%0A%0A%2F%2F2%20%5Bout%3Acsv%28%3A%3Aid%2Clastcheck%2C%22amenity%22%2C%22shop%22%2Ctourism%2Cname%2C%0A%2F%2F2%20%20%20%20%20%20%20%20%20%20%22addr%3Astreet%22%2C%22addr%3Ahousenumber%22%2C%3A%3Atype%2C%3A%3Alat%2C%3A%3Alon%2C%3A%3Auser%2Cnote%3Btrue%29%5D%3B%0A%0A%2F%2F%20fetch%20area%20%E2%80%9Clandshut%E2%80%9D%20to%20search%20in%0Aarea%282663882467%29%2D%3E%2EsearchArea%3B%0A%2F%2F%20area%283600062629%29%2D%3E%2EsearchArea%3B%0A%2F%2F%20%7B%7BgeocodeArea%3APassau%7D%7D%2D%3E%2EsearchArea%3B%0A%0A%0A%28%0A%20%20node%5B%22amenity%22%5D%28area%2EsearchArea%29%3B%0A%20%20way%5B%22amenity%22%5D%5B%22amenity%22%21%3D%22place%5Fof%5Fworship%22%5D%28area%2EsearchArea%29%3B%0A%20%20node%5B%22shop%22%5D%28area%2EsearchArea%29%3B%0A%20%20way%5B%22shop%22%5D%28area%2EsearchArea%29%3B%0A%20%20node%5B%22tourism%22%5D%28area%2EsearchArea%29%3B%0A%20%20way%5B%22tourism%22%5D%28area%2EsearchArea%29%3B%0A%29%3B%0A%2F%2F%20print%20results%0A%2F%2F%20%27center%27%20statt%20%27body%27%20gibt%20auch%20ways%20Koordinaten%0Aout%20meta%20center%3B%0A%2F%2F%20%27recurse%20down%27%2C%20brauchen%20wir%20eigentlich%20nicht%2C%20da%20werden%20die%20Nodes%0A%2F%2F%20der%20Wege%20nochmal%20einzeln%20aufgelistet%2E%0A%2F%2F%20%3E%3B%0A%2F%2F%20out%20skel%20qt%3B%0A> 2015-10-25 Überprüfung und ergänzung der RadwegeÜberprüfung und ergänzung der Radwege in OSM mittels daten der Stadt Landshut Gernot hat Daten der Stadt Landshut erhalten die zeigen wo sich im Stadtgebiet Radwege finden. Die Wege sind in 3 Gruppen unterliedert.
Die Inforamtionen liegen als GPX tracks vor die entlang der straße führen. Wegen den vielfältigen tags für Radwege und der etwas ungenauen Straßenzuordnung fällt ein automatischer oder ein Teilautomatischer import aus. WorkflowUm die wege einfach mit den Daten aus osm ablgeichen zu können ist es nötig die Daten
Zwar lassen sich gpx tracks gut eifärben was es einfach macht die importierten Datan vom rest zu unterscheiden jedoch lassen sich diese Layer schwer bis gar nicht editieren. Eine konvertierung zu OSM pfaden machte die Daten editierbar aber das einfärben fast unmöglich. Auch das definieren eines eigenen karten stiels war nicht erfolgreich da dieser immer nur auf die jeweils aktive osm ebene angewendet wird. Als nächstes versuchte ich die gpx tracks der Radwege mittels cspilt zu teilen. Somit ensteht eine nummerierte liste aller Radwege die einfach abgearbeitet werden kann. Radwege können dadurch auch einfach auf verschiedene Bearbeiter verteilt werden.
den Weg schnippsel feht dann jedoch der GPX header und footer. Welchen man einfach mit einer for schleife und echo anhängen kann.
Header:
Footer:
Details: Liste der Radwege 2014-11-27 Drohnen-mapping
2014-07-15 FKK Badesee Tagging und seine FolgenFolgende lustige Geschichte hatte Gernot pünktlick zum Niederbayern-Stammtisch zu berichten: Vor drei Wochen oder so hat mich die Stadt Landshut wegen einer etwas ungewöhnlichen Beschwerde angerufen. Bekanntlich nutzt die Stadt ja einen auf OSM basierenden Stadtplan auf ihrer Homepage. Und angeblich hatten radikale Nacktbader unter Berufung auf unseren Plan einen privaten Fischweiher unsicher gemacht. Was war passiert? So ziemlich jeder in Landshut kennt den Badesee Gretlmühle ([1]) - und die meisten wissen wohl auch, dass es einen See weiter nördlich die Nacktbader gibt (natürlich nur vom Hörensagen :) ). Dementsprechend war der See nördlich auch bei OSM als FKK-See getaggt und ich habe mir nichts weiter dabei gedacht. [1] http://www.openstreetmap.org/#map=16/48.5763/12.2257 Wie ich jetzt aber gelernt habe (vom etwas aufgebrachten Vorsitzenden des Angelvereins), war das schon immer ein privater Weiher vom Angelverein Altdorf und die über Jahre übliche FKK-Nutzung war schon immer illegal, nur wurde früher wenig dagegen unternommen. Der neue Vorsitzende möchte dem jetzt aber -- wohl auch auf Grund von jüngsten Beschädigungen und Beschwerden -- Einhalt gebieten. Dummerweise hatten sich einige FKK-Jünger bei Diskussionen dann aber wohl auf den "offiziellen Stadtplan der Stadt Landshut" berufen. Nachdem ich das ganze aber in Rekordzeit repariert und auch persönlich nochmal mit dem Vorsitzenden vom Angelverein gesprochen habe, sind die Wogen jetzt wieder geglättet und einige Leute mehr wissen über OSM Bescheid. :) 2014-04-15 Höhenwanderweg Landkarte für die Stadt LandshutDie Tourismus-Abteilung der Stadt Landshut möchte eine neue Karte des Höhenwanderwegs auf Grundlage von OSM erstellen. Details zu diesem Projekt gibt es hier. 2014-03 Das einfachste Routing, das es gibt (afaik)Osm Routing in Python, kürzeste Strecke Via A* Vor einiger Zeit wurde in der Wochennotiz ein wenig über routing berichtet im besonderen über Fahrradrouting. Ich fand den Artikel sehr interessant und irgendwie hat mich das Thema dann nicht mehr los gelassen also habe ich mir gedacht - schreib doch mal deinen eignen Router! Da ich auch immer schon mal was mit Python machen wollte war Python das Werkzeug der Wahl. (sorry für die teilweisen etwas diletantischen Ausführungen) Mein Skript besteht im grossen und ganzen aus 3 Teilen.
Einlesen der DatenAls Daten Quelle habe ich einen kleinen XML-Export von der Openstreetmap Seite gewählt. Ein ensprechender export kann hier generiert werden: http://www.openstreetmap.org/ -> Export Die XML Daten Parse ich mit dem Python SAX Modul und Speichere alle Knoten und im Falle von wegen ihre Verbindungen untereinander. Um die Logik hinter meinem einlese Prozesses besser verständlich zu machen möchte ich vorher kurz auf den Aufbau des XML Exports eingehen. Aufbau OSM XML ExportOsm arbeitet mit Nodes - Jeder Punkt in der OSM Datenbank wird durch einen Node repräsentiert. Der verschiedene Eigenschaften haben kann. Darüber hinaus gibt es noch wege (ways) die angeben wie Punkte sich zu einem weg zusammenfinden und Relationen die mehrere Wege, Nodes und Objekte zusammen fassen können. Wichtig für das Routing ist:
Nodes im OSM ExportAm Anfang der exportierten XML Datei liegen "alle" Informationen über die sich im export befindlichen Nodes. Das beinhaltet ihre GPS positon in Lat und Lon, wer den Node erstellt hat die Node ID und die user ID. Damit ist die Frage nach dem Wo befindet sich der Node beantwortet. Besonders Wichtig ist auch die Node ID da sie zur eindeutigen identifizierung des Nodes benutzt wird. Z.B. der Node '60974942 liegt an lat="48.5529181" lon="12.1036861".
Wege im OSM ExportEine weitere wichtige Frage ist: Welche Verbindungen haben die Nodes untereinander wird ein wenig weiter unten im Export beantwortet. Ein weg listet alle zu ihm gehörenden Nodes auf. So gehören Z.B. die Knoten "60974942" und "60975133" zum weg "An der Bahn". Ihre Position (via gps) konnten wir ja schon aus dem oberen teil des Exportes ermitteln.
Es gibt auch Nodes die Elemente von mehreren Wegen sind. Sie entstehen immer an Ein und Ausfahrten oder an Kreuzungen. Parsing mit SAXDa jetzt klar ist wie die Daten aussehen die aus dem OSM Export purzeln - können wir uns daran machen sie mithilfe des SAX parsors ein eine für das Routing geeignete Datenstreukur zu verwandeln. Eigentlich interessieren für das Routing später nur die Nodes die Element eines oder mehrere Wege sind. Mit Wegen meine ich einen Los geht es mit dem Parsen der Nodes:
Da wir wie gesagt noch nicht wissen ob wir den node später noch brauchen oder nicht speichern wir ihn erst mal in der Datenbank (db) ab.
Dabei hält das Node Opjekt alle wichtigen Informationen.
Die Verbindung zwischen zwei Nodes speichere ich dabei im Connection Objekt. Später könnte es noch dahingehend ausgebaut werden auch die Beschaffenheit der Verbindung (also die Straßen güte, erlaubte geschwindigkeit usw.) zu speichern um darüber das routing zu beeinflussen. Oder um Restriktionen Z.B. eine Einbahnstrasse abzubilden. Vorerst speichert es aber nur die Referenz der beiden Node Objekten (node1 und node2) zwischen denen die Verbindung besteht. Die Referenz auf das Connection Objekt ist auch in beiden Nodes (node1 und node2) hinterlegt damit jeder die Möglichkeit hat über das Connection Objekt den anderen zu finden.
Aufräumen der DatenbankSind alle Informationen erfasst - So kann man sich auf das aufräumen der nicht mehr benötigten Nodes machen. Jeder Node der zu diesem Zeitpunkt keine Verbindung zu einem anderen anderen besitzt ist für das Routing entbehrlich und kann gelöscht werden. Die Node DB basiert zum jetzigen Zeigepunkt noch auf auf einem python [dictionary] worauf sicher verzwichet werden könnte. Routing via A*Bis hier hin war es ein schweres Stück. Gleich vorweg sei gesagt dass der von mir zusammen geschusterte Algorithmus keine Meisterleistung ist und man sich deswegen auch keine Wunder erwarten sollte - es gibt etliche Restriktionen. Aber er funktioniert und veranschaulicht das Konzept. Bevor man hier weiter eintaucht empfehle ich die Lektüre zum [A*-Algorithmus] Beim Routen arbeite ich mit 2 Listen: Den knownNodes und den exploredNodes. Liste der knownNodesIn der Liste der knownNodes sind alle Nodes gespeichert die noch für das finden einer möglichen Route zur Verfügung stehen.
Liste der exploredNodesIn der Liste der exploedNodes sind alle Nodes gespeichert die bereits vollends erforscht sind. Ihre Connections sind entweder auch "explored" oder zumindest "known". Bei meinem einfachen vorgehen ist es dem Routenfindungs Algorithmus der Einfachheit halber verboten einen knoten mehrfach anzusteuern. Let there be RoutingZu beginn sind beide Listen leer.
Start und Ziel Node ID werden festgelegt.
aus der Datenbank holt man sich das zur Node id gehörende Node objekt.
wurde. Dies dient dazu um am ende den Weg durch die Nodes zu finden.
Die Funktion ist teil des Node Objekts:
Im nächsten schritt suchen wir aus der Liste der knownNodes den besten kandidaten heraus um ihn im nächsten Durchgang zu erforschen exploren.
Ist der Algorithmus erfoglgreich durch laufen. Das heißt dass der ZielNode erreicht wurde.
Schnappt man sich den letzen Node und hangelt sich durch die zuvor gespeicherten "self.cameFrom" referenzen durch bis zum Anfang.
Full Python SkriptDas ganze Python Skript könnt ihr gerne bei mir runter Laden. [Link Zum Skript].
Das skript erwartet als Parameter eine Datenquelle im OSM xml export Format.
Gruß Tobias 2014-03 FOSSGISVier wirklich impulsive Tage mit knapp 600 Teilnehmern gaben reichlich Gedankenfutter zu allen möglichen Themen. Und obwohl das Wetter eigentlich blendend war, saßen wir von früh bis spät in muffligen Hörsälen wie zu Studienzeiten um uns die creme de la creme deutscher OSM'ler nicht entgehen zu lassen. Peda und Tobi haben sich mächtig ins Zeug gelegt und gleich mehrere Vorträge geliefert, ich (Alex) hab auch ein wenig mitgemischt. Hier die Liste der Niederbayerischen Vorträge: 2014-03-14 FlyerUnser neuer localized Flyer wurde gedruckt und hat auf der FOSSGIS die ersten Interessenten getroffen. Mehr Exemplare habe ich noch auf Vorrat. 2014-03-11 Fernsehproduktionen in IsarTVAm 11.3.2014 haben uns Marco und Chris von IsarTV bei unserem Stammtisch besucht und einen netten Video-Clip erstellt: 2014-02 ZeitungsartikelUm unsere erfolgreiche Arbeit in Landshut, v.a. bzgl. der Hausnummern etwas der Öffentlichkeit kundzutun, haben wir mit Sebastian Geiger von der Landshuter Zeitung Kontakt aufgenommen. Wir haben uns zu einem Interview-Termin in unserer Stammtisch-Lokalität zusammengefunden. Sebastian hat eifrig Notizen auf seinem kleinen Schreibblock gemacht und sich ganz offensichtlich (wie im Artikel zu erkennen ist) gewundert, was für ein seltsames Volk die OSM'ler doch sind. Daraus ist ein sehr unterhaltsamer und informativer halbseitiger Artikel in der Landshuter Zeitung geworden. Die Publikation in unserem Wiki ist seitens der Redaktion ausdrücklich erwünscht unter Nennung der Quellenangabe: Autor: Idowa - Landshuter Zeitung - OSM/OpenStreetMap - 'Vier Männer und die Hausnummern', von Sebastian Geiger 28.02.2014 (Noch besser wäre eigentlich gewesen: 'Männer, die auf Hausnummern starren' ;) Link zur Kurzfassung auf der Website der LAZ Und hier der komplette Artikel - Klick auf Bild (und dann links unten 'original file') zum Vergrößern: Siehe auch die Listung in OSM in the media 2014-01 RettungspunkteIm 'Kasblatt' der Gemeinde wurde geschrieben, dass sog. Rettungstreffpunkte aufgestellt werden sollen. Schilder mit einem kurzen Code, der Landkreis und Rettungspunkt-Nummer beinhaltet, damit Verunglückte schnell Hilfe anfordern können. Zugang für Fahrzeuge und Hubschrauber sollen dabei garantiert sein, und gleichzeitig einen kurzen Weg in Waldgebiete ermöglichen. Halte ich für eine vernünftige Idee als Biker, also versucht Kontakt zu knüpfen. Über die Gemeinde erhalte ich eine Verbindung zum Landshuter Forstmeister, der wiederum in Freising seine Niederlassung hat, die den groben Kreis Landshut verwaltet. Die Fortsverwaltung genehmigt uns die Übernahme der Daten in OSM. Weitere Ideen erstrecken sich auf eine Bayern- oder sogar Deutschland-weite Erfassung. Nachtrag 2020: leider erweisen sich diese Daten als durchaus fehlerbehaftet und geben nicht unbedingt die echte Lage vor Ort wieder. Daher sollten Rettungspunkte erneut kontrolliert und erfaßt werden. Das bayerische Tagging-Schema sähe wie folgt aus, siehe auch unten das Proposal: <tag k="highway" v="emergency_access_point">
<tag k="ref" v="<NUMMER_DES_RETTUNGSPUNKTES>">
<tag k='operator' v='Bayerische Staatsforsten'/>
<tag k='description:de' v='Ortsmitte in Oberweiler an der Kirche'/>
Wobei die Beschreibung ebenfalls von der Forstverwaltung stammt und der schnellen Orientierung dienen soll.
[Diskussion auf der ML|http://forum.openstreetmap.org/viewtopic.php?id=8604] [Anmeldung zum Download|http://www.baysf.de/de/home/unternehmen_wald/aktuelles/rettungstreffpunkte.html] geplante Veröffentlichung bundesweiter Rettungspunkte am 24.01.2014 2014-01-22 innodatecIch hatte ein ausführliches Telefonat mit der Firma innodatec, die die Seite www.rettungspunkte.info betreibt. Deren - sehr ambitioniertes - Ziel ist es, europaweit die Rettungspunkte einheitlich zu erfassen. Dieses Bestreben gibt es derzeit auch von staatlicher Seite bzw. der Landesforsten, die dann wiederum unterscheiden müssen zwischen Staats-, Privat- und Landesforst. innodatec bietet eine Dienstleistung an, d.h. der Förster geht mit seinem iPad an eine Rettungsstelle, macht dort ein Foto, nimmt die GPS Koordinaten auf und erstellt eine Beschreibung. Die Firma wiederum bietet diese Datenbank den Rettungsleitstellen als Web-Portal an. Letztere nutzen diesen Dienst kostenlos, die Forstämter müssen für diesen Dienst zahlen (ca 50 EUR einmalig für das Schild und 5 EUR pro Jahr für die Instandhaltung/Wartung/Garantie etc...). Wie ich finde, eine nette Startup-Idee, verträgt sich leider nicht mit OSM, weder in der einen noch in der anderen Richtung: 'Wir' bekommen diese Daten nicht, da es ja sozusagen das Kapital der Firma ist, diese wiederum will die OSM Daten nicht verwenden, weil sie nicht zuverlässig genug sind und Haftungsfragen auftreten. Interessant bei dem Gespräch war, dass die Rufnummer 112 gerade im grenznahen Bereich dazu führt, dass beispielsweise die Leitstelle in Belgien oder Holland erreicht wird, die wiederum mit den (Bundes-)Land-spezifischen Rettungspunkt Nummern überhaupt nichts anfangen können. Dann habe ich erfahren, dass es beispielsweise in Bayern ca 10.000 Rettungspunkte gibt, wir haben von den bayerischen Landesforsten aber gerade mal 3.000 genannt bekommen. Da kocht also weiterhin jeder sein eigenes Süppchen, womit private Forstwirte, Landesforsten, Staatsforsten, kommerzielle Unternehmen, Rettungsleitstellen und schließlich wir als OSM community noch einige Zeit zu kämpfen haben werden, für einen eigentlich sehr wichtigen Beitrag zum Rettungssystem. Dem entgegen steht, dass die Landesforsten ihre Daten der Öffentlichkeit zur Verfügung stellen wollen, in einer OSM-kompatiblen Lizenz. Die Qualität der Messpunkte ist jedoch eher mangelhaft zu bezeichnen. Also stellen jetzt wahrscheinlich unterschiedliche Einrichtungen jeweils ihre Schilder in den Wald und die Rettungsdienste müssen mit unterschiedlichen Datenanbietern zurechtkommen. 2013-09-02 Hausnummernliste Stadt LandshutIst StandEnde August 2013 erhielten wir von der Stadt Landshut eine Liste mit georeferenzierten Hausnummern.
Die Georeferenz liegt in Form von Gauß-Krüger Koordinaten vor, die Hausnummern erfassen das Stadtgebiet von Landshut.
Voraussetzung für den Erhalt ist/war die Zusage, die Daten in ihrer Rohform nicht zu veröffentlichen und nur für die Einpflege in OSM weiterzugeben.
Uns wurde ein Update der Daten jedes Quartal versprochen. Details zu der Arbeit mit den Daten: Landshut/Adressdaten Vergleiche dazu auch verwandte Projekte in Passau/Adressdaten München...? Nach ca 2 Monaten Arbeit zu viert waren gut 14.000 Adressen übertragen.Die Stadt Landshut nahm das Ergebnis positiv auf. Es sollte noch eine Veröffentlichung in der lokalen Presse erfolgen, um andere Gemeinden zu animieren. In der OSM community gab es bei Import-Themen die üblichen Nachfragen bzgl. der Lizenz. Dabei ist zu bemerken, dass Landshut ein eigenes Vermessungsamt hat, und damit die 'Hoheit' über die Daten. Umliegende kleinere Gemeinden unterliegen dem staatlichen Vermessungsamt, welches sich wohl weniger kooperativ zeigt. AussichtIm Landshuter Umland verfügen eventuell auch andere über georeferenzierte Hausnummern. (Altdorf? Kumhausen?) Sobald das Hausnummern Projekt in Landshut einen vorzeigbaren Status erreicht hat, könnte man dies als Anreiz/Argumentationshilfe nutzen um auch hier Daten zu erhalten. Vorgehensweise in JOSMOSM Daten und Hausnummern in zwei getrennte Layer laden. Mit Shift+A <nummer> kann man den aktiven Edit-Layer umschalten. Und dann mit Ctrl-C und Ctrl+Shift+V die Attribute vom Node auf das Haus uebertragen. --- zeitliche Reihenfolge umgekehrt --2013-09-02 Von hier nach unten ist die Reihenfolge der Projekte: oben alt, unten neu. Aus der Sicht eines blogs ist es aber wohl sinnvoller, immer das neueste oben zu haben... Altstadtvermessung 28.08.2011English summaryAs GPS reception in our historic city centre is quite bad, we organized a geodetic survey of Landshut's Altstadt in August 2011. All points tagged with source_ref to this page were measured with a maximal deviation of 50cm. So please do not adjust those points against Bing or other images which are much less precise than our results! EinführungDa der GPS-Empfang in der Altstadt von Landshut sehr schlecht ist, haben wir eine Vermessung mit professionellem Equipment am 28.08.2011 organisiert. Datenerfassung und Konvertierung
declare -i i=0 while read nr lon lat typ; do echo "<wpt lat=\"$lat\" lon=\"$lon\">" echo "<name>$(printf %03i $i)-$typ-$nr</name>" echo "</wpt>" i=i+1 done < LA-altstadt-wgs84.txt > LA-altstadt-wgs84.gpx
Daten
FotosMapping
Ausrüstung
Beteiligte
Nochmals herzlichen Dank an Duck für die Bereitstellung des Equipment! ÖPNVDie liste ist nur eine Hilfe und erhebt keinen Anspruch auf Vollständigkeit und beschränkt sich aufs erste auf Die Stadt- und Airport Linie. Express, Abend und Schüler Linie können meiner meinung nach später noch ergänzt werden. --F6F 09:51, 14 October 2010 (BST) (eine linie 13 such man auf dem Plan vergeblich sind wohl ein wenig abergläubisch die Jungs :-)
Übersicht der Buslinien01_Altdorf/Preisenb Farbe b3df5c 02_Altstadt/Ergolding Farbe f68712 03_Auloh/Wolfgangsiedlung Farbe b365b9 04_PiflaserWeg/LAWest_HBF Farbe ec008c 05_EvAltenheim/Moniberg Farbe 108449 06_Auwaldsiedlung/Eugenbach Farbe 1a598c 07_Mitterwoehr/ObereAltstadt Farbe 127bca 08_HBF_Altdorf/Eugenbach Farbe fddd04 09_Altstadt/Guendlkoferau Farbe 4dvd38 10_Lainerbuckel/Laendtorplatz_HBF Farbe 8c2b99
Farbe 9e7b65
12_Altstadt/Ergolding Farbe 26b9f1 14_Wolfsteinerau/Altstadt Farbe e4a230 Airport Farbe 6ba3dc Fehlende HaltestellenLinie 1: ort/haltestellen name
Linie 4:
Linie 8: ort/haltestellen name
Linie 7: ort/haltestellen name
Open Issues
RecourcenEin Schematischer Verlauf der Linien ist hier einsehbar (PDF). Details gibts hier: http://www.stadtwerke-landshut.de/fileadmin/files_stadtwerke/stadtbusse/stadtlinie/bilder/liniennetz-stadtlinie-geo.pdf Der Fortschritt in der Erfassung kann unter http://www.öpnvkarte.de/?zoom=13&lat=48.54706&lon=12.15054&layers=BT oder unter http://openptmap.org/?zoom=13&lat=48.54083&lon=12.14138&layers=B0000TFT betrachtet (und bedauert) werden. --F6F 12:49, 31 August 2011 (BST) HistorieProjekte für die Zukunft
Fahrradkarte für LandshutAndreas vom ADFC versucht seit Sommer 2011 ein Rendering für Fahrradwege in Landshut zu erstellen. Ziel ist es, eine druckbare Karte zu erhalten. Verschiedenen Renderer stehen zur Auswahl: Mapnik, TilesAtHome (Osmarender) und Maperitive. Die aktuelle Maperitive Karte wird einmal pro Woche neu gerendert und ist hier als SlippyMap zu sehen. Ein paar Diskussionen in der Mailingliste sind hier zu sehen: [6] Hier eine Zusammenfassung der Zwischenergebnisse:
Maperitive-Einstellungen (kurz Notiz)// Gebiet auf Landshut einschränken, bei wenig Speicher, noch kleineren Ausschnitt wählen!
ADFC Fahrradkarte Lübeck11/2012 gabs in den Wochennotizen folgenden Link auf den ADFC in Lübeck, der ein vergleichbares Projekt umgesetzt hat: [9] OpenStreetBugs numerieren und ausdruckenKarlo hat ein Javascript Framework programmiert, mit dem es möglich ist, OpenstreetBugs mit numerierten roten Kreisen zu versehen und parallel dazu eine Liste der Fehlerbeschreibung zu erzeugen. Hat den Vorteil, dass man sich beides ausdrucken kann: [10] Anleitung: Man muss zunaechst im OpenStreeBugs selbst den entsprechenden Bereich heranzoomen, dann den Link auf das GPX-File mit oder ohne closed bugs in die Zwischenablage kopieren, und diesen dann bei Karlo's Seite wieder einfuegen. Der Rest sollte selbsterklaerend sein. 3D RenderingOSM 2 WorldWer Gebäude mit Dächern und Fenstern versehen möchte, kann die Tags fuer Osm2World verwenden. Das ganze ist zum Einsteigen relativ einfach, Hilfe gibt's in der ndb Mailingliste (für die, die eilig haben;) - Danke an die Crew aus Passau! Ein paar Links dazu. Beispiel Passau: Kirche Martinskirche LA: Martinskirche Neu-Ulm: Kirche 'Offizielle' Tagliste Von Tobias Knerr unterstuetzte Tagliste Und erweiterte Dachformen open Buildingmodelshttp://openbuildingmodels.uni-hd.de/ http://www.osm-3d.org/map.htm osm BuildingsPlakate druckenIm Herbst 2012 begann eine Diskussion, wie man Plakate von OSM Karten erstellen kann, z.B. Wanderkarten oder Mapnik-Karten, um sie z.B. an Freizeiteinrichtungen oder Gemeinden aufzuhängen. Thread in der ML: [11] Da gibt es auch Links zu Bildern, weiss aber nicht, wie lange die noch vorgehalten werden. Ein paar Notizen dazu: Lars Ligner hat für solche Zwecke einen eigenen Renderer aufgesetzt und kann DIN-A0 Bitmaps mit verschiedenen Styles erzeugen. Das ganze kann man in einer Online-Druckerei (z.B. saxoprint) für ca. 30 EUR drucken lassen. Das Ergebnis steht derzeit (6.11.12) noch aus. Das Bild muss als pdf verschickt werden, am besten geht das mit OpenOffice Draw, dort Seitenformat DIN-A0 einstellen und das Bild einbinden und als PDF exportieren. Der Upload zu saxoprint gestaltete sich als etwas schwierig, weil zuerst nicht klar war, dass keine .png's erlaubt sind, und das .pdf file hat dann wohl die maximale Dateigröße deren Uploadmanagers überschritten, allerdings kam keine entsprechende Meldung. Ein Telefonanruf ermöglichte dann jedoch einen Upload per FTP, das hat schließlich geklappt. Um dieses riesige Bitmap (ca 40MB) selber auszudrucken, habe ich ein shell-Script erstellt, das es auf 4x4 Kacheln verteilt, die kann man dann z.B. bequem unter Windows ausdrucken. Das größte Problem derzeit sehe ich noch in der zu kleinen Schriftgröße. Alles ist wunderbar detailliert aufgelöst, aber der ferne Betrachter benötigt evtl. einen größeren Font für Straßen- und Ortsnamen. Weitere Erfahrungen folgen...
Das Plakat sieht super aus, hochglanz auf schwerem Karton und in exzellenter Auflösung. Es entspricht ungefähr Zoomlevel 16 oder 17 bei Mapnik, d.h. jede Parkbank und fast jeder Strassenname ist eingetragen. Wie aber schon vorher bei meinem Probedruck vermutet, ist die Schrift zu klein, und die 'Wichtigkeit' verschiedener Elemente muss fuer solche Zwecke wohl im Mapnik angepasst werden. Vor allem sind die von mir angedachten 'highway=track' und ähnliche Wege praktisch nicht zu erkennen. Also hängt die Karte jetzt bei mir im Flur und nicht bei der Gemeinde. Bis zum nächsten Versuch. Trotzdem danke Lars für die Unterstützung! Alex. Gemeindegrenzen BayernIn den Wochennotizen vom 18.11. wurde bekannt gegeben, dass die Gemeindegrenzen in Bayern der OSM Community übergeben werden. Link zur Mail: [12] Link zum Download von Niederbayern, kann man direkt in JOSM laden: [13] Fertige Grenzen12.12.2012 - Nur für historische Zwecke: Es gibt Leute, die haben anscheinend echt zuviel Zeit, denn die Bayernkarte ist inzwischen komplett importiert: Die Bearbeitungsliste vom Kreis LA habe ich aus dem Wiki rausgenommen, ebenso die Anleitung von Dietmar - eine alternative Anleitung findet sich hinter dem obigen Link. Siehe auch im Wikipedia die Liste der Städte, Gemeinden und Verwaltungsgemeinschaften von Landshut. Was in diesem Zusammenhang noch wichtig wäre: Die Strassenlistenauswertung. Derzeit ragen noch einige Strassen über Gemeindegrenzen mit ihrem 'name' Tag hinaus, was die Auswertung erstens erschwert und zweitens auch bei der Navigation zu Problemen führen kann. Es gibt wohl ein neues Strassenlisten-Auswertungskonzept, weiss aber nicht genau, wo das zu finden ist. Admin LevelsKreisfreie Städte erhalten den Admin level 6 als Städte begrenzung nicht Kreisfreie Städte so wie Deggendorf haben den level 8 und die zughörigen Städte des Kreises ebenfalls. Der Kreis erhält level 6 Rendering Projekte von Tobi und AlexUm diese Seite nicht zu überfluten, sind die Dokumentation diverser Experimente zum eigenen Rendern v.a. für Printmedien auf eine andere Seite verlinkt... Eigener Mapnik Server25.12.2012 Tobi hat sich die Mühe gemacht, herauszufinden, wie man einen Mapnikserver aufsetzt. Wir haben bei mir (Alex) jetzt einen Server stehen mit debian-System, mit dem Ziel Karten für eigene Bedürfnisse zu rendern. Ziel ist es, interessierten Usern einen Zugang per ssh zu gewähren und selber rumzuspielen. Weitere News folgen. Hier ein paar Links zu HowTo's
Erfahrungen beim ersten SetUp1. osm2pgsql braucht den --slim Parameter, damit werden temporaere Daten in der SQL Datenbank zwischengespeichert. Ohne den Parameter braucht man wohl erheblich mehr Speicherplatz. Das hier ist ein Rechner mit 4GB RAM und 3.5GB Swap, 64 Bit, der hat das ohne --slim fuer die bayern.osm nicht geschluckt: time osm2pgsql ~/bayern.osm -d osm -U osm -H localhost -W --slim 2. Beim eigentlichen Rendern (nach dem Import) mit ~/mapnik-stylesheets$ ./generate_image.py Trat der folgende Fehler auf: RuntimeError: ERROR: column "generator:source" does not exist LINE 7: or (power='generator' and ("generator:source"='wind... Angeblich liegt das an einem veralteten default.style, das befindet sich unter /usr/share/osm2pgsql und kann z.B. hier runtergeladen werden: https://trac.openstreetmap.org/browser/applications/utils/export/osm2pgsql/default.style Siehe auch OSM-Help zu diesem Thema: https://help.openstreetmap.org/questions/11542/error-column-generatorsource-does-not-exist PosterdruckIm eingerichteten mapnik-stylesheets befinden sich alle relevanten Informationen, um die verschiedenen Styles in den verschiedenen Zoomlevel anzupassen. Das ist relativ einfach zu verstehen. Einige Styles werden in einem separaten include ('inc') Verzeichnis verwaltet. Der Rest befindet sich im osm.xml. Wie schon mal weiter oben beschrieben, eignet sich der Zoomlevel 17 nicht für den Posterdruck, weil die Schrift zu klein ist. Deshalb die Idee, eine DIN-A2 Seite zu rendern und diese dann auf DIN-A0 zu skalieren. Dafür braucht man aber einen .svg export und kein .png. Die entscheidende Modifikation im generate_image.py sieht so aus (auskommentierte Zeilen sind original Code): # render the map to an image im = mapnik.Image(imgx,imgy) mapnik.render_to_file(m, "image.svg") #mapnik.render(m, im) #im.save(map_uri,'png') Die Region, die gerendert werden soll, befindet sich im generate_image.py relativ weit oben, dort werden die Weltkoordinaten und Pixel des Zielformats angegeben. bounds = (12.02,48.54,12.15,48.6) imgx=1683 imgy=1190 Die Koordinaten in 'bounds' muss man sich irgendwie raussuchen, z.B. openlinkmap zeigt die rechts unten an. Wichtig ist, dass das Seitenverhältnis möglichst genau dem Zielformat entspricht, sonst passt mapnik den Ausschnitt und Zoomlevel selber an. Es gibt im generate_image.py/mapnik auch keine fixen Zoomlevel. Der Grad der Details, wieviel Beschriftung angezeigt wird usw. hängt von der Auflösung (imgx/y) ab und dem Kartenausschnitt (bounds). Um das gewünschte Ergebnis zu erhalten hilft meistens nur Ausprobieren.
... width="1683pt" height="1190pt" Die Angabe 'pt' sind Punkt, das ist 1/72 Zoll, also die Auflösung, die zur Umsetzung von Weltkoordinaten auf Drucker-Koordinaten verwendet wird. generate_image.py interpretiert die imgx und imgy Werte je nach Ausgabeziel. Bei .png Dateien sind es Pixel, bei .svg Dateien sind es pt bzw. 'Punkt'. NOTE: Man kann also nicht einfach die Zieldatei umswitchen und erwarten, dass ein gleichgrosses Bild herauskommt! Jetzt kommt ein wenig Rechnerei ins Spiel (1 Zoll=25.4mm): Eine DIN-A2 Seite hat die Ausmaße 594x420mm im Querformat. Die Breite: 594 mm / 25.4 Zoll * 72 = 1683 Punkt. Damit zwingen wir die World-Boundingbox auf eine DIN-A2 Seite. Das generate_image.py Skript generiert das .svg Bild. Nachbearbeitung in InkscapeDie Beschreibung bezieht sich auf Inkscape Ver. 0.47. Ich habe auch eine ältere Version ausprobiert, da ist aber der Verhalten beim Transform und page-properties Ändern komplett anders! Das Bild wird im Inkscape geladen und in beiden Achsen per 'Transform' Operation verdoppelt (könnte man sicher auch hübsch per Skript erledigen). Statt in etwa 2100x1500 Pixel sollte das Bild in inkscape dann 4200x3000 Pixel bz. Punkt groß sein. Das entspricht einer Skalierung um 2 DIN-A Größen. Um nur einen DIN-A Schritt zu skalieren, verwendet man den Faktor 1.41. Um ein .png zu erzeugen: 'Export to Bitmap' und darauf achten, dass die DPI Zahl auf 360 steht (das ist so der untere Standard bei Druckereien), Womit wir bei einer Auflösung von ca. 16.800x12.000 Pixel im exportierten Bitmap wären. generate_image.py errechnet aus dem Verhältnis zwischen World- und Pixel-Boundingbox den entsprechenden Zoomlevel, der ist in dem hier genannten DIN-A2->DIN-A4 Beispiel bei 14 (geschätzt) und zeichnet nur noch die größeren Ortsnamen, keine Straßen etc. Durch Modifikation der styles kann man Elemente hervorheben; u.a. hat es sich bewährt, die weisse Umrandung ('halo') aus den Ortsnamen zu entfernen, da diese sich durch das Hochskalieren dann überschneiden. Icons (skalieren)Sämtliche Icons von POI's und auch die Tafeln für offizielle Straßenbezeichnungen (z.B. A 92, B 299) sind als .png's hinterlegt. Da stellte sich ein Problem beim nachträglichen Hochskalieren im Inkscape heraus, weil dann Treppen-Artefakte entstehen. Jedoch ist es inzwischen möglich, auch svg's für diese Icons zu verwenden. Die muss man halt selber erstellen - ist aber nicht weiter schwer. Z.B. findet sich im osm.xml folgender Eintrag: <ShieldSymbolizer size="10" fill="#fff" placement="line" file="&symbols;/pri_shield[length].png" spacing="750" minimum-distance="30" fontset-name="bold-fonts">[ref] </ShieldSymbolizer> Den ersetzt man durch <ShieldSymbolizer size="10" fill="#fff" placement="line" file="&symbols;/pri_shield[length].svg" type="svg" spacing="750" minimum-distance="30" fontset-name="bold-fonts">[ref] </ShieldSymbolizer> 'pri_shield1.svg' wäre dann z.B. ein Schild mit nur einem Buchstaben, pri_shield2.svg eines mit 2 Buchstaben usw. Man muss halt so viele Schilder malen wie man braucht oder schon .pngs da sind. Es gibt auch einige Icon-Sammlungen, die .svg anbieten. Ein guter Einsprung hierzu ist hier. Noch ein Beispiel - DIN-A3Mein nächster Versuch ist, eine DIN-A3 Seite von der Landshuter Innenstadt zu generieren. Folgende Boundigbox habe ich verwendet: bounds = (12.14819,48.53311,12.1563,48.54025) Das entspricht ziemlich einem DIN-A Hochformat. Mit imgx=841 imgy=1190 Generiert man direkt ein .svg file für DIN-A3 (29.7 x 42 cm): 29.7 / 2.54 * 72 = 841. Die vom mapnik Renderer ausgewählten Detailstufen passen da schon ziemlich genau zu dem, was für eine druckbare Version der Karte notwendig ist. Angedacht sind Schreibtischunterlagen (A3) oder Blöcke (A4). Hintergrundfarbe/Generell Farben ändernDer Hintergrund der 'Kontinente', d.h. alles was kein landuse o.ä. hat wird hier festgelegt: inc/layer-shapefiles.xml.inc: <Style name="coast-poly"> <Rule> &maxscale_zoom10; <PolygonSymbolizer fill="#f2efe9"/> </Rule> </Style> Will man die Farbe eines Objektes ändern, dessen tag man nicht kennt, hilft es oft, nach der Farbe zu suchen. Aber Vorsicht: Mapnik wandelt die RGBA Farbwerte aus den XML Dateien nicht 1:1 nach .svg um, so dass eine Farbdefinition im .xml file von z.B. fill='#f2efe9' in inkscape dann als '#f0eee8' erscheint (Rundungsfehler...)! Eine Postgres DBMit dem eigenen MapnikServer und der eigenen Postgis Datenbank kommen auch schnell die ersten versuche mit einen Querys und der Wunsch bestimmte Elemente zu finden. In meinen ersten Versuchen ging es mir erst mal darum, grundsätzlich ein paar Geschäfte oder Ähnliches zu finden. Pure SQLZum Beispiel alle Spielplätze in Passau: SELECT DISTINCT -- ausdünnung doppelter ergenisse ST_X(ST_Transform(playground.way,4326)) AS long, --Umrechnung der long koardinate vom internen Datenbank Mapnik format nach GPS ST_Y(ST_Transform(playground.way,4326)) AS lat, --Umrechnung der lat koardinate vom internen Datenbank Mapnik format nach GPS playground.name AS title -- nimmt das "datum" aus der spalte name FROM planet_osm_polygon AS city -- von der Tabelle planet_osm_polygion JOIN planet_osm_point AS playground ON ST_CONTAINS(city.way, playground.way) --checkt ob der punkt im city polygon liegt WHERE city.name = 'Passau' -- wo der stadtname Passau ist AND playground.leisure = 'playground'; -- und die spalte des playground "datums" playground ist PHP funnWenn man ein wenig weiter fortschreitet kann man so eine Suche dann auch über PHP machen ....
$db = new PDO('pgsql:host=localhost;dbname=osm;', 'apache', 'apache'); $request = $db->prepare(" SELECT DISTINCT ST_X(ST_Transform(point.way,4326)) AS long, ST_Y(ST_Transform(point.way,4326)) AS lat, point.osm_id AS id, point.addr_postcode AS pc, city.admin_level AS adminlevel, point.shop AS shoptype, point.amenity AS amenity, point.name AS title FROM planet_osm_polygon AS city JOIN planet_osm_point AS point ON ST_CONTAINS(city.way, point.way) WHERE city.name = :town AND point.shop != ;"); $request->bindParam(":town",$town); $stmt = $request->execute(); $results = $request->fetchAll(PDO::FETCH_OBJ); //print_r($results); print ("table-html-tag"); for ($lineNum = 0; $lineNum < $request->rowCount(); $lineNum++){ $object = $results[$lineNum]; $id = $object->id; $lat = $object-> lat; $lon = $object-> long; der Parameter Town kann wahlweise über über PHP get übergeben werden irgendwie so: $town = htmlspecialchars($_GET["town"]); Die verwendung von PDO (php data objects) ist die Wahl der Stunde wenn man später galant sql injections vermeiden will :-D slow to slowLeider sind Punkte nur die halbe Miete... oft sind shops oder anderes auch auf Polygone gemappt welche natürlich nicht mit dem oben aufgeführten Join mit der Punkte Tabelle gefunden werden können. Hier ist eine Suche Polygon in Polygon nötig. Dummerweise ist eine solche Suche sehr teuer. Bei einer Fläche von Niederbayern können schon mal 18 Sekunden vergehen, ehe man alle Shops, die in Landshut sind, gefunden hat, was natürlich für jede Webanwendung viel zu langsam ist ... Eine lösung musste her Rettung in der NotDie Idee ... vor der Suche berechnen welche shops in welchem Polygon liegen und welche nicht. Den ersten Versuch habe ich dann mit einer Reihe Postleitzahlen-Polygone gemacht. Leider sind diese nicht per default in der von osm2postges erstellten postgis Datenbank was man mit einer leichte Anpassung des default.style dokument Skriptes beheben kann. node,way access text linear node,way addr:housename text linear node,way addr:housenumber text linear node,way addr:street text linear node,way addr:streetname text linear node,way addr:interpolation text linear node,way addr:postcode text linear # angepasster import der PLZ node,way addr:city text linear node,war addr:country text linear node,way admin_level text linear Das eintragen der PLZ in die shops habe ich dann mit einem zusammen geschusterten Perl Skript vorgenommen. use DBI; es besteht aus drei Teilen, suche alle PLZ polygone, merge sie mit allen shops, trage die PLZ in alle shops ein. Leider war es mir nicht möglich, in die Spalten addr:postcode zu schreiben, da ich keine Möglichkeit gefunden habe, im perl skipt den Doppelpunkt zu escapen. Die pragmatsiche Lösung bestand in der Umbenennung der entsprechenden Spalten. Dank an dieser Stelle an Alex, der mir sehr dabei geholfen hat, meine ersten PHP Versuche in die richtige Richtung zu lenken .... Stadtplan LandshutMitte April 2013 hat Gernot entdeckt, dass die Stadt Landshut anstelle einer statischen Grafik jetzt Slippy Maps mit teils Google, teils OSM Tiles verwendet: [14]. Erstellt wurde diese Seite von der Firma vianova. Neben der Karte gibt es noch eine beeindruckende Menge von Overlays, POIs, Busrouten etc., die alle aus verschiedenen Quellen kommen müssen. Als Kontaktperson für z.B. neue Einträge von Läden ist Hr. Baumann genannt. Den habe ich per email angeschrieben um uns (OSM LA) vorzustellen, und dass wir generell an einer Kontaktaufnahme interessiert wären. Tatsächlich hat mich der Herr Baumann dann ein paar Tage später angerufen und es kam zu einem sehr ausgiebigem Gespräch. Insbesondere erfuhren wie gegenseitig von diversen Schwierigkeiten und dem Aufwand, solche Karten zu produzieren. Mir wurde klar, dass als Redaktionsleiter einer 40-köpfigen Mannschaft, die sich ausschließlich um die Internetpräsenz kümmert, wenig Zeit ist, sich um Detailfragen wie einzelner OSM Tags zu kümmern. Das ganze Geflecht bezieht dann auch noch die Stadtwerke mit ein (für die Busrouten), die DB AG (zu Anschlußzügen an Busterminals), diverse rechtliche Fragen zu Fotos und Infopoints, die wieder entfernt werden müssen usw usw... Auf der anderen Seite fand sehr großen Anklang, dass 'wir von OSM' in der Lage sind, recht schmerzfrei die OSM Karte zu aktualisieren. Witzigerweise kamen die meisten Anfragen aus der Bevölkerung nach fehlenden Straßen oder dem eigenen Haus. Nach dem Motto 'in der Hans-Dampf Gasse 3a-5f ist die Dackelgarage für unsere Reihenhaussiedlung und die Zufahrt nicht eingezeichnet'. Mein Angebot war dann, dass wie solche Anfragen gerne übernehmen und für einen zügigen Update der Karten sorgen können. Das stieß auf Aufmerksamkeit. Dann erwähnte ich, dass unser großes Problem z.B. die Hausnummern sind, sowie die Lage der Gebäude, die wir nur von Bing abzeichnen können oder selber vermessen. Daraus entwickelte sich eine vage Idee. Die Stadt LA ist im Besitz (d.h. rechtliches Eigentum) von Vermessungsdaten, die nichts mit dem Katasteramt zu tun haben. Sie haben detaillierte Lagepläne von Gebäuden, eine Hausnummernliste mit Koordinaten, sowie einen weiteren Stadtplan für Printmedien, der zwar georeferenziert ist, aber teilweise etwas gröber aufgelöst (mehr dazu gleich). In einem weiteren Telefonat mit Herrn Trost, der der Vorsitzende des Vermessungsamts ist, konnten wir etwas mehr in die Details gehen. Ansinnen des Vermessungsamtes ist es, bei Neubauten, Abrissen etc. sofort aktuelle Geodaten zur Verfügung zu haben. Beispielsweise für die Stadwerke um Strom, Wasser etc. verlegen zu können. Diese Daten (ich habe mal einen Screenshot erhalten), sind unglaublich detailliert. Mehr als wir in OSM haben wollen. Beispielsweise sind dort alle Parkplätze (also die einzelnen Fahrzeugnischen) in der Neustadt eingetragen. Schräge Trapeze, ca 5x3m, mit den entsprechenden Lücken, wo eine Hausdurchfahrt ein Parken nicht gestattet. Zudem sämtliche Überbauungen wie Vordächer, Hofdurchfahrten, großräumige Eingangsbereiche in Blocksiedlungen sind alle extra getagged. Einerseits ein gefundenes Fressen für OSM, aber es erfordert unglaublich viel manuelle Sichtung, welche Datenelemente dann relevant sind. Zum anderen gibt es noch den Stadtplan. Den habe ich als PDF vorliegen und wäre in etwas so groß wie ein DIN-A0 Blatt. Darin enthalten ist der Bereich zwischen Weihmichl und Adlkofen (W-O), sowie Altheim und Kumhausen (N-S). Der gesamt Bereich beinhaltet Layer wie Toiletten, Sehenswürdigkeiten, Infopoints etc. also alles, was wir auch in OSM als amenity etc. haben. Die Häuer in dem Plan sind zwar immer noch exakt georeferenziert, aber im shape vereinfacht. Damit entsteht nich so ein Liniengewirr auf der gedruckten Karte (eben das Problem, mit dem ich auch gerade kämpfe). Dieser Stadtplan wird bis auf den sync mit den georeferenzierten Daten komplett manuell gepflegt. Das ist eine wahnsinns Arbeit, aber dementsprechend beeindruckend ist auch das Ergebnis. Der naechste Ansatz, um mal etwas konkret zu werden war, dass wir von der Stadt jeweils einen kleinen Ausschnitt aus verschiedenen Siedlungsbereichen erhalten, und zwar einmal aus den rohen Vermessungsdaten und einmal aus den vereinfachten Stadtplan Daten. Die Siedlung Auloh haben wir uns ausgesucht, weil es da in OSM noch recht dürftig aussieht. Sowie einen Teil der Altstadt oder Neustadt, wo die Häuser so extrem dicht stehen. Unsere nächste Aufgabe wäre es dann zu versuchen, aus den bereitgestellten Daten irgendwie OSM Daten zu erhalten, die man z.B. in JOSM einlesen kann. Und dann ist immer noch jede Menge Handarbeit erforderlich, weil sich die Häuser und ggf. Hausnummer i.d.R. nicht einfach als Massenimport reinladen lassen werden. Und ein weiterer Punkt, warum Landshut sich für OSM entschlossen hat, war: Die bisherigen Details hörten an der Stadtgrenze auf. Die OSM Daten in den Aussenbereichen sind aber inzwischen so gut, dass sie als Standardansicht punkten konnten. Die Firma vianova wäre wohl bereit gewesen, die fehlenden Häuser in LA (inzwischen fehlen sie ja auch nicht mehr ;))) nachzuzeichen oder zu importieren, aber für einen Haufen Geld.
Die Vermessungsdaten liegen als AutoCAD file vor. Ich denke, dass das AutoCAD Format noch relativ problemlos sich ins OSM Format wandeln lässt. Frage ist, wie die einzelnen Layer und Attribute gemapped werden. Der Stadtplan wurde mit der Software 'Freehand' erstellt. Wohl irgendwie von Adobe abgestossen/zugekauft.... Über einen Import dieses Formats konnte ich auf die Schnelle nix finden. Evtl. gäbe es wohl aber eine Möglichkeit, in das AutoCAD Format zu exportieren. 26.04.2013Von der Stadt erhalte ich zwei Ausschnitte, einmal aus der Innenstadt (hoche Häuserdichte) und einmal ein Siedlungsgebiet auf dem Land. Um die AutoCAD .dwg Daten nach .osm Dateien zu konvertieren, habe ich 2 Tools verwendet: 'DWG Converter' (anydwg.com) um .dwg->.dxf zu konvertieren, und 'dxf2gpx' von Detlef Nicko. Die generierten .osm Dateien ließen sich problemlos in JOSM einlesen und waren ohne Umrechnung von Koordinaten an der richtigen Stelle der Karte. Weitere Details und Screenshots, die einige Probleme beim Import ausleuchten werden, folgen sobald die rechtlichen Fragen geklärt sind. 02.05.2013 PDF ImportierenAls weitere Datenquelle steht ein Stadtplan aus 'freehand' (einem CAD Tool) im PDF Format zur Verfügung. Die Freehand Daten lassen sich nicht in JOSM importieren. Wohl aber die PDF Daten, wenn auch mit etwas Aufwand. Mit dem Tool pstoedit lässt sich ein PDF in ein .dxf konvertieren. Vgl [15]. pstoedit läßt sich i.d.R. über den Paketmanager installieren. Es gibt auch ein pdfimport Plugin für JOSM, das habe ich aber nicht zum Laufen gebracht (Herunterladen im Plugin-Manager ja, aber es erscheint nicht im Tools Menü): [16]. Ausserdem kann auch Inkscape .pdf Dateien nach .dxf wandeln, allerdings streikte dann wiederum der dxf2gpx Konverter. Also folgender Weg: pstoedit -f "dxf: -ctl -mm" <infile>.pdf <outfile>.dxf Die Angabe -mm bezieht sich darauf, den Maßstab in Millimeter anzugeben. Die Angabe -ctl wandelt die Farb-Attribute in Layernamen um. Mit dem oben genannten Tool dxf2gpx kann nun die generierte Datei nach .osm umgewandelt werden. Bei Anwahl der entsprechenden Option, werden Layer wiederum in 'name' Tags umgewandelt. Die erzeugte .osm Datei ist im JOSM aber nicht georefenziert. Wie man das macht, weiss ich momentan auch noch nicht. Durch manuelle Anpassung (move&zoom) zeigt sich auserdem, dass die Punkte im Stadtplan bei weitem nicht an die Qualität von OSM herankommen, bzw. bewußt oder unbewußt ungenau gemacht wurden. Für einen Import scheidet diese Datenquelle damit aus. 08.05.13In einem Telefonat berichtet Hr. Trost vom Vermessungsamt, dass sich die rechtlichen Fragen noch hinziehen und evtl. auf dem bayerischen Städtetag neue Erkenntnisse mit ähnlichen Projekten gewonnen werden können. Ein Kontakt zu Ansprechpersonen mit Erfahrung zu diesem Thema wäre hilfreich. Auf eine Anfrage auf der Mailingliste zum Thema Erfahrung mit öffentlichen Imports erhalte ich einen Anruf von Joachim (Kast at openstreetmap de), der mir von ähnlichen Erfahrungen berichtet, nämlich dass zwar die Zusammenarbeit mit der 'technischen' Abteilung in den Verwaltungen i.d.R. gut funktioniert, aber sich gerne höher gestellte Abteilungen gegen solche Vorhaben zum Thema OSM querstellen. Deshalb sei immer ein wenig Diskretion angeraten. Als weiteren Ansprechpartner zum Thema Gauß-Grüger Transformation nennt er mir noch Sven (at geggus net), der sich ebenfalls schon mit Imports von Behördendaten auseinandergesetzt hat. Link auf Mailinglist-Thread Weitere Links zu anderen kommunalen Import-Projekten: [17] [18] Stichworte: München, Bayerischer Städtetag, geoimage.at 11.05.2013 Mapathron AulohNach ca 2h bing Mapping zu zweit haben wir (czmartin&blutsauger) Auloh erschlagen. Auloh war einer der Kritikpunkte von LA an OSM wegen der geringen Datendichte bei Gebäuden. Bittesehr! Lustig ist in diesem Zusammenhang auch das neue GeoChat Plugin in JOSM. Vorher/Nacher Bilder, Permalink: 19.05.2013 Mapathlon Landshut NeustadtMapping Session in LA Neustadt von Tobi und Alex. Es ist echt viel Arbeit, dann die ganzen Details in OSM einzutragen. Aber ein Spaß wars trotzdem. Hier die Details:
Links2013-05-22 Building MappingEine kürzlich losgetretene Diskussion, weil das building=residential oder building=terrace ohne Rand gerendert wird und damit gerade in der Innenstadt, wo viele Gebäude aneinanderkleben, die Unterscheidung nicht mehr möglich ist. Die Diskussion fächert sich über die üblichen Thmen aus, Mappen nicht für den Renderer, welche Gebäudetypen gibt es, wie wird die Nutzung vom Typ getrennt usw. Über Möglichkeiten des Renderers wird leider so gut wie nicht diskutiert; mapnik ist wohl die heilige aber kranke Kuh, von der man behauptet, sie jeden Tag umbringen zu können, sie aber doch jeden Tag melken muss... Ein recht brauchbarer Kompromiss findet sich in Rostock 2009 Den würde ich auch für Landshut vorschlagen, wenngleich auch nicht in diesem Ausmaß, aber building:use=residential oder building:type=row_house kann damit die bereits erfassten Daten ohne Verluste beibehalten und die Freunde des Renderings sind auch glücklich. MailingList Thread zur Diskussion: building=yes vs. building=residential 2013-06-01Andreas Hippauf's Versuche, anhand des Landshut-Polygons die .osm Daten zu extrahieren auf seinem Blog |