Le 23 août 2011 09:09, Nicolas Dumoulin <[email protected]> a écrit : > Le Lundi 22 Août 2011 20:08:48 [email protected], vous avez écrit : >> pour une utilisation locale, >> je voudrais savoir si un way est >> + une route en raze campagne >> + en zone urbaine >> + les deux >> >> j'ai un extract de route (highway=primary & primary_link) et de way >> (landuse=residential) >> >> maintenant je ne sais pas comment proceder >> script, base de données ? les deux me sont pour l'instant inconnus... > > Je veux principalement deux solutions : > - la plus évidente (à mon sens) est d'importer tes données dans une base > postgis, tu auras alors tous les outils pour faire des requêtes sur la > topologie de tes données. Il existe des outils tout faits pour importer des > données OSM dans la base.
Cette solution reste la plus simple. Il te faut monter un base de données postgres avec postgis pour pouvoir l'utiliser avec osmosis. (Une autre solution est d'utiliser osm2pgsql). http://wiki.openstreetmap.org/wiki/Osmosis/PostGIS_Setup Une fois que tes données sont dans la base tu vas pouvoir faire des requêtes sur la topologie. Il te faut utiliser ST_Contains et ST_Intersects http://www.postgis.org/docs/ST_Contains.html http://www.postgis.org/docs/ST_Intersects.html Les requêtes à exécuter vont être du genre de : SELECT highway.id FROM ways AS landuse JOIN ways AS highway ON landuse.geom && highway.geom AND ST_Contains(landuse.geom, highway.geom) WHERE landuse.tags?'landuse' AND highway.tags?'highway' ; Mais tu risques d'avoir des problèmes avec les multopygones qu'il faudrait d'abord reconstituer. Par contre tu n'auras pas ce problème avec osm2pgsql. Fred _______________________________________________ dev-fr mailing list [email protected] http://lists.openstreetmap.org/listinfo/dev-fr
