[OSM-Niederbayern] osm2pgsql testen

Alexander Lehner lehner at edv-buero-lehner.de
Mo Aug 8 12:21:47 CEST 2011



On Sun, 7 Aug 2011, Andreas Hippauf wrote:

> Hallo,
>
> ich versuche immer noch die OSM Daten sinnvoll für einen Fahrradstadtplan von Landshut einzusetzen.
> Mittlerweile habe ich erfolgreich ein Linuxsystem installiert und darauf mapnik und postgresql am laufen.
> Ich glaube auch, dass ich es heute geschafft habe, die GIS-Datenbank unter postgresql soweit hinzubekommen, dass ich die Daten für Mapnik darin importieren kann.
> Zwar ist der Versuch, das Deutschland-osm und das Bayern-OSM der Geofabrik mittels osm2pgsql zu importieren mit Fehlern quittiert worden, als ich dann aber Niederbayern von der Geofabrik geladen habe, hat es funktioniert.
>
> Ich habe dann auch die openfietsmap-XML Daten einsetzen können.
> Es gab nur ein paar kleinere Fehlermeldungen, ich bin jetzt mal davon ausgegangen, dass diese damit zusammenhängen, dass Tags wie "capital" im Landshuter Raum einfach nicht vorkommen und habe die entsprechenden Stellen im osm.xml einfach rausgenommen.
>
> Es gelang mir dann auch, einen Rendervorgang ohne Fehlermeldung durchzuführen. Leider war das Ergebnis ein ziemlich einfarbiges png.
> Jetzt frage ich mich: liegt es an meinem Stylefile oder hat vielleicht beim Importvorgang doch irgendwas nicht so funktioniert, wie es sollte. Und da hänge ich jetzt und brauche Hilfe beim Fehlereingrenzen:
>
> ich dachte mir, am einfachsten ist es wohl, die erzeugte Datenbank mittels SQL-Abfragen zu testen, ob der Import geklappt hat. Wenn ich das bejahen kann, kann ich mich in Ruhe auf die Scripte zum Rendern konzentrieren.
> Dabei könnte ich Eure Hilfe gebrauchen: Weiss jemand einen SQL-Befehl 
> mit dem man prüfen kann, ob z.B. so prominente Orte wie die 
> Martinskirche in Landshut o.ö. in der Datenbank vorhanden sind? Also 
> z.B. alle Kirchen aus der Datenbank abfragen?

Ich bin jetzt auch nicht so der SQL Crack. Aber der brute-force Weg, hier 
mit mysql, waere:

echo 'select * from TABLE;' | mysql -pPASSWORD DATABASE | grep -i SUCHWORT

TABLE, PASSWORD, DATABASE und SUCHWORT entsprechend durch Deine Werte 
ersetzen.

Oder z.B., wenn Du weisst, in welchem Feld die Namen ('Kirchen') stehen, 
direkt per SQL:

select * from TABLE where FELD like '%irche%';

show tables;
zeigt die Tabellen in einer Datenbank an.

Vielleicht hilft Dir das...

A.