Stadtteil rendern

Was wollt ihr denn nun? Ein Shape ein Geoserver oder eine gerenderte Karte.
Wenn ihr nur eine OSM Karte in eine Geodatenbank bringen möchtet, dann gibts da das Programm Osmosis. Openstreetmap verwendet vor allem postgresqldatenbanken mit der Postgiserweiterung.
Wenn die Datenbank zum rendern sein soll, bietet sich das Programm osm2pgsql an. Diese Datenbank kann man übrigens auch in Qgis darstellen und die Layer als shape speichern.
Außerdem gibts noch Programme dafür, welche ohne Umwege Tabellen als shp speichern können.
Wenn ihr einen kleinen Bereich mit einem eigenen Stil rendern wollt, dann die Datei entweder an Mapnik oder Maperativ oder Kosmos(vorgänger von Maperativ) verfüttern. Eine Anleitung für Kosmos gibts übrigens auch bei Ajoessen auf der Seite. Natürlich nicht für einen Stadtteil sondern für bestimmte ausgewählte Details.

Hallo Carsten,

willkommen im Forum.

Also wenn ihr mit Maperitive rendert, ist ein GeoServer erst mal nicht notwendig, die generierten Tiles können auch direkt über einen normalen Webserver an den Client, z.B. OpenLayers, ausgeliefert werden. Mit Shapefiles kenne ich mich nicht so aus, verstehe die aber als Vektor-Format, eine Konvertierung von Raster-Tiles macht da m.E. keinen Sinn. Höchstens eine Indizierung der Tiles, um die als WMS in verschiedenen Projektionen ausliefern zu können, falls das das Ziel ist, ob und wie das geht kann ich aber nicht sagen.

Um die Rohdaten im GeoServer nutzen zu können, sehe ich zwei Wege:

  1. .osm > Shapefiles > GeoServer, siehe Wiki: http://wiki.openstreetmap.org/wiki/Shapefiles

  2. .osm > osm2pgsql > PostGIS > GeoServer
    damit könnte man im PostGIS die Daten auch sauber schneiden, siehe Post #14 von misterboo

Die Daten werden dann im GeoServer z.B. per SLD gerendert. Mit dem Tool Mapnik2GeoTools könnte man evtl. Mapnik Stylesheets zu SLD konvertieren, das ist allerdings noch etwas unrund.

Welcher Weg der Richtige ist, hängt davon ab, was mit dem GeoServer unterstützt werden soll (WMS und/oder WFS), d.h. was das Projektziel ist.

Gruß,
ikonor

Können sie uns gegebenenfalls genauer erklären wie das mit dem osm2pgsql funktioniert.
Oder besser noch wie man aus den Osm Daten direkt ein Shapefile umwandelt (Programme und etwas genauere Anleitung)
Wir sind absolut noch auf dem Gebiet.

Schau mal hier:
http://lmgtfy.com/?q=osm2pgsql
Da findet man eine Menge zu dem Programm osm2pgsql.
Wenns direkt in shps sein soll:
http://lmgtfy.com/?q=osm2shp
Welches der vielen Programme dann für Euch in Frage kommt müsst ihr auf Grund eurer Umgebung festlegen. Und nochmal es ist sinnlos osm Daten in shps zu wandeln, wenn man danach eine Karte rendern möchte. Das kann man auch einfacher haben. Insbesondere was ein Import in eine Geodtadenbank angeht.

Hier gibts ein Proramm zur direkten Umwandlung:

http://code.google.com/p/osm2shp/
Eventuell muß man Punkte, Linien und Polygone in getrennten Vorgängen umwandeln in 3 Shapefiles.

Gruß,
ajoessen

Um zu schauen, ob ein Shapefile wirklich das ist was ihr wollt, könntet ihr auch testweise mal das kleinste zip von der Geofabrik herunterladen, z.B. bremen.shp.zip:

http://download.geofabrik.de/osm/europe/germany/

Wisst ihr denn schon, wie aus dem Shapefile dann eine Karte gerendert werden soll? Im GeoServer werden da z.B. Straßen erst mal nur generell einfarbig als blaue Linien angezeigt. Das oben erwähnte Mapnik2GeoTools funktioniert für Shapefiles nicht, oder nur mit sehr viel Aufwand.

und hier noch was ganz Feines: pgsql2shp macht postgresql → shape

http://kvwmap.geoinformatik.uni-rostock.de/index.php/Shape-Daten_aus_der_Post-GIS_Datenbank_ausgeben

wird direkt mit postgresql ausgeliefert. (in pgsql/bin)

Gruss
walter

Hallo,

ich versuch mal zu erklären was wir vor haben. Unsere Aufgabe besteht darin die Stadt Bad Schwalbach(mit Umkreis) auf ein Offline Geo-Server zu laden. Wir haben bereit die Karte so gerendert das man nur Bad Schwalbach und Umkreis hat wie auf dem Bild (#10). Ich möchte nur wissen, wie ich das jetzt hinbekomme, das die karte so aussieht wie bei OSM (hintergrund mit grün) und wie ich dann shapefiles erstelle, damit ich die auf den Geo-Server drauf spielen kann.

MFG david

Ich habe den Eindruck das Ihr Euch noch nicht ernsthaft damit beschäftigt habt, welche Worte Ihr hier rumwerft.
Karten rendern ist das eine. Shapefiles das zweite und ein Geoserver das dritte. Alle drei haben erstmal nichts miteinander zu tun.
Allerdings braucht man für eine Karte Geodaten. Diese werden gerne als Shapefiles, einem standardisierten Format, weitergegeben. Um Geodaten zu verwalten und anderen zugänglich zu machen, kann man einen Geoserver verwenden.
Darum ist es also so enorm wichtig zu wissen was ihr tun wollt. Und welche Vorraussetzugen ihr mitbringt! Hardware Software und andere Fähigkeiten.
Bei OSM wurden die Daten ursprünglich als xml in osm Dateien gespeichert. Da die Dateien auch gepackt inzwischen rieseig werden gibt es neurere Formate wie pbf und o5m.
Zum Speichern auf dem Server verwendet das Projekt inzwischen Postgresql Datenbanken mit der Postgiserweiterung. Begonnen hat alles mit MySQLDatenbanken.
Rendern ist aus Geodaten ein Bild zu machen. Dafür gibt es verschiedene Programme. Auf openstreetmap.org ist der Standardlayer mit Mapnik gerendert. Diese Programm ist recht mächtig und benötigt dafür sehr viele Einstellungen insbesondere in Form von Stylefiles. Diese Stylefiles geben an welche Daten wann und wie aussehen sollen. Da den meisten Computern nur wenig Speicher vergönnt ist, wird ein großes Datenpaket immer in kleinere Teile geteilt und dann verarbeitet. Dies geht sehr gut mit einer Datenbank.
Wenn man das ganze nur mal schnell ausprobieren möchte gibt es inzwischen ein Ubuntupaket, welches man einfach nur herunterladen muss und danach kann man an seiner Linuxmaschiene fertige Tiles abholen. http://wiki.openstreetmap.org/wiki/DE:Ubuntu_tile_server
Wer kein Linux hat, kann das ganze auch in einer virtuellen Maschiene ausprobieren.

Ist die Aufgabe von einem Prof gestellt? Was ist das Ziel der Übung? Die Auseinandersetzung mit Geodaten und GeoServer? Dann ist Maperitive das falsche. Dass das Ergebnis möglichst wie auf openstreetmap.org aussieht? Dann ist der GeoServer der falsche Ansatz.

Das Grünflächen nicht gerendert werden, liegt wahrscheinlich daran, dass die Flächen beim Ausschneiden aufgetrennt werden und dadurch vom Renderer nicht mehr als Fläche erkannt werden. D.h. das Schneiden von .osm Files ist nicht der richtige Weg, siehe auch Nachbardiskussion zuschneiden/clipping von Wegen/Flächen beim Ausschneiden von OSM-Daten. Die Lösung ist Schneiden in der PostGIS DB (#16) oder evtl. in einem GIS Programm wie QGIS (#10).

Das geht nicht, wie kommst du darauf? Maperitive rendert png Rasterfiles (=Bilder/Images/Bitmaps). Shapefiles enthalten Vektordaten, diese lassen sich nicht mehr aus einem Bild herstellen, nur umgekehrt: Vektor (Daten) → Renderregeln (Style) → Raster (Bild).

Gruß,
ikonor

Hallo,

die Aufgabe besteht darin die vorhandenen Web-Gis daten(http://schemel.eu:8080/geoserver/WebGIS_SWA_Netscape.html) von der seite durch die Daten von OSM zu tauschen. Also unsere Gruppe soll die Karte von Web-Gis entfernen und die Karte von OSM einfügen für den Kreis Bad Schwalbach.

Wir haben ein offline Geo-Server schon eingerichtet. Uns fehlt nur noch die Karte und jetzt wird gesagt, dass es damit nicht geht.
Was brauchen wir sonst dafür? Ich hab ehrlich gesagt von den Sachen nicht viel Ahnung, da ich mich damit nicht mit auseinander gesetzt habe.
Wäre es möglich, wenn mir jemand sagen könnte Schritt für Schritt wie wir vorgehen müssen?

MFG David

Openlayers funktioniert doch schon recht gut. Jetzt ist nur die Frage, wie die Datenquelle aussieht.

Es gibt jetzt zwei Möglichkeiten, wie ihr sowas nachbauen könnt. Je nach Fähigkeiten des Servers, die immer noch keiner preisgeben konnte oder wollte.
Ein Beispiel findet sich hier: http://bahnradwandern.bplaced.net/osmviewer.htm
Mehrere Hintergrundlayer und dann zwei weitere um sie darüber zu legen.
Dabei handelt es sich um einen einfachen webserver, welcher nur Dateien nach Anforderungen von Openlayers ausliefert.
Der zweite Weg wäre der schon genannte Tileserver.

In anderen Worten: Ersetzt in dem “Geoserver” einzig und allein die Grafiken, die eventuell als Shapes vorliegen, durch von die von euch gerenderten Raster-Grafiken (png).

Das sollte es gewesen sein.

Gruss
Wambacher

p.s. 3x dürft ihr raten, wo ich wohne :wink:

Das ist doch mal eine Info.

Ich hab nur gesagt, dass Maperitive nach Shapefile nicht geht und ein Rendering mit Shapefile (von .osm File konvertiert) sehr aufwändig wird, wenn es nach OSM aussehen soll. Wenn der bisherige Stil der Karte bleiben kann, geht letzteres schon.

Ansonsten habe ich in Post #22 mit Variante b. den Weg über die PostGIS DB vorgeschlagen, der auch mit GeoServer funktionieren würde. Das wäre die Profi-Variante, für die aber auch etwas Kenntnis und Engagement nötig sind.

Ihr solltet euch aber damit auseinandersetzen, sonst wird das nix. Wir können hier nur Lösungswege vorschlagen und auf ggf. vorhandene Anleitungen verweisen oder bei konkreten Problemen helfen, aber eine Schritt für Schritt Anleitung speziell für euer Problem wird wohl niemand erstellen.

Sehe ich das übrigens richtig, dass euer Prof euch Studenten für ein Kundenprojekt einspannt, für das er mit seiner Firma Geld verdient? LOL

Wäre doch nicht neu! In der heutigen Zeit werden Professoren daran gemesen, was sie an Drittmitteln einwerben, nicht daran, was sie ihren Studenten vermitteln.

Ok,
eine Frage an viw:
Wie genau funktioniert das Verfahren mit Openlayers. Ich finde den Ansatz sehr interessant und es hört sich vielversprechend an.

Noch eine kurze Information: Wir benutzen die Software Geoserver von geoserver.org

Ich fühle mich hier ein wenig veralbert. Habt Ihr Euch denn schonmal die Mühe gemacht die ganzen Hinweise zu ergründen? Falls ja sollten doch die Fragen ein wenig konkreter sein als nur wie funktioniert das mit Openlayers.
Aber hier die genau so allgemeine Antwort. Einfach auf den Server laden und dann die Layer durch die eigenen Ersetzen.
Für weitergehenden Fragen wäre es schick, wenn Eure eigenen Bemühungen mal etwas rausgestellt werden könnten oder erwartet Ihr das Euch hier alles vorgekaut wird? Es ist Euer Projekt, auch wenn Ihr dazu “gezwungen” wurdet um Euer Studium abzuschließen.

ich mich langsam auch. Das Ganze IST bereits eine OpenLayers-Anwendung und jetzt nennt man das einen “interessanten Ansatz”.
Ich hoffe, dass der Prof hier nicht mitliest, sonst schickt er euch 2-3 Semester zurück um erst mal methodisches Arbeiten zu lernen.

Dieser Geoserver ist auch in der Lage, eine Postgis-Datenbank als Datenquelle zu nutzen, und damit selber Karten als WMS auszugeben.
Allerdings braucht man dafür ein passendes Stylefile, damit der Geoserver weiß, wie er die Datenbankinhalte darstellen soll. Dazu muß man sich aber intensiver mit den OSM-Daten auseinandersetzen.

Ich habe hier:
http://wiki.openstreetmap.org/wiki/User:Ajoessen/Geoserver
meine Erfahrungen mit dem Programm gesammelt.

Gruß,
ajoessen