Bon.
J’ai tout remis à plat pour repenser le truc et parti de la table
planet_osm_point pour que kosmtik / mapnik se concentre sur cette table.
Et ça donne la grosse requête avec x sous-requêtes ci-dessous.
Ça fonctionne très bien sur un dump Bretagne (administrative) et sous kosmtik.
\o/
Mais
en principe c'est toujours l'algo suivant à appliquer :
- charger les membres des relations, ne garder que ceux de type "way" et
ayant un rôle vide (déprécié), ou "outer"/"inner" (conserver ces rôles en
métadonnées)
- trouver les ways communs (avec le même id) : il ne devrait y avoir que 1
ou 2
Je n’ai toujours pas trouver de solutions malgré différents essais.
J’aimerai éviter de créer une table en dur compliquée à maintenir à jour.
> Le 28 sept. 2018 à 08:09, Maël REBOUX a écrit :
>
> je vois l’idée mais c’est pas encore ça.
>
> …
> "table": "(
> SELECT DISTINCT way,
je vois l’idée mais c’est pas encore ça.
…
"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
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
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",
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
7 matches
Mail list logo