From 63a4871ed1e9573e99f2557f5cd80b159dd06fca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Rodrigo?= Date: Thu, 22 Feb 2024 00:39:07 +0100 Subject: [PATCH] Use old_name and alt_name fields --- bano.yml | 2 ++ bano/sql/charge_noms_voies_lieux-dits_OSM.sql | 8 ++++---- bano/sql/charge_noms_voies_relation_OSM.sql | 10 +++++----- bano/sql/charge_points_nommes_centroides_OSM.sql | 8 ++++---- bano/sql/charge_points_nommes_places_OSM.sql | 4 ++-- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/bano.yml b/bano.yml index e80223a..0c25ea5 100644 --- a/bano.yml +++ b/bano.yml @@ -118,6 +118,8 @@ tables: - {name: 'member_index', type: member_index} - {key: 'ref:FR:FANTOIR', name: 'ref:FR:FANTOIR', type: string} - {key: 'name', name: 'name', type: string} + - {key: 'alt_name', name: 'alt_name', type: string} + - {key: 'old_name', name: 'old_name', type: string} - {key: 'type', name: 'type', type: string} planet_osm_postal_code: type: polygon diff --git a/bano/sql/charge_noms_voies_lieux-dits_OSM.sql b/bano/sql/charge_noms_voies_lieux-dits_OSM.sql index ccb04a2..437dd06 100644 --- a/bano/sql/charge_noms_voies_lieux-dits_OSM.sql +++ b/bano/sql/charge_noms_voies_lieux-dits_OSM.sql @@ -7,7 +7,7 @@ SELECT DISTINCT provenance, nature FROM (SELECT 1::integer AS provenance, pt.way, - UNNEST(ARRAY[pt.name,pt.tags->'alt_name',pt.tags->'old_name']) as name, + UNNEST(ARRAY[pt.name,pt.alt_name,pt.old_name]) as name, tags, CASE WHEN pt.place='' THEN 'voie'::text @@ -20,7 +20,7 @@ FROM (SELECT 1::integer AS provenance, UNION ALL SELECT 2, l.way, - UNNEST(ARRAY[l.name,l.tags->'alt_name',l.tags->'old_name']) as name, + UNNEST(ARRAY[l.name,l.alt_name,l.old_name]) as name, tags, 'voie' FROM (SELECT way FROM planet_osm_polygon WHERE "ref:INSEE" = '__code_insee__') p @@ -29,7 +29,7 @@ FROM (SELECT 1::integer AS provenance, UNION ALL SELECT 3, pl.way, - UNNEST(ARRAY[pl.name,pl.tags->'alt_name',pl.tags->'old_name']) as name, + UNNEST(ARRAY[pl.name,pl.alt_name,pl.old_name]) as name, tags, 'voie' FROM (SELECT way FROM planet_osm_polygon WHERE "ref:INSEE" = '__code_insee__') p @@ -40,4 +40,4 @@ LEFT OUTER JOIN suffixe h ON ST_Intersects(l.way, h.geometrie) LEFT OUTER JOIN (SELECT * FROM polygones_insee_a9 where insee_a8 = '__code_insee__') a9 ON ST_Contains(a9.geometrie,way) -WHERE l.name IS NOT NULL; \ No newline at end of file +WHERE l.name IS NOT NULL; diff --git a/bano/sql/charge_noms_voies_relation_OSM.sql b/bano/sql/charge_noms_voies_relation_OSM.sql index 0f386ab..229f6e8 100644 --- a/bano/sql/charge_noms_voies_relation_OSM.sql +++ b/bano/sql/charge_noms_voies_relation_OSM.sql @@ -6,21 +6,21 @@ SELECT DISTINCT provenance, a9.nom, 'voie'::text FROM (SELECT 4::integer AS provenance, - UNNEST(ARRAY[l.name,l.tags->'alt_name',l.tags->'old_name']) as name, + UNNEST(ARRAY[l.name,l.alt_name,l.old_name]) as name, l.way, r.tags FROM (SELECT way FROM planet_osm_polygon WHERE "ref:INSEE" = '__code_insee__') p - JOIN (SELECT name,tags,osm_id,way FROM planet_osm_line WHERE highway != '' AND name != '') l + JOIN (SELECT name,alt_name,old_name,tags,osm_id,way FROM planet_osm_line WHERE highway != '' AND name != '') l ON p.way && l.way AND ST_Contains(p.way, l.way) JOIN planet_osm_rels r ON r.osm_id = l.osm_id UNION ALL SELECT 5, - UNNEST(ARRAY[l.name,l.tags->'alt_name',l.tags->'old_name']) as name, + UNNEST(ARRAY[l.name,l.alt_name,l.old_name]) as name, l.way, r.tags FROM (SELECT way FROM planet_osm_polygon WHERE "ref:INSEE" = '__code_insee__') p - JOIN (SELECT name,tags,osm_id,way FROM planet_osm_polygon WHERE highway != '' AND name != '') l + JOIN (SELECT name,alt_name,old_name,tags,osm_id,way FROM planet_osm_polygon WHERE highway != '' AND name != '') l ON p.way && l.way AND ST_Contains(p.way, l.way) JOIN planet_osm_rels r ON r.osm_id = l.osm_id) l @@ -28,4 +28,4 @@ LEFT OUTER JOIN (SELECT * FROM suffixe WHERE code_insee = '__code_insee__') h ON ST_Intersects(way, h.geometrie) LEFT OUTER JOIN (SELECT * FROM polygones_insee_a9 where insee_a8 = '__code_insee__') a9 ON ST_Contains(a9.geometrie,way) -WHERE l.name IS NOT NULL; \ No newline at end of file +WHERE l.name IS NOT NULL; diff --git a/bano/sql/charge_points_nommes_centroides_OSM.sql b/bano/sql/charge_points_nommes_centroides_OSM.sql index 8ef2af6..a8e661e 100644 --- a/bano/sql/charge_points_nommes_centroides_OSM.sql +++ b/bano/sql/charge_points_nommes_centroides_OSM.sql @@ -2,7 +2,7 @@ WITH lignes_brutes AS (SELECT l.way, - unnest(array[l.name,l.tags->'alt_name',l.tags->'old_name']) AS name, + unnest(array[l.name,l.alt_name,l.old_name]) AS name, COALESCE(a9.code_insee,'xxxxx') as insee_jointure, a9.code_insee insee_ac, unnest(array["ref:FR:FANTOIR","ref:FR:FANTOIR:left","ref:FR:FANTOIR:right"]) AS fantoir, @@ -19,7 +19,7 @@ WHERE (l.highway != '' OR l.name != '' UNION ALL SELECT ST_PointOnSurface(l.way), - unnest(array[l.name,l.tags->'alt_name',l.tags->'old_name']) AS name, + unnest(array[l.name,l.alt_name,l.old_name]) AS name, COALESCE(a9.code_insee,'xxxxx') as insee_jointure, a9.code_insee insee_ac, "ref:FR:FANTOIR" AS fantoir, @@ -35,7 +35,7 @@ WHERE (l.highway||"ref:FR:FANTOIR" != '' OR l.landuse = 'residential' OR l.ame l.name != '' UNION ALL SELECT l.way, - unnest(array[l.name,l.tags->'alt_name',l.tags->'old_name']) AS name, + unnest(array[l.name,l.alt_name,l.old_name]) AS name, COALESCE(a9.code_insee,'xxxxx') as insee_jointure, a9.code_insee insee_ac, "ref:FR:FANTOIR" AS fantoir, @@ -50,7 +50,7 @@ WHERE l.member_role = 'street' AND l.name != ''), lignes_noms AS -(SELECT CASE +(SELECT CASE WHEN GeometryType(way) = 'POINT' THEN ST_MakeLine(ST_Translate(way,-0.000001,-0.000001),ST_Translate(way,0.000001,0.000001)) WHEN GeometryType(way) LIKE '%POLYGON' THEN ST_ExteriorRing(way) ELSE way diff --git a/bano/sql/charge_points_nommes_places_OSM.sql b/bano/sql/charge_points_nommes_places_OSM.sql index d6d9932..c0c7e35 100644 --- a/bano/sql/charge_points_nommes_places_OSM.sql +++ b/bano/sql/charge_points_nommes_places_OSM.sql @@ -2,12 +2,12 @@ WITH pts AS (SELECT pt.way, - UNNEST(ARRAY[pt.name,pt.tags->'alt_name',pt.tags->'old_name']) as name, + UNNEST(ARRAY[pt.name,pt.alt_name,pt.old_name]) as name, tags, place, a9.code_insee AS insee_ac, "ref:FR:FANTOIR" AS fantoir, - a9.nom AS nom_ac + a9.nom AS nom_ac FROM (SELECT way FROM planet_osm_polygon WHERE "ref:INSEE" = '__code_insee__') p JOIN (SELECT * FROM planet_osm_point WHERE place != '' AND name != '') pt ON pt.way && p.way AND