StrassenStatus als POI in OpenLayers (2009 by T.Vierbuecher aka Hansdorfff)
Es gibt mit Seiten wie http://osm.gt.owl.de/Strassenliste/Siegen/Status.html tolle Übersichten darüber, welche Straßen einer Stadt noch fehlen usw. Ich wollte aber diese Infos als POIs in einer OpenLayers-Karte mit Openstreetmap haben. Dafür habe ich das Programm mit dem hässlichen Namen outstreets geschrieben. Es ist ein Commandline-Utility. Man kann damit: * eine lokale Datensammlung anhand eines aktualisierten Status.html-Files (Urls) aktualisieren. * fehlende Koordinaten über Google-Geocoding nachtragen * eine OpenLayers.Text-Liste ausgeben, die man sehr einfach eine OpenLayers-Map einbinden kann. Usage: prg [-i | -d | -G | -t -o outfile | -U [-u url]] -i : show info about local stored street data -d datafile : datefile to use instead of streets.data -x : dump all street data -G : geocode incomplete streets -t -o outfile : create OpenLayers.Text file outfile -O lat,lon : Set Origin for placement of streets without coordinates. -U [-u url] : Update streetlist from url like http://osm.gt.owl.de/Strassenliste/Siegen/Status.html -O lat,lon : Set Origin for placement of streets without coordinates. Beispielaufrufe: Datenbank beginnen/aktualisieren: ./outstreets -U -u http://osm.gt.owl.de/Strassenliste/Siegen/Status.html Geocoding durchführen für Straßen ohne OSM-Koordinaten: ./outstreets -G (Mit einem Delay von 3 Sekunden pro Abfrage) OpenLayers.Text ausgeben: ./outstreets -t -o html/layerstext.txt -O 51,8 Dabei werden die Straßen ohne Koordinaten in einer Spirale um 51N 8E angezeigt. Einbinden in eine Map: var testlayer = new OpenLayers.Layer.Text( "text", { location:"layertext.txt", projection:new OpenLayers.Projection("EPSG:4326")} ); map.addLayer(testlayer);