Aufbau einer OSM Datenbank mit Osmosis

Hallo,

ich habe mich nun entschlossen eine OSM Datenbank anzulegen, um damit später einen Webserver zu füttern. Dabei kommt es mir darauf an, dass ich zu einzelnen Punkten Relationen finden kann und zu diesen gegebenfalls die Überelation. Außerdem sollten möglichst alle Taggs erhalten bleiben. Dafür benötigt man die hstore spalte. Leider konnte ich aber kein simpleschema mit hstore finden. Bei Osmosis sind nur die -action, -bbox und -linestring im package enthalten. Und auch im SVN habe ich nichts entdeckt. Hat jemand eine Idee?

osmosis ab release 0.37 legt simple mit hstore an. das war ein totalumbau der datenbank-struktur.
flutscht prima :slight_smile:

http://wiki.openstreetmap.org/wiki/Osmosis/Detailed_Usage_0.37

es gibt derzeit “nur” ein problem: man kann eine neue db prima mit bbox oder auch polygon anlegen; dann sind nur die gewünschten daten drin.
wenn man dann mit den osmosis-üblichen verfahren die minute/hourly/ oder daily diffs einspielt, werden alle neuen daten mit übernommen.

  • und wenn jemand auf der osterinsel was mapt, ist es drin.
    d.h. die db wird größer und größer.
    es gibt kollegen, die alle paar wochen einfach einen kompletten reload machen oder welche, die halt genug platte haben.
    ich verfolge das osmosis-dev forum und warte auf verbesserungen.

lg
walter

@suncobald: das war der grund dafür, dass ich die daten für serbien hatte, obwohl ich nur DACH haben möchte :slight_smile:

Hallo wambacher,

ich finde im package unter script leider nur diese Dateien:
pgsql_simple_schema_0.6.sql
pgsql_simple_schema_0.6_action.sql
pgsql_simple_schema_0.6_bbox.sql
pgsql_simple_schema_0.6_linestring.sql

sowie zwei mit upgrade und eine mit load.

auch bei http://svn.openstreetmap.org/applications/utils/osmosis/tags/0.37/ kann ich unter package keinen Hinweis auf hstore finden. Welche Datei ist nun die richtige?

welches package? ich nehme dafür die original-quelle: http://dev.openstreetmap.org/~bretth/osmosis-build/osmosis-latest.zip
haste mal in pgsql_simple_schema_0.6.sql reingeschaut?

z.b.

-- Create a table for nodes.
CREATE TABLE nodes (
    id bigint NOT NULL,
    version int NOT NULL,
    user_id int NOT NULL,
    tstamp timestamp without time zone NOT NULL,
    changeset_id bigint NOT NULL,
    tags hstore                       <------------------------
);

p.s. es gibt inzwischen 0.38 - muss ich mir mal näher ansehen.
walter

und nicht vergessen, linestring und bbox mit anzulegen.

Kann man nicht bei den Changesets ebenfalls die bbox anwenden? Falls nicht gibt es noch die Dataset bounding Box, welche dann in der Datenbank wirkt, wenn ich das richtig verstehe.

nein, man kann es nicht.
ich habe sogar mit brett henderson - dem vater von osmosis - gesprochen: es kann aus technischen gründen nicht gehen, da nicht alle notwendigen informationen für osmosis vorhanden sind.

mit --ddb kann man aus einer datenbank einen ausschnitt extrahieren allerhings müssen quelle (hier die db) und ziel unterschiedlich sein.
man könnte also eine zweite db installieren, da die bbox reinkopieren und dann die beiden dbs “tauschen”.
vorteil: es ist immer eine db aktiv (online)
nachteil: plattenplatz
muss ich mal drüber nachdenken.
ansonsten danke
lg
walter

Noch ein Idee:
eine Postgisdatenbank kann dir alle Elemente innerhalb eines Gebietes zurückliefern. Ergo also auch außerhalb. Wenn man die dann jetzt löscht, ist die Datenbank wieder bereinigt.

danke,
hab ich alles schon versucht. und andere auch.
funktioniert auch so mit ach und krach hat aber auch seiteneffekte.
es bleiben manchmal “artifakte” übrig, (wege, die z.b. nur aus EINEM punkt bestehen oder relationen,
deren member “verschütt” gegangen sind, da sie ausserhalb lagen und und jetzt weg sind, …)
und dann knallen auf einmal die einfachsten abfragen weil die daten nicht konsistent sind.

ich möchte es mal so ausdrücken:
wenn die sache relativ einfach machbar wäre, hätte brett das schon längst gemacht - und er hat seine gründe, das derzeit nicht zu tun.

jetzt ist bei allen entwicklern die api7 auf der tagesordnung und vorher kommt da bestimmt nix.

gruss
walter