Les éléments cartographiques de Openstreetmap
https://wiki.openstreetmap.org/wiki/FR:%C3%89l%C3%A9ments_cartographiques
Restranscrit ici avec un tri pour éjecter les items singuliers ou sans rapport
Vous avez raison d'être vigilant. Si ces items ne sont pas dans votre stratégie de centralité, ils n'ont rien à faire dans la base de données, car ils "dilueraient" le score de service de vos quartiers.
J'ai repris votre fichier "Organisation du tableur d'aménités urbaines - Feuille 1.csv" ligne par ligne. En effet, votre nomenclature s'arrête aux services actifs. Les entrepôts ou les cathédrales ne font pas partie de votre liste de "Centralité".
Voici la commande corrigée et 100% fidèle à votre fichier CSV. J'ai supprimé toutes les catégories "R" (Religion) et "I" (Industrie) que j'avais indûment ajoutées, ainsi que les transports.
1. Injection de VOTRE nomenclature (Stricte)
Connectez-vous avec sudo -u postgres psql -d alteris_db et lancez ce bloc qui contient uniquement vos choix :
DROP TABLE IF EXISTS ref_nomenclature_alteris;
CREATE TABLE ref_nomenclature_alteris (categorie TEXT, cle TEXT, valeur TEXT);
INSERT INTO ref_nomenclature_alteris (categorie, cle, valeur) VALUES
-- C : Restaurations (Bloc 1 de votre CSV)
('C', 'amenity', 'bar'), ('C', 'amenity', 'biergarten'), ('C', 'amenity', 'cafe'),
('C', 'amenity', 'fast_food'), ('C', 'amenity', 'food_court'), ('C', 'amenity', 'ice_cream'),
('C', 'amenity', 'pub'), ('C', 'amenity', 'restaurant'),
-- E : Equipements Publics (Bloc 2 de votre CSV)
('E', 'amenity', 'college'), ('E', 'amenity', 'dancing_school'), ('E', 'amenity', 'driving_school'),
('E', 'amenity', 'first_aid_school'), ('E', 'amenity', 'kindergarten'), ('E', 'amenity', 'language_school'),
('E', 'amenity', 'library'), ('E', 'amenity', 'music_school'), ('E', 'amenity', 'school'),
('E', 'amenity', 'university'),
-- S : Santé (Bloc 3 de votre CSV)
('S', 'amenity', 'baby_hatch'), ('S', 'amenity', 'clinic'), ('S', 'amenity', 'dentist'),
('S', 'amenity', 'doctors'), ('S', 'amenity', 'hospital'), ('S', 'amenity', 'nursing_home'),
('S', 'amenity', 'pharmacy'), ('S', 'amenity', 'social_facility'), ('S', 'amenity', 'veterinary'),
-- M : Magasins - Alimentation & Mode (Bloc 4 de votre CSV)
('M', 'shop', 'bakery'), ('M', 'shop', 'frozen_food'), ('M', 'shop', 'greengrocer'),
('M', 'shop', 'clothes'), ('M', 'shop', 'fashion_accessories'), ('M', 'shop', 'jewelry'),
('M', 'shop', 'leather'), ('M', 'shop', 'shoes'), ('M', 'shop', 'tailor'), ('M', 'shop', 'watches'),
-- G : Grandes Surfaces (Bloc 5 de votre CSV)
('G', 'shop', 'supermarket'), ('G', 'shop', 'mall');
-- Création de la couche géographique (Jointure Interne Stricte)
DROP TABLE IF EXISTS toulon_items_strict;
CREATE TABLE toulon_items_strict AS
SELECT
p.osm_id, p.name, n.categorie, n.cle as osm_key, n.valeur as osm_value,
ST_Transform(p.way, 4326) as geom
FROM planet_osm_point p
JOIN ref_nomenclature_alteris n ON (p.amenity = n.valeur AND n.cle = 'amenity') OR (p.shop = n.valeur AND n.cle = 'shop')
WHERE ST_Intersects(p.way, (SELECT ST_Transform(geom, 3857) FROM referentiel_communes WHERE code_insee = '83137'))
UNION ALL
SELECT
poly.osm_id, poly.name, n.categorie, n.cle as osm_key, n.valeur as osm_value,
ST_Transform(ST_Centroid(poly.way), 4326) as geom
FROM planet_osm_polygon poly
JOIN ref_nomenclature_alteris n ON (poly.amenity = n.valeur AND n.cle = 'amenity') OR (poly.shop = n.valeur AND n.cle = 'shop')
WHERE ST_Intersects(poly.way, (SELECT ST_Transform(geom, 3857) FROM referentiel_communes WHERE code_insee = '83137'));
2. Exportation en GPKG (La version finale conforme)
Quittez psql avec \q et lancez cette commande pour obtenir votre fichier de travail :
sudo -u postgres ogr2ogr -f "GPKG" \
"/tmp/Toulon_Items_Fideles.gpkg" \
PG:"dbname=alteris_db" \
"toulon_items_strict" && \
sudo mv /tmp/Toulon_Items_Fideles.gpkg /home/debian/osm_data/referentiels/R93/D83/E248300543/C83137/ && \
sudo chown debian:debian /home/debian/osm_data/referentiels/R93/D83/E248300543/C83137/Toulon_Items_Fideles.gpkg
Pourquoi ce fichier est maintenant le bon ?
Zéro pollution : J'ai supprimé toute mention de building, de religion, d' industrie ou de parking.
Focus Centralité : Vous n'avez que la Restauration (C), l'Éducation (E), la Santé (S) et les Commerces (M/G).
Respect du Tableur : Chaque osm_value correspond à une ligne de votre CSV "Feuille 1".
Une fois ce fichier Toulon_Items_Fideles.gpkg ouvert dans QGIS, vous aurez une base de données parfaitement alignée avec votre méthodologie Alteris. Dites-moi si vous voyez encore une anomalie !