[Talk-de] Problem mit Osmosis beim Einlesen der Datenbank

Greg Kerridge gregkerridge at googlemail.com
Fr Apr 29 10:26:18 UTC 2011


Hi,

also da wir mit einer frischen Datenbank starten, kann das eigentlich
nicht das Problem sein. Anbei mal unser Skript.

Gruß,
Greg

# parameters
PBF=http://download.geofabrik.de/osm/europe.osm.pbf
OSM=http://download.geofabrik.de/osm/europe.osm.bz2
USER=openstreetmap
DATABASE=db_setup
PASSWORD=********
PSQL_VERSION=8.4
RAILS_PORT_FOLDER=$HOME/rails-port
 # make sure that config/database.yml has a db_setup env with $DATABASE
 # and also enter this env into config/application.yml
 # and have a link from config/environments/development.rb to
config/environments/db_setup.rb
PLANNING_DO_ROAM=$HOME/planning-do-roam/ActivityRoutePlanner
DOWNLOAD_FOLDER=/local/isos/emobility/tmp
OSM_FILE=$(basename $OSM)

# 1. set up the OSM database and give the user "$USER" all privileges

psql -U postgres -c "DROP DATABASE $DATABASE;" || true
createdb -U postgres $DATABASE
psql -U postgres -d $DATABASE <
/usr/share/postgresql/$PSQL_VERSION/contrib/btree_gist.sql
psql -U postgres -d $DATABASE -c "GRANT ALL PRIVILEGES ON DATABASE
$DATABASE TO $USER"

# 2. create the OSM tables

# in the rails port repository folder
cd $RAILS_PORT_FOLDER
rake db:migrate RAILS_ENV=db_setup

# 3. run Osmosis

cd $DOWNLOAD_FOLDER
rm $OSM || true
wget $OSM

osmosis --read-xml-0.6 file="$OSM_FILE" --write-apidb-0.6
populateCurrentTables=yes host="localhost" database="$DATABASE"
user="$USER" password="$PASSWORD" validateSchemaVersion=no



Am 29. April 2011 11:09 schrieb Dietmar <ostrmap at diesei.de>:
> Hallo Greg,
>
> bei mir kam der Fehler immer, wenn ich in der DB schon früher einen Import
> durchgeführt hatte und die Daten noch vorhanden sind.
>
> Soweit ich mich mal eingelesen hatte (ein paar Wochen her), kannst Du in das
> simple Schema (da osmosis native Importverfahren) nicht Daten in eine
> nicht-leere DB importieren.
>
> Daher führe ich immer vorab folgenden Befehl durch:
>
> Du hast in der DB früher schon einen Import durchgeführt und die vorhandenen
> Daten nicht gelöscht, oder?
>
> call osmosis --truncate-pgsql user="xxx" database="yyy" password="zzz"
>
>
> Viele Grüße
>
> Dietmar
>
>> -----Ursprüngliche Nachricht-----
>> Von: Greg Kerridge [mailto:gregkerridge at googlemail.com]
>> Gesendet am: Freitag, 29. April 2011 10:41
>> An: Openstreetmap allgemeines in Deutsch
>> Betreff: [Talk-de] Problem mit Osmosis beim Einlesen der Datenbank
>>
>> Moin ,
>>
>> hoffe ich bin mit dem Thema hier einigermaßen richtig.
>>
>> Ich habe Probleme, mit Osmosis die Europa-Datenbank von OSM einzulesen.
>>
>> Ich versuche es mit
>>
>> wget http://download.geofabrik.de/osm/europe.osm.bz2
>> osmosis --read-xml-0.6 file="europe.osm.bz2" --write-apidb-0.6
>> populateCurrentTables=yes host="localhost" database="$DATABASE"
>> user="$USER" password="$PASSWORD" validateSchemaVersion=no
>>
>> und bekomme folgenden Fehler:
>>
>> org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to
>> insert user with id 121502 into the database.
>> [...]
>> Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key
>> value violates unique constraint "users_display_name_idx"
>>
>>
>> Vielleicht hat jemand eine Antwort, würde mir helfen!
>>
>> Gruß.
>> Greg
>>
>> _______________________________________________
>> Talk-de mailing list
>> Talk-de at openstreetmap.org
>> http://lists.openstreetmap.org/listinfo/talk-de
>>
>
>
> _______________________________________________
> Talk-de mailing list
> Talk-de at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-de
>




Mehr Informationen über die Mailingliste Talk-de