Προς το περιεχόμενο

προβλημα με osm2pgsql


slevinkelevra

Προτεινόμενες αναρτήσεις

Καλησπέρα.....

 

Θέλω να χρησιμοποιήσω το osm2pgsql για να περάσω χάρτες στην postgresql db....

Κατέβασα το πακέτο HOTOSM και το εγκατέστησα, έκανα και reboot, κατέβασα και οτι ήθελα σε αρχείο με κατάληξη .osm απο το openStreetMap

 

Και...αυτά....έχω μπερδευτεί και δεν ξέρω πως να το συνεχίσω (είμαι πρωτάρης απ οτι καταλάβατε)

 

Έχω βρεί διάφορα sites με οδηγίες, αλλά άκρη δεν έχω βγάλει, πχ, τι εννοεί, όταν λέει οτι πρέπει να κανω "manually patch my db";; Που, τι να προσθέσω και πότε? Ή που θα βρώ αυτο το περιβόητο αρχείο style, και που ακριβώς θα το κοπιάρω?

 

Κυρίως απο ποιό command line δουλέυω, απο αυτό της postgresql? Δοκίμασα, αλλά τίποτα...

 

Δουλέυω με postgresql 9.1, postgis 2.0, pgAdmin 1.14.3, HOTOSM και windows 7

 

Ας μου πει κάποιος καλός χριστιανός 2,3 πράγματα αναλυτικά, ή να μου δώσει κάποιο Link με αναλυτική (για χαζούς) παρουσίαση του τι πρέπει να κάνω

 

Ευχαριστώ πολύ

 

slevin

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλησπερα και παλι...

warlock ευχαριστω, ναι το εχω δει....

 

γενικα εφτασα σε πολυ καλο σημειο, το εγκατεστησα και τρεχει αλλα οταν δινω εντολη να περασει τους χαρτες μου πεταει το προβλημα

>
failed: ERROR: function astext(geometry) does not exist

 

Αυτο γινεται επειδη, λεει, το osm2pgsql ειναι "παλιο" και δεν αναγνωριζει ολες τις functions της postGIS απο εκδοση 2.0 και πανω.

Ψαχνωντας για λυση κατέληξα εδώ

https://github.com/springmeyer/win-osm-workshop/blob/master/Tutorial.md#step-6-configure-the-osm-postgis-database

και συγκεκριμενα στο Step 6

 

Οταν τρεχω το 900913 sql απο την postGIS μου λεει οτι υπαρχει conflict μεταξυ αυτου που παω να εκτελεσω και του πινακα spatial_ref_sys. Αρα, υπαρχουν ηδη projections, σωστα?

Επισης δεν μπορω να τρεξω το αρχειο legacy. Και στο επισημο site της postGIS λεει οτι δεν ειναι και πολυ σοφο να παιζουμε καθε λιγο με το legacy.

 

Οποτε να επαναδιατυπωσω το προβλημα μου με το osm2pgsql.

Γενικα οι λυσεις που ειδα ειναι 2, ή να εγκαταστησω postGIS 1.5 ή να περασω τα patches που εχει το link παραπανω. Μιας και αυτη η λογικη ειναι λίγο "ποναει-νυχι-κοψει-χερι" και οι προγραμματιστες φημιζομαστε οτι ΔΕΝ τις ακολουθουμε, τουλάχστον οχι μεχρι να φτασουμε στο αμην, υπαρχει καποια αλλη λυση? Πιο αμεση και απλή? Μηπως εχει βρει κανεις πιο νεα εκδοση του osm2pgsql που να δουλευει κατευθειαν, χωρις να χρειαστει να "διαλυσω" τη βαση δεδομενων μου?

Για πες κ συ ρε warlock

 

Ευχαριστω πολυ και παλι

 

slevin

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

δε βλέπω να βγάζεις άκρη γιατί από ότι βλέπω είναι πολύ παλιό το εκτελέσιμο για τα windows, οπότε μάλλον πρέπει να πας στα patches για να παίξει την postgis σου

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλησπερα και πάλι

 

Ναι warlock εχεις δικιο, η μόνη λύση ειναι τα patch...Ευχαριστω και παλι

 

Κατσε να συγκεντρωσω ενα προχειρο "οδηγο" για οποιον αντιμετωπισει ιδιο προβλημα, να μη τραβηξει τα ιδια που τραβηξα και γω...

 

Το βασικο προβλημα είναι οτι η postGIS 2.0 ειναι νέα και το hotosm (που εγκαθιστα osm2pgsql σε windows) είναι "αρχάιο" οποτε χρειάζεται να περάσετε κάποια patch

 

-Κατεβαστε το hotosm απο εδω https://github.com/hotosm/installer/downloads

 

-Για το πως να το δουλεψετε δείτε εδω http://www.bostongis.com/PrinterFriendly.aspx?content_name=loading_osm_postgis και εδω http://skipperkongen.dk/2011/01/20/how-to-import-open-street-map-data-into-postgresql/ και εδω http://wiki.openstreetmap.org/wiki/Osm2pgsql#Windows Σημαντικο ειναι να δωσετε το option -s ωστε να τρεξει σε slim mode και να μη κρασαρει, ειδικα αν περνατε μεγαλα αρχεια. Και , ναι, δουλευετε απο το command line των windows...Μη μπερδευτείτε σαν εμένα (γκουχ γκουχ)

 

-Αν το osm2pgsql δεν αναγνωριζει το -W που ειναι για το password, οταν πατε να συνδεθειτε στη βαση, η λύση που εφαρμοσα εγω ειναι να πατε στο αρχειο pg_hba.config που βρισκεται στο C/Program files/postgresql/9.1/data να το ανοίξετε και κατω κατω να αλλαξετε, οπου αναφερει "md5" σε "trust" και κάντε save. md5 είναι τρόπος κρυπτογραφησης. Αν τον αλλαξουμε σε trust μπορουμε να συνδεόμαστε στη βάση "χύμα", οποτε δεν ειναι αναγκη να περνάμε password καθε φορα στην osm2pgsql. Οταν τελειώσετε, ΜΗΝ ξεχασετε να πατε στο ιδιο αρχειο και να αλλάξετε ΞΑΝΑ απο "trust", πισω σε "md5".

 

-Αν τρεχετε την osm2pgsql και σας πεταει το λάθος function astext(geometry) does not exist είναι για το λόγο που ειπα πριν (παλιο osm, νεα postGIS). Οποτε πρεπει να κανετε Patch φορτωνωντας ενα αρχειο legacy.sql στην postGIS ωστε να δουλευει και με παλιες functions που τις αναγνωριζει το osm2pgsql. Αυτο το αρχειο ήταν ήδη στο setup μου και το βρηκα στο C/ProgramFiles/postgresql/9.1/share/contrib/postgis-2.0. Αν δεν το βρειτε , για να το κατεβασετε πηγαιντε εδω https://github.com/springmeyer/win-osm-workshop/blob/master/Tutorial.md#step-6-configure-the-osm-postgis-database και συγκεκριμενα στο step 6, και στο "Initialize the database with legacy sql functions". Εκει θα βρειτε και οδηγιες πως να το περάσετε. Δεν ειναι αναγκη να το βαλετε στο φακελο data. Απλα ανοιξτε το, καντε copy/paste το περιεχομενο του και εκτελεστε το απο το sql του pgAdmin σας, παντα στη βαση στην οποια θελετε να περάσετε τους χαρτες.

 

-Αν τρεχετε την osm2pgsql και σας πεταει το λάθος operator class “gist_geometry_ops” does not exist for access method “gist” πηγαινετε εδω https://github.com/springmeyer/win-osm-workshop/blob/master/Tutorial.md#step-6-configure-the-osm-postgis-database, στο step 6 και συγκεκριμενα στο "Initialize the databse with legacy spatial indexing keyword" . Εκει εχει οδηγίες για άλλο ενα patch για την postGIS ,παλι, αν δε το εχετε μπορειτε να το κατεβασετε. Οταν λέει "κατεβασετε" εννοεί οτι στο link που δινει θα κοπιάρετε τον κωδικα και θα τον εκτελεσετε σαν query στο pgAdmin παντα στη βαση στην οποια θελετε να περάσετε τους χαρτες.

 

-Τελος υποτίθεται οτι υπαρχει θεμα και με τα projections οποτε χρειάζεται και τριτο patch στην PostGIS. Πρεπει να πατε παλι εδω https://github.com/springmeyer/win-osm-workshop/blob/master/Tutorial.md#step-6-configure-the-osm-postgis-database παλι στο step 6 και συγκεκριμενα στο "Initialize the database with a custom projection". Ξανά, καντε copy/paste οτι εμφανισει το link για download και εκτελέστε το σαν query στο pgAdmin παντα στη βαση στην οποια θελετε να περάσετε τους χαρτες. Αν σας βγάλει το εξης error μετα την εκτέλεση του query :

ERROR: duplicate key value violates unique constraint "spatial_ref_sys_pkey"

SQL state: 23505

Detail: Key (srid)=(900913) already exists

σημαίνει οτι ειστε OK και τα projections σας ειναι μια χαρα. Αλλιως αν σας βγαλει Query returned successfully... τοτε το patch εκτελέστηκε επιτυχώς.....

 

Να θυμήσω οτι εχω windows 7, postGIS 2.0, postgreSQL 9.1. Επίσης να ΤΟΝΙΣΩ οτι καθε συστημα, λειτουργικο και pc ειναι διαφορετικό, επειδη κάτι δουλεψε σε μενα , δε σημαινει απαραίτητα οτι θα δουλεψει ακριβώς το ιδιο και σε εσας. Διαμορφώστε τα παραπάνω σύμφωνα με το δικο σας συστημα....

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...