You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2011-01-31 10:17:03

juson
Member
Registered: 2010-04-27
Posts: 454

Fragen zu Postgis / PostgreSQL

Hallo zusammen,
da das in den Thread  "Mobile Atlas Creator - Lizenz- und Policyverstöße" nicht so recht passt....

Ich habe nach der Anleitung von ajoessen http://wiki.openstreetmap.org/wiki/User … en/Postgis Postgis  und PostgreSQL installiert.
Beim Versuch kleinere Dateien wie Dusseldorf oder Münster in die Datenbank laden gabe es jeweisl gleichlautende Fehlermeldungen;

Reading in file: D:\Karten\osm\Geofabrik\duesseldorf.osm.bz2
Processing: Node(250k) Way(0k) Relation(0k)Entity: line 485244: parser error : error parsing attribute name
        <node"""=3l0955<7-e"""=3zr11775=1:Z3>""""""""""""""""""""""""""""""""""""""=2g"
             ^
Entity: line 485244: parser error : attributes construct error
        <node"""=3l0955<7-e"""=3zr11775=1:Z3>""""""""""""""""""""""""""""""""""""""=2g"
             ^
Entity: line 485244: parser error : Couldn't find end of Start Tag node
        <node"""=3l0955<7-e"""=3zr11775=1:Z3>""""""""""""""""""""""""""""""""""""""=2g"
             ^
D:\Karten\osm\Geofabrik\duesseldorf.osm.bz2 : failed to parse

Sind jetzt die Dateien der Geofabrik defekt oder meine Installation nicht korrekt? Wäre schön, wenn das mal jemand verifizieren könnte.

Danke im voraus

Offline

#2 2011-01-31 10:26:43

mapfriend70
Member
Registered: 2010-01-10
Posts: 52

Re: Fragen zu Postgis / PostgreSQL

Hallo juson,

wie sieht dann deine osm2pgsql Batch aus?

Gruß
mapfriend70

Offline

#3 2011-01-31 10:32:16

ajoessen
Member
Registered: 2009-09-16
Posts: 2,074

Re: Fragen zu Postgis / PostgreSQL

mapfriend70 wrote:

Hallo juson,

wie sieht dann deine osm2pgsql Batch aus?

Gruß
mapfriend70

... und welche Versionen Postgres Postgis Mapnik?

EDIT: Den cache nicht zu hoch setzen, das Betriebssystem möchte auch noch seinen Teil  vom RAM zum Arbeiten haben ;-)

Gruß,
ajoessen

Last edited by ajoessen (2011-01-31 11:24:09)

Offline

#4 2011-01-31 10:35:33

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Fragen zu Postgis / PostgreSQL

juson wrote:

Hallo zusammen,
da das in den Thread  "Mobile Atlas Creator - Lizenz- und Policyverstöße" nicht so recht passt....

Ich habe nach der Anleitung von ajoessen http://wiki.openstreetmap.org/wiki/User … en/Postgis Postgis  und PostgreSQL installiert.

welches schema denn?  osm2pgsql zum rendern oder simple für alles andere?
in der anleitung sind ja beide aufgeführt und die werden gerne durcheinander gebracht.
gruss
Walter

Offline

#5 2011-01-31 11:48:58

juson
Member
Registered: 2010-04-27
Posts: 454

Re: Fragen zu Postgis / PostgreSQL

ui, das ging ja schnell. Ich kann nicht ausschließen, daß ich da einen Fehler drin habe.
Mir würde schon reichen, wenn jemand bestätigt, daß die Geofabrik-Dateien i. O. sind, dann kann ich später meine Installation und Konfiguration nochmal überprüfen.
So wie oben beschrieben, sah es für mich zunächst so aus, als seien die Dateien ev. beschädigt.
Habe die Anleitung abgearbeitet und bin dann hier hängen geblieben:

D:\Karten\OpenStreetMap\osm2pgsql\osm2pgsql --create --database osmdb --username osmuser --prefix planet --slim --cache 2048 -S D:\Karten\OpenStreetMap\osm2pgsql\default.style --hstore D:\Karten\osm\Geofabrik\duesseldorf.osm.bz2

Ich habe die jeweils aktuellen Versionen von PostgreSQL und PostGis für Windows 7 32bit installiert wobei ich aber schon einen FE-Auth-Fehler bekommen habe, weil m. E. der User nach der Anleitung ein anderer sein müßte. Dann in der Zeile den osmuser gegen postgres getauscht.

Offline

#6 2011-01-31 12:17:29

ajoessen
Member
Registered: 2009-09-16
Posts: 2,074

Re: Fragen zu Postgis / PostgreSQL

juson wrote:

ui, das ging ja schnell. Ich kann nicht ausschließen, daß ich da einen Fehler drin habe.
Mir würde schon reichen, wenn jemand bestätigt, daß die Geofabrik-Dateien i. O. sind, dann kann ich später meine Installation und Konfiguration nochmal überprüfen.
So wie oben beschrieben, sah es für mich zunächst so aus, als seien die Dateien ev. beschädigt.
Habe die Anleitung abgearbeitet und bin dann hier hängen geblieben:

D:\Karten\OpenStreetMap\osm2pgsql\osm2pgsql --create --database osmdb --username osmuser --prefix planet --slim --cache 2048 -S D:\Karten\OpenStreetMap\osm2pgsql\default.style --hstore D:\Karten\osm\Geofabrik\duesseldorf.osm.bz2

Ich habe die jeweils aktuellen Versionen von PostgreSQL und PostGis für Windows 7 32bit installiert wobei ich aber schon einen FE-Auth-Fehler bekommen habe, weil m. E. der User nach der Anleitung ein anderer sein müßte. Dann in der Zeile den osmuser gegen postgres getauscht.

Also bei mir läufts mit der aktuellen osm-Datei. Den cache habe ich allerdings halbiert
postgre 8.4.7 (nicht 9.0!)
Passwort hier das des aktuellen Benutzers oder administrators
postgis 1.5.2 (die exe, nicht die zip)
python 2.6.6
mapnik 0.7.1

Das Mapnik-Beispiel der Wiki-Seite habe ich nicht zum Laufen bekommen, eventuell passt das nicht mehr zum aktuellen Datenbankschema.
Dafür läuft das normale generate_image und _tiles, wenn extend und bbox zueinander passen.

Gruß,
ajoessen

Offline

#7 2011-02-01 10:20:57

juson
Member
Registered: 2010-04-27
Posts: 454

Re: Fragen zu Postgis / PostgreSQL

Moin allerseits,

inzwischen habe ich es mit der berli.osm.bz2 hingekriegt. Habe vorher die ältere Version von Porstges (8.4.7) installiert.
Tatsächlich waren aber die Dateien Münster / Düsseldorf von Samstag nicht nutzbar, erst die "Berlin" vom 31.01.11 ging dann.

@ajoessen

mir ist der Abschnitt "Datenbank für osmosis "simple-Schema" anlegen" noch nicht ganz klar. (http://wiki.openstreetmap.org/wiki/User … en/Postgis)


.....
....
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_action.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_bbox.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_linestring.sql"

Hierzu muß dann vorher wohl noch irgendwas installiert werden?

Vielen Dank im voraus

Offline

#8 2011-02-01 10:44:21

ajoessen
Member
Registered: 2009-09-16
Posts: 2,074

Re: Fragen zu Postgis / PostgreSQL

juson wrote:

Moin allerseits,

inzwischen habe ich es mit der berli.osm.bz2 hingekriegt. Habe vorher die ältere Version von Porstges (8.4.7) installiert.
Tatsächlich waren aber die Dateien Münster / Düsseldorf von Samstag nicht nutzbar, erst die "Berlin" vom 31.01.11 ging dann.

Ich hatte bislang nur einmal Probleme mit einem Cloudemade-Extrakt. Möglicherweise gabs da unvollständige Wege oder Relationen. Bei der Geofabrik klappte der Import eigentlich immer.

mir ist der Abschnitt "Datenbank für osmosis "simple-Schema" anlegen" noch nicht ganz klar. (http://wiki.openstreetmap.org/wiki/User … en/Postgis)


Hierzu muß dann vorher wohl noch irgendwas installiert werden?

ja, für das Kapitel brauchst du osmosis-latest.zip. Die dann in das entsprechende Verzeichnis entpacken.
Aber wenn du die Daten mit osm2pgsql schon in die Datenbank geschaufelt hast, brauchst du (zum Rendern) keine osmosis-Datenbank zusätzlich anlegen.

Gruß,
ajoessen

Offline

#9 2011-02-01 10:55:54

viw
Member
Registered: 2010-05-15
Posts: 2,623

Re: Fragen zu Postgis / PostgreSQL

juson wrote:

@ajoessen

mir ist der Abschnitt "Datenbank für osmosis "simple-Schema" anlegen" noch nicht ganz klar. (http://wiki.openstreetmap.org/wiki/User … en/Postgis)


.....
....
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_action.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_bbox.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_linestring.sql"

Hierzu muß dann vorher wohl noch irgendwas installiert werden?

Streng genommen installierst du mit diesen Befehlen nichts. Es ist einfach das Ausführen von Sql Scripten die der Datenbank neue Spalten und Funktionen hinzufügen.

Aber wie ajoessen schon sagte, um eine Karte zu rendern ist so eine Datenbank nicht notwendig. Wohl aber wenn du Daten suchen möchtest.

Offline

#10 2011-02-01 16:48:51

okilimu
Member
Registered: 2010-01-01
Posts: 667

Re: Fragen zu Postgis / PostgreSQL

viw wrote:
juson wrote:

@ajoessen

mir ist der Abschnitt "Datenbank für osmosis "simple-Schema" anlegen" noch nicht ganz klar. (http://wiki.openstreetmap.org/wiki/User … en/Postgis)


.....
....
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_action.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_bbox.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_linestring.sql"

Hierzu muß dann vorher wohl noch irgendwas installiert werden?

Streng genommen installierst du mit diesen Befehlen nichts. Es ist einfach das Ausführen von Sql Scripten die der Datenbank neue Spalten und Funktionen hinzufügen.

Aber wie ajoessen schon sagte, um eine Karte zu rendern ist so eine Datenbank nicht notwendig. Wohl aber wenn du Daten suchen möchtest.

Du musst halt die Postgis-Erweiterung nachinstallieren zum Postgresql.

Dabei werden (bei mir in C:\Programme\PostgreSQL\8.3\share\contrib\postgis-1.5) die sql-Skripte mit installiert.
Wenn Du die Pfade oben nimmst, hast Du sie von dem postgresql-Bereich geholt, oder?

Viele Grüße

Dietmar

Offline

#11 2011-02-02 08:09:41

ajoessen
Member
Registered: 2009-09-16
Posts: 2,074

Re: Fragen zu Postgis / PostgreSQL

okilimu wrote:

Wenn Du die Pfade oben nimmst, hast Du sie von dem postgresql-Bereich geholt, oder?

Nö, das sind die Skripte, die bei osmosis-latest mitgeliefert werden.

Gruß,
ajoessen

Offline

#12 2011-02-02 08:48:50

juson
Member
Registered: 2010-04-27
Posts: 454

Re: Fragen zu Postgis / PostgreSQL

ajoessen wrote:
okilimu wrote:

Wenn Du die Pfade oben nimmst, hast Du sie von dem postgresql-Bereich geholt, oder?

Nö, das sind die Skripte, die bei osmosis-latest mitgeliefert werden.

Gruß,
ajoessen

Das habe ich inzwischen auch runtergeladen, funzt leider auch (noch) nicht so recht. Der Weg ist trotz Deiner Anleitung steiniger als gedacht.

Offline

#13 2011-02-02 08:59:09

ajoessen
Member
Registered: 2009-09-16
Posts: 2,074

Re: Fragen zu Postgis / PostgreSQL

juson wrote:
ajoessen wrote:
okilimu wrote:

Wenn Du die Pfade oben nimmst, hast Du sie von dem postgresql-Bereich geholt, oder?

Nö, das sind die Skripte, die bei osmosis-latest mitgeliefert werden.

Gruß,
ajoessen

Das habe ich inzwischen auch runtergeladen, funzt leider auch (noch) nicht so recht. Der Weg ist trotz Deiner Anleitung steiniger als gedacht.

Hast du denn postgis als exe oder als zip runtergeladen? Da stand bei mir bisher der flasche Link. Mit der exe wird postgis gleich in postgres eingebunden. Alternativ kann man das über den postgres Stack builder machen, habe ich selber aber nicht probiert.

Gruß,
ajoessen

Offline

#14 2011-02-02 09:30:19

juson
Member
Registered: 2010-04-27
Posts: 454

Re: Fragen zu Postgis / PostgreSQL

ajoessen wrote:

Hast du denn postgis als exe oder als zip runtergeladen? Da stand bei mir bisher der flasche Link. Mit der exe wird postgis gleich in postgres eingebunden. Alternativ kann man das über den postgres Stack builder machen, habe ich selber aber nicht probiert.

Das hier  "PostGIS 1.5.2 release for PostgreSQL 8.4 (inc. GEOS 3.2.2/PROJ 4.6.1 ~12Mb)" [EDIT] also die exe[ /EDIT] Das war soweit auch erfolgreich. Was nicht ging waren die osmosis Skripte. Ev. muß die osmosis.bat noch angepaßt werden?

Last edited by juson (2011-02-02 09:31:30)

Offline

#15 2011-02-02 09:51:00

ajoessen
Member
Registered: 2009-09-16
Posts: 2,074

Re: Fragen zu Postgis / PostgreSQL

juson wrote:
ajoessen wrote:

Hast du denn postgis als exe oder als zip runtergeladen? Da stand bei mir bisher der flasche Link. Mit der exe wird postgis gleich in postgres eingebunden. Alternativ kann man das über den postgres Stack builder machen, habe ich selber aber nicht probiert.

Das hier  "PostGIS 1.5.2 release for PostgreSQL 8.4 (inc. GEOS 3.2.2/PROJ 4.6.1 ~12Mb)" [EDIT] also die exe[ /EDIT] Das war soweit auch erfolgreich. Was nicht ging waren die osmosis Skripte. Ev. muß die osmosis.bat noch angepaßt werden?

Nö, die habe ich nicht geändert. Hast du CommandWindowHere installiert? Wenn nicht, Start/Ausführen/cmd
und in das Verzeichnis der batch-datei wechseln, und schauen, wo er meckert. Am besten teilst du vorher die batch auf: die ersten beiden Zeilen legen die osmosisdb an, die nächsten vier rufen postgis-skripte auf, danach die osmosis-skripte.

EDIT: Da du Windows7 benutzt: wird %ProgramFiles% eventuell flasch ausgewertet?

Gruß,
ajoessen

Last edited by ajoessen (2011-02-02 09:56:16)

Offline

#16 2011-02-03 08:41:17

okilimu
Member
Registered: 2010-01-01
Posts: 667

Re: Fragen zu Postgis / PostgreSQL

Ich habe unter Windows XP eine postgre 8.3 laufen und dann postgis 1.5 über den Postgre Stack Builder nachinstalliert.

Folgende Skripte habe ich in dieser Reihenfolge für die simdle DB laufen lassen:

c:\Programme\PostgreSQL\8.3\bin\createuser -U postgres osmuser
c:\Programme\PostgreSQL\8.3\bin\createdb -U postgres -E UTF8 -O osmuser osmdb
c:\Programme\PostgreSQL\8.3\bin\createlang -U postgres plpgsql osmdb
c:\Programme\PostgreSQL\8.3\bin\psql  -U osmuser -d osmdb -f "c:\Programme\PostgreSQL\8.3\share\contrib\postgis-1.5\postgis.sql"
c:\Programme\PostgreSQL\8.3\bin\psql -U osmuser -d osmdb -f "c:\Programme\PostgreSQL\8.3\share\contrib\postgis-1.5\spatial_ref_sys.sql"
c:\Programme\PostgreSQL\8.3\bin\psql -U osmuser  -d osmdb -f "c:\Programme\PostgreSQL\8.3\share\contrib\_int.sql"
c:\Programme\PostgreSQL\8.3\bin\psql -U osmuser  -d osmdb -f "c:\Programme\PostgreSQL\8.3\share\contrib\hstore.sql"
c:\Programme\PostgreSQL\8.3\bin\psql -U osmuser  -d osmdb -f "..\script\pgsql_simple_schema_0.6.sql"
c:\Programme\PostgreSQL\8.3\bin\psql -U osmuser  -d osmdb -f "..\script\pgsql_simple_schema_0.6_action.sql"
c:\Programme\PostgreSQL\8.3\bin\psql -U osmuser  -d osmdb -f "..\script\pgsql_simple_schema_0.6_bbox.sql"
c:\Programme\PostgreSQL\8.3\bin\psql -U osmuser  -d osmdb -f "..\script\pgsql_simple_schema_0.6_linestring.sql"

Bei meinem früheren Post hatte ich mich vertan mit den postgis-Skripten bis inkl. hstore, die bei postgis dabei sind und den simple_schema-Skripten, die natürlich bei osmosis dabei sind, wie ajoessen geschrieben hat.

Wichtig war bei mir der Übergang beim zweiten Skripte, createdb. Ab da immer mit dem speziellen User,  der in diesem Schritt für die DB definiert wird, wenn Du nicht postgres als User für Deine DB nehmen willst.

Viele Grüße

Dietmar

Offline

#17 2011-02-03 08:57:34

ajoessen
Member
Registered: 2009-09-16
Posts: 2,074

Re: Fragen zu Postgis / PostgreSQL

okilimu wrote:

Ich habe unter Windows XP eine postgre 8.3 laufen und dann postgis 1.5 über den Postgre Stack Builder nachinstalliert.



Wichtig war bei mir der Übergang beim zweiten Skripte, createdb. Ab da immer mit dem speziellen User,  der in diesem Schritt für die DB definiert wird, wenn Du nicht postgres als User für Deine DB nehmen willst.

Wobei noch wichtig wäre, dass diese Datenbank nicht mit osm2pgsql befüllt werden kann/darf, und Mapnik ohne Tuning damit nichts anfangen kann. Deshalb heisst diese Datenbank bei mir osmosisdb. Den user postgres habe ich nicht genommen, weil ich sonst eventuell überall das superuser-passwort mitschleppen müsste.

Gruß,
ajoessen

Offline

#18 2011-02-03 09:04:17

okilimu
Member
Registered: 2010-01-01
Posts: 667

Re: Fragen zu Postgis / PostgreSQL

ajoessen wrote:
okilimu wrote:

Ich habe unter Windows XP eine postgre 8.3 laufen und dann postgis 1.5 über den Postgre Stack Builder nachinstalliert.



Wichtig war bei mir der Übergang beim zweiten Skripte, createdb. Ab da immer mit dem speziellen User,  der in diesem Schritt für die DB definiert wird, wenn Du nicht postgres als User für Deine DB nehmen willst.

Wobei noch wichtig wäre, dass diese Datenbank nicht mit osm2pgsql befüllt werden kann/darf, und Mapnik ohne Tuning damit nichts anfangen kann. Deshalb heisst diese Datenbank bei mir osmosisdb. Den user postgres habe ich nicht genommen, weil ich sonst eventuell überall das superuser-passwort mitschleppen müsste.

Gruß,
ajoessen

Klar, meine Angaben bezogen sich auf die simple DB, die von osmosis unterstützt wird.

Eine osm2pgsql habe ich so erstellt:

c:\Programme\PostgreSQL\8.3\bin\createuser -U postgres osm2pgsql
c:\Programme\PostgreSQL\8.3\bin\createdb -U postgres -E UTF8 -O osm2pgsql
c:\Programme\PostgreSQL\8.3\bin\createlang -U osm2pgsql plpgsql
c:\Programme\PostgreSQL\8.3\bin\psql -U osm2pgsql  -d osm2pgsql -f "c:\Programme\PostgreSQL\8.3\share\contrib\hstore.sql"
c:\Programme\PostgreSQL\8.3\bin\psql -U osm2pgsql  -d osm2pgsql -f "c:\Programme\PostgreSQL\8.3\share\contrib\_int.sql"
c:\Programme\PostgreSQL\8.3\bin\psql  -U osm2pgsql -d osm2pgsql -f "c:\Programme\PostgreSQL\8.3\share\contrib\postgis-1.5\postgis.sql"
c:\Programme\PostgreSQL\8.3\bin\psql -U osm2pgsql -d osm2pgsql -f "c:\Programme\PostgreSQL\8.3\share\contrib\postgis-1.5\spatial_ref_sys.sql"

c:\Programme\PostgreSQL\8.3\bin\psql -U osm2pgsql -d osm2pgsql
ALTER TABLE geometry_columns OWNER TO osm2pgsql;
ALTER TABLE spatial_ref_sys OWNER TO osm2pgsql;
\q

hier habe ich eine andere Reihenfolge der postgis-Skripte verwendet, das hatte ich für diese so, glaube ich, ich osm wiki gefunden.

Ich habe beide probiert. Leider sind die tags-Spalten bei der osm2pgsql nicht als hstore definiert, sondern als text[]. Daher waren osm Tags für mich nicht so einfach auswertbar und ich bin derzeit mit der simple db am spielen.

Viele Grüße

Dietmar

Offline

#19 2011-02-03 14:28:53

mapfriend70
Member
Registered: 2010-01-10
Posts: 52

Re: Fragen zu Postgis / PostgreSQL

Wo ist eigentlich der Unterschied zwischen der osm2pgsql erstellten und der simple DB? Gibt es vielleicht hierzu eine Übersicht.

Gruß
mapfriend70

Offline

#20 2011-02-03 15:03:35

brogo
Member
From: 54,11 +-1°
Registered: 2009-06-02
Posts: 553

Re: Fragen zu Postgis / PostgreSQL

%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_bbox.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_linestring.sql"

Wozu dienen eigentlich 'bbox' und 'linestring'? Irgendwo habe ich zu Osmosis gelesen, daß man eigentlich dringend auch sie verzichten sollte, sofern man sie nicht unbedingt benötigt, da diese den Import großer Datenmengen unheimlich verlangsamen.

Kann dann die Datenbank mit Abfragen wie für die XAPI füttern und entsprechende resultate bekommen?

Christian

Offline

#21 2011-02-03 15:18:15

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Fragen zu Postgis / PostgreSQL

brogo wrote:

Wozu dienen eigentlich 'bbox' und 'linestring'? Irgendwo habe ich zu Osmosis gelesen, daß man eigentlich dringend auch sie verzichten sollte, sofern man sie nicht unbedingt benötigt, da diese den Import großer Datenmengen unheimlich verlangsamen.

linestring und  bbox sind Objekte in der DB, die für Geographische Abfragen verwendet werden (GIS). So ist es ganz einfach abzufragen, welche Objekte sich in welcher Stadt befinden oder was im Umkreis von 10 Metern rechts und links einer Strasse liegt (welche Bäume müssen weg, wenn die Straße breiter wird, ...)
Es geht auch ohne, aber dann dauern die Abfragen erheblich länger.

Kann dann die Datenbank mit Abfragen wie für die XAPI füttern und entsprechende resultate bekommen?

na klar. Der OSM-Server ist auch nur eine Postgresql-DB und die API/XPAI macht auch "nur" Abfragen - also das Selbe in Grün.
Mit einer funktionierenden DB (egal ob simple oder osm2pgsql) hast du sowas wie deinen eigenen xapi-server. Nur die Syntax ist anders - sql halt.
Gruss
Walter

p.s. Du brauchst dann zwar keinen XAPI-Server mehr, hast aber verdammt viel Arbeit, das Kind am Leben zu halten. Hat alles seinen Preis.

Last edited by wambacher (2011-02-03 15:19:13)

Offline

#22 2011-02-03 15:21:01

ajoessen
Member
Registered: 2009-09-16
Posts: 2,074

Re: Fragen zu Postgis / PostgreSQL

brogo wrote:

%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_bbox.sql"
%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmosisdb -f "D:\Karten\OpenStreetMap\osmosis\script\pgsql_simple_schema_0.6_linestring.sql"

Wozu dienen eigentlich 'bbox' und 'linestring'? Irgendwo habe ich zu Osmosis gelesen, daß man eigentlich dringend auch sie verzichten sollte, sofern man sie nicht unbedingt benötigt, da diese den Import großer Datenmengen unheimlich verlangsamen.

Frag mich was leichteres ;-) Ich weiß nur, dass es so durchläuft.

Kann dann die Datenbank mit Abfragen wie für die XAPI füttern und entsprechende resultate bekommen?

Du kannst alles, was du mit osmosis aus einem Extrakt filtern kannst, direkt aus der Datenbank abfragen. Also z.B. eine bbox ausschneiden, und mit kosmos oder mapritive rendern, oder nach beliebigen tag-Kombinationen filtern.

Gruß,
ajoessen

Offline

#23 2011-02-03 15:25:44

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Fragen zu Postgis / PostgreSQL

mapfriend70 wrote:

Wo ist eigentlich der Unterschied zwischen der osm2pgsql erstellten und der simple DB? Gibt es vielleicht hierzu eine Übersicht.

Gruß
mapfriend70

mir ist leider keine Gegenüberstellung bekannt. sad
Der große Unterschied liegt in der internen Tabellsenstruktur.
osm2pgsql erstelle eine db, die primär zum Rendern von Karten (z.b. mit mapnik) gedacht sind. simple ist da etwas "neutraler" aber nicht so gut zum Rendern gemacht.
es gibt sogar einige Kollegen (z.b. ajoessen), die beide Verfahren parallel verwenden - je nachdem was gerade "anliegt".
Such dir halt eine der beiden aus UND VERWECHSEL DIE NICHT wink
Gruss
Walter

Offline

#24 2011-02-03 17:11:22

okilimu
Member
Registered: 2010-01-01
Posts: 667

Re: Fragen zu Postgis / PostgreSQL

mapfriend70 wrote:

Wo ist eigentlich der Unterschied zwischen der osm2pgsql erstellten und der simple DB? Gibt es vielleicht hierzu eine Übersicht.

Gruß
mapfriend70

Bei beiden DBs werden die Tabellen von den jeweiligen Programmen osmosis bzw. osm2pgsql erzeugt.

Simple DB (osmosis)

* Die Struktur bei simple DB (osmosis) ist fest.

osm2pgsql
* Beim Import kann man einen Prefix angeben (z.B. planet), diesen erhalten dann die Tabellen. Hier kann man also mehrere Importen in verschiedene Tabellen ablegen.
* Außerdem kann man bei dieser DB über eine Konfigurationsdatei beim Import angegeben, welche OSM Tags in extra Tabellen-Spalten abgelegt werden sollen (Standard-Style z.B. addr:housenumber, amenity etc. und getrennt nach den
* drei Arten Knoten, Linien und geschlossene Wege. Die Unterscheidung zwischen Linie und geschlossenem Weg ist eine weitere Besonderheit dieser DB.
* Außerdem gibt es noch eine extra Tabelle für Roads mit den highway= Arten (nicht geprüft, ob alle).
* Durch die Konfigurationsdateien kann man besser auf gewünschte Tags zugreifen. Aber der Zugriff auf alle Tags ist mir als SQL-Newbie nicht wirklich gelungen. So ist auch der Zugriff auf die Relations-Tags schwieriger (für mich) als bei der simple DB (Spaltenformat text[] statt hstore).

Insgesamt ist die simple DB näher am Original OSM-Datenmodell.


Eine Frage an die SQL-ler:

bei der simple-DB frage ich so nach einem Tag Key/Value
select tags->'name' as strassenname from ways where ( tags @> 'highway=>"residential"');
wie ist die entsprechende Anfrage bei der osm2pgsql-DB, wenn wir mal davon ausgehen, daß highway nicht extra vorliegt, sondern nur über tags ausgewertet werden kann (real will ich andere, seltene Tags abfragen und nicht extra viele Spalten definieren)?


Viele Grüße

Dietmar

Offline

#25 2011-02-03 17:41:52

SunCobalt
Member
From: Eislingen
Registered: 2010-01-09
Posts: 3,810

Re: Fragen zu Postgis / PostgreSQL

ganz dünnes Eis bei mir. In der Mapserver Render-Config werden Straßen so rausgeholt
select way, osm_id ,highway,ref, name, tunnel from osm_line where highway is not null order by z_order


Thomas

Offline

Board footer

Powered by FluxBB