Les requêtes SQL sont ré-empaquetées par le driver postgis de mapnik et là je pense qu'il ne sait pas détecter que c'est dans "data" qu'il va trouver "way".
Essaye en ajoutant un paramètre "geometry_table": "data" voire aussi "geometry_field": "way" Pour l'ensemble des paramètres qu'on peut passer, voir: https://github.com/mapnik/mapnik/wiki/PostGIS Je pense aussi qu'un && !bbox! quelque part sera peut être nécessaire pour être sûr que la requête soit limitée à l'emprise à rendre... Le jeu. 27 sept. 2018 à 07:45, Maël REBOUX <o...@breizhpositive.bzh> a écrit : > J’ai oublié de mettre la déclaration de la couche dans le projet : > > > { > "id": "places_admin_6", > "name": "places_admin_6", > "class": "", > "Datasource": { > "type": "postgis", > "host": "db.openstreetmap.local", > "user": "osm", > "password": "osm", > "dbname": "osm", > "table": "( > SELECT DISTINCT way, COALESCE(tags -> 'name:br'::text) as name > FROM planet_osm_point > JOIN ( > WITH c AS( > SELECT row_number() OVER() AS row, entry > FROM( > SELECT unnest(members) AS entry > FROM planet_osm_rels > WHERE ARRAY['boundary','administrative']<@tags AND > ARRAY['admin_level','6']<@tags) AS mylist) > SELECT ltrim(a.entry,'n')::bigint AS osm_id > FROM c AS a JOIN c AS b > ON a.row = b.row-1 AND b.entry = 'admin_centre' > ) x > USING(osm_id) > ) AS data", > "key_field": "", > "geometry_field": "way", > "asynchronous_request": "true", > "max_async_connection": "4", > "simplify_geometries": "true", > "extent_cache": "auto", > "extent": "-1363990,3994624,1824475,9411676" > }, > "geometry": "point", > "srs-name": "3857", > "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 > +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over", > "extent": [ -10, 34, 20, 70 ], > "advanced": {} > } > > > > Le 27 sept. 2018 à 00:10, Maël REBOUX <o...@breizhpositive.bzh> a écrit : > > Bonjour tous, > > Je cherche à faire apparaître sur une carte en ligne les préfectures et > leur nom en breton. > > La façon d’y arriver est « connue » : il faut faire une jointure entre la > table planet_osm_point (qui contient le point et le nom) et la > table planet_osm_rels (qui elle contient l’info admin_level). > > Cela donne une requête qui s’exécute très bien en temps normal (pgAdmin ou > dans une vue ou une requête d’insertion de données / create table) : > > SELECT DISTINCT way, COALESCE(tags -> 'name:br'::text) as name > FROM planet_osm_point > JOIN ( > WITH numbered AS( > SELECT row_number() OVER() AS row, entry > FROM( > SELECT unnest(members) AS entry > FROM planet_osm_rels > WHERE ARRAY['boundary','administrative']<@tags AND > ARRAY['admin_level','6']<@tags) AS mylist) > SELECT ltrim(a.entry,'n')::bigint AS osm_id > FROM numbered AS a JOIN numbered AS b > ON a.row = b.row-1 AND b.entry = 'admin_centre' > ) x > USING(osm_id); > > > source : > https://dba.stackexchange.com/questions/104943/osm2pgsql-select-relation-member-by-role > > > Mais si je mets cette requête dans une déclaration de couche pour un > projet mml servi par kosmtik j’obtiens une erreur dans kosmtik : > > Postgis Plugin: ERROR: relation "numbered" does not exist LINE 1: SELECT > ST_SRID("way") AS srid FROM numbered WHERE "way" IS N... ^ in executeQuery > Full sql was: 'SELECT ST_SRID("way") AS srid FROM numbered WHERE "way" IS > NOT NULL LIMIT 1;' encountered during parsing of layer 'places_admin_6' in > Layer > > > En loggant l’erreur dans PostgreSQL : > > 2018-09-26 23:24:56.797 CEST [32589] STATEMENT: SELECT ST_SRID("way") AS > srid FROM numbered WHERE "way" IS NOT NULL LIMIT 1; > 2018-09-26 23:24:56.798 CEST [32590] LOG: statement: SELECT > ST_SRID("way") AS srid FROM numbered WHERE "way" IS NOT NULL LIMIT 1; > 2018-09-26 23:24:56.798 CEST [32590] ERROR: relation "numbered" does not > exist at character 36 > > > Je n’arrive pas à cerner le problème. Bien sûr si on change le nom > « numbered » par autre chose, le message d’erreur fera référence à ce > nouveau nom. > J’ai pas testé directement sur un serveur de tuiles mais je vois pas > pourquoi ça passerait. > Si quelqu’un a une piste… > > Cdt, Maël evit osm-bzh > > > > > > > > > > > > > _______________________________________________ > Talk-fr mailing list > Talk-fr@openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-fr > > > _______________________________________________ > Talk-fr mailing list > Talk-fr@openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-fr > -- Christian Quest - OpenStreetMap France
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-fr