OSM in Oracle Apex Public Transport

Hallo liebe Forenuser,

ich bin hier ganz neu in OSM. Ich arbeite eigentlich nur mit Oracle und habe nur wenig Ahnung von Java, wo ich mich aber noch hereinarbeiten werde bzw. muss.

Mein Problem ist:

Ich will für ein Unternehmen im ÖPNV mithilfe von OSM visualsieren an welchen Haltestellen wie viele Leute ein bzw. ausgestiegen sind.

Zum Thema Anbindung von OSM in Oracle habe ich bereits etwas gefunden und das auch testweise so umgesetzt:

http://www.oracle.com/webfolder/technetwork/de/community/apex/tipps/geo-osm/index.html

Nun will ich aber anhand der Standard Roten Flagge z.b. einen Bus oder auch einen Zug anzeigen der je nachdem wie hoch der Personenverkehr an diesen Haltestellen ist größer bzw. kleiner dargestellt wird.

Seht Ihr da eine Möglichkeit das umzusetzen? Größe des Icons anhand mitgeliefertem Wert bestimmen, der aus der Oracle DB kommt?

Vielen Dank.

Natürlich gibts da eine Lösung! Das einfachste ist die Umsetzung mit openlayers. Je nach Leistungsfähigkeit kannst du dort für jede Haltestelle einen solchen Marker setzen.
Wenn du dir die dazugehörigen Textdateien anschaust, kannst du dort für die Marker sowohl die URL für das Symbol als auch die Größe in Pixeln angeben. Jetzt musst du nur noch diese Datei erzeugen. Das kann man entweder einmalig für das ganze Gebiet machen (verlangsamt die Sache bei der Darstellung vielleicht) oder aber individuell mit einem Skript. (Php oder vielleicht auch Javascript)

Huhu Thorsten, willkommen bei OSM und hier im Forum :slight_smile:

Ja das geht, dein Beispiel nutzt ja auch OpenLayers. Da müsstest du in deiner DB eine Spalte haben (oder erzeugen, da bin ich nun kein Fachmann wie as bei Oracle läuft). Dann erstellst du in dem normalen JavaScript für OpenLayers einen Stil, der gerade das berücksichtigt. Ich habe das mal hier in einem (zugegeben komplizierteren) Beispiel gemacht, wo ich die Daten aber aus einer KML Datei und nicht der DB lese: http://www.opennet-initiative.de/map/
Da gibt es auch ein deutsches Buch zu OpenLayers, das finde ich nicht soooo toll. Evtl. ist das neuere englische Buch da hilfreicher!
http://dev.openlayers.org/docs/files/OpenLayers/Icon-js.html

Vielen Dank. Gibt es auch eine verständlichere Anleitung für Openlayers? Eine Library ist ja schon mal schön damit man weiß was welches Tag bedeutet, aber ich würde da gerne bei NULL beginnen. Ich hatte im Studium mal Java…bin aber lieber auf Oracle ausgewichen.

Die Applikation von !i! ist ja schon mal sehr hilfreich. Das zeigt mir auch dass das prinzipiell geht. Jetzt muss ich mich nur mal in die komplette Einarbeitung ins Thema OpenLayers machen.

Ich denke mal, dass das sehr interessant werden könnte. Man sieht auf Anhieb wo der meiste Personenverkehr war. Durch die Kopplung mit der Oracle-DB aktualsiert sich die Darstellung ständig. Aber ich glaube da habe ich noch was vor mir :slight_smile:

Als nächstes würde ich dann planen evtl. Züge oder Busse per Animation die einzelnen Stellen anfahren zu lassen. Hat jemand so etwas schon einmal gemacht. Also ne “flash” Animation auf OSM gelegt???

Warum magst du eine flasch animation anlegen?
Entweder machst du es direkt alles in Flash, dann denke ich ist das Sinnvoll, sonst aber kannst du auch den Marker entlang der Route des Busses/Zuges verschieben. Auch das ist in openlayers möglich. Gibt hier aktuell ein Topic dazu im Forum.

Bitte nicht Java mit JavaScript verwechseln. Und was Java mit Oracle gemeinsam hat ist für mich auch nicht recht nachvollziehbar. Denn das eine ist eine Datenbank und das andere eine Programmiersprache.
Die meisten Projekte in OSM greifen übrigens auf Postgresql Datenbanken zurück. Also in der Richtung könntest du sicher noch einige interessantes für dich erschließen, vor allem wenn du später die tiles bei größeren Projekten selbst bereitstellen willst/musst (tileusagepolicy)

Wie das meiste in der Opensourceszene ist Dokumentation eher nicht so gut gelungen. Aber gerade openlayers hat eigentlich alle Funktionen sehr gut dokumentiert und anhand von Beispielen (manchmal unübersichtlich) auch Ideen geliefert was man wie lösen kann.

Ich habe damals mittels php einfach eine solche Textdatei für die Marker erstellt. Dem Phpscript ist es egal, welche Datenbank im Backend zur Verfügung steht.

Oracle ist erst einmal ein Hard-/Software-Anbieter, dessen Kernprodukt natürlich die Oracle-DB ist.
“Zufälligerweise” haben die 2010 SUN gekauft und SUN hat so Kleinigkeiten wie JAVA und OpenOffice entwickelt und dann freigegeben.
Also ist Oracle jetzt auch JAVA und OpenOffice-Spezialist, setzt diese Produkte intensiv ein und ist an der Weiterentwicklung beteiligt

Gruss
Walter

ach ja: MySQL haben die auch.

[offtopic]Openoffice haben sie inzwischen wieder aufgegeben[/offtopic] Aber sonst hast du natürlich recht.

Die Beispiele im OSM-Wiki sind für den Einstieg ganz gut geeignet:

Einzelne Marker
http://wiki.openstreetmap.org/wiki/Openlayers_POI_layer_example

Dynamisches Laden von Punkten aus einer DB
http://wiki.openstreetmap.org/wiki/OpenLayers_Dynamic_POI

Viele Grüße,
Malte

@Thorsten Wie gesagt, dann hol dir mal am besten ein Buch zu OpenLayers und schau dir die Grundlagen von www.selfthml.org sowie die Beispiele auf http://openlayers.org/dev/examples/ an. Genrell scheint bei Webentwicklungen zu gelten, dass man nicht bei Null anfängt, sondern etwas was ganz gut bereits die Anforderungen abdeckt weiter anpasst.

Wie VIW schon sagte, gibt es zu Animationen gerade ein aktuellen Beitrag hier im deutschen Forum. Flash würde ich dir nicht empfehlen, da ÖPNV doch auch gerade auf mobilen Geräten Sinn macht, welche jedoch meist nicht Flash können. JavaScript oder HTML5 können hier Ausweichmöglichkeiten sein. Oder ist das nur für den internen Gebrauch gedacht?

Generell fände es die Community auch immer toll, wenn besagtes Unternehmen auch etwas zurückgeben könnte. Es gibt viele gute Beispiele, wo Nahverkehrs-Betriebe Daten für die Lokalen Mapper bereitgestellt haben. Davon profitieren auch die Unternehmen, die so in unseren Karten auftauchen und später beim multimodalen Routing (“fahre mit dem Rad bis zur Haltestelle X und steige dort in Linie Y ein”) berücksichtigt werden können.
http://blog.openstreetmap.de/2010/09/openstreetmap-und-offentlicher-nahverkehr-vrs-avv/

Zu dem oben genannten Artikel (September 2010) ist noch zu erwähnen, dass die Zusammenarbeit VRS - OSM in der Zwischenzeit weitere Früchte getragen hat:

Man sieht, dass dies nicht eine punktuelle Zusammenarbeit war, sondern auf Dauer angelegt ist.

Edbert (EvanE)

Auf openlayers.org gibt es neben Beispielen und API Docs schon auch noch eine Benutzeranleitung: Link “User documentation”, dann nochmal “Documentation”. Auf der ersten verlinkten Seite gibt es noch Links zu JavaScript Dokus.

Da das Oracle Beispiel mit Marker Layer und -Objekt arbeitet, habe ich in den OL Examples mal nach “marker” und “markers” gesucht, das Resize a Marker Beispiel passt da z.B. ganz gut.

Eleganter finde ich, das wie in !i!s Beispiel über Styling und Vector Layer zu lösen, das ist in der Doku ganz gut beschrieben. Allerdings ist das auch etwas komplizierter als die Marker Variante.

hi thorsten,

noch ne kurze info zum thema “Datenbanken”:

OSM ist postgresql/postgis-lastig, was aber nicht bedeuten soll, dass bestimmte Sachen auch auf beliebigen andern DBs laufen.

Postgresql ist IMMER dann die erste Wahl, wenn mit OSM-Rohdaten (Punkte, Wege, Relationen) gearbeitet werden soll - ganz besonders, wenn man eigene Karten selber rendern will oder wenn GIS-Informationen (Koordinaten, Längen, Entfernungen, Umkreissuche, …) von OSM-Daten benötigt werden.

Geht es aber “nur” darum, irgendwelche Daten zu benutzen, die nicht in OSM drin sind, weil sie da nicht reinpassen, kann DAFÜR natürlich jede andere DB verwendet werden.

In Openlayers wird an der passenden Stelle “einfach” z.B. ein html-GET gemacht und diese Anfrage von eurem Oracle-Server beantwortet, wenn ihr z.b aktuelle Standorte oder Belegungen braucht und ihr sowas in euren Systemen habt.
Allerdings müsst ihr dann die Koordinaten (lat/lon) schon irgendwie anpassen.

Sollte ihr aber beabsichtigen, eigene Karten selber zu rendern, so könnt ihr dafür Oracle vergessen. Meines Wissens gibt es dafür keinerlei Anpassungen der diversen Tools, die zum Rendern benötigt werden.

gruss
walter

Also so ganz unmöglich ist es wohl nicht, aber die normale OSM Toolchain fällt wie du schon sagtest ebend flach
http://wiki.openstreetmap.org/wiki/Oracle