Signification des tables pgsql

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
HSylvio

Signification des tables pgsql

Message par HSylvio » jeu. mars 01, 2012 4:33 pm

Re_

j'avoue ne pas avoir encore trop cherché, mais il faut bien que le forum vive un peu!!
Donc je vais poser une question qui compte triple, vu que je n'ai pas bien compris comment était alimentée ma BD pgsql, via osm2pgsql :

-dans quelle table et sous quel filtre je peux trouver les contours administratifs (villes/depts); par exemple les radars sont dans planet_osm_point <= filtre [highway]='speed_camera';
-y a-t-il un format commun ou bien est-ce que je risque de devoir changer si je change de pays/région (pour l'instant je bosse uniquement avec l'extraction de rhone-alpes.osm), et donc, SUROUT, où est donc cette doc??
-quelles différences entre planet_osm_roads => highway = 'primary' et lines => highway = 'primary', par exemple (il semble que ce soit les mêmes alors pourquoi les mettre deux fois?
-quels sont les formats de 'way' et comment transformer des (listes de) coordonnées en ces formats (points, polygon, lines...??) - sachant que je veux alimenter la base depuis un .cpp -

voilà désolé d'en demander tant d'un coup; mais peut-être que je me répondrai moi même, vu que je retourne de ce pas à la recherche du parseur perdu...

Ab_fab

Re: Signification des tables pgsql

Message par Ab_fab » jeu. mars 01, 2012 4:45 pm

Est-ce que cette page clarifie assez les choses ?
http://wiki.openstreetmap.org/wiki/Osm2pgsql/schema

sly
Messages : 488
Inscription : sam. févr. 07, 2009 6:33 pm
Localisation : Chambéry - savoie

Re: Signification des tables pgsql

Message par sly » jeu. mars 01, 2012 4:48 pm

HSylvio a écrit : -dans quelle table et sous quel filtre je peux trouver les contours administratifs (villes/depts)
La table planet_osm_polygon avec le filtre boundary='administrative' (et en option le champs admin_level=X selon le niveau administratif)
sinon, ce que tu appeles "filtres" en terminologie mapnik, correspondent aussi au nom du champ dans les tables
-y a-t-il un format commun ou bien est-ce que je risque de devoir changer si je change de pays/région (pour l'instant je bosse uniquement avec l'extraction de rhone-alpes.osm)
A ma connaissance, le format est commun en tout cas dans toute l'europe. Mais certaines frontières administratives utilises autre chose que admin_level pour indiquer leur niveau administratif.
, et donc, SUROUT, où est donc cette doc??
Y'a pas vraiment de doc, les champs des tables importées par osm2pgsql correspondent pile poil au tags de la base OSM (à condition qu'elles soient listées dans le fichier de style de osm2pgsql) :
http://wiki.openstreetmap.org/wiki/Map_Features
-quelles différences entre planet_osm_roads => highway = 'primary' et lines => highway = 'primary', par exemple (il semble que ce soit les mêmes alors pourquoi les mettre deux fois?
osm2pgsql n'est pas un modèle de normalisation, il y a beaucoup de redondance dans la base, et je ne sais plus pourquoi. De souvenir, planet_osm_roads est plutôt censé contenir les relations type=route, mais je crois qu'il en a d'autres mais je sais plus trop, soyons honnête, le schéma de base de osm2pgsql est un peu à l'arrache et le code aussi ;-)
-quels sont les formats de 'way' et comment transformer des (listes de) coordonnées en ces formats (points, polygon, lines...??) - sachant que je veux alimenter la base depuis un .cpp -
J'ai pas compris. De quel "format de way" parles tu ? de quel ways ? et à quel endroit ? (dans les fichiers osm ? dans la base postgres ?)

Avatar de l’utilisateur
cquest
Messages : 1823
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Signification des tables pgsql

Message par cquest » jeu. mars 01, 2012 4:54 pm

planet_osm_roads sert à générer les tuiles des premiers niveaux de zoom à ce qu'il me semble. C'est une sorte de sous ensemble de planet_osm_line.

Il ne faut pas oublier à quoi sert osm2pgsql: générer une base postGis qui sera utilisée par Mapnik pour faire du rendu de tuiles.
Ce n'est pas forcément le schéma de BDD le plus adapté à ton usage...

HSylvio

Re: Signification des tables pgsql

Message par HSylvio » jeu. mars 01, 2012 5:06 pm

Merci beaucoup à tous les trois pour ces réponses (si rapides!);

si j'ai bien compris je pourrai alimenter la base en donnant un float[] pour ST_X(way), ou quelque chose dans le style...
Vraiment je vais explorer un peu plus les liens fournis avant de dire n'importe quoi!

Meci en tout cas!

HSylvio

Re: Signification des tables pgsql

Message par HSylvio » ven. mars 02, 2012 2:59 pm

Donc pour ajouter des données dans une table temporaire, il fallait simplement connaître un minimum le psql...

J'ai voulu créer une table qui sera ensuite utilisée par Mapnik:
"CREATE TABLE test_sol_1 (some_id serial PRIMARY KEY, name text, landuse text, highway text, way GEOMETRY);"

ensuite pour insérer des données (ici un point) :
INSERT INTO test_sol_1 (name, highway, way) values ('A red point!', 'aSolutionTest', ST_GeomFromText('POINT(5.435275 45.100254)'));

tout cela est faisable depuis le cpp (voir http://forum.openstreetmap.fr/viewtopic.php?f=3&t=198)

Bientôt un tuto complet peut-être?....?

Merci encore pour les liens vers la doc;
j'ai trouvé le manuel de http://postgis.refractions.net/ (docs/ch04.html#id2627236) bien utile.

Enjoy!

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 7 invités