# Essai - 83137 - délimitation automatique des centralités fonctionnelles

<main class="content-wrap card" id="bkmrk-1---la-hi%C3%A9rarchisati"># 1 - La hiérarchisation des filaires (axes, routes et voies)

<div class="page-content clearfix"><div dir="auto"><div>  
</div><div id="bkmrk-">[![260305-Matrice des filaires.png](https://bookstack.juxjux.ovh/uploads/images/gallery/2026-03/scaled-1680-/260305-matrice-des-filaires.png)](https://bookstack.juxjux.ovh/uploads/images/gallery/2026-03/260305-matrice-des-filaires.png)</div></div></div>## 2- La Grille des filaires

La base des filaires - la grille - c'est la classification OSM-expert

[Le tableau est ici ](https://docs.google.com/spreadsheets/d/1DBBdDSaxFfXPchq6BUBhlQmkV2N0HK3AKi3W7DN5ZOQ/edit?gid=867615254#gid=867615254)

<div class="page-content clearfix"><div dir="auto"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1p"><div class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement"><span style="font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;">DROP TABLE IF EXISTS zones\_motifs\_filaires\_v3 CASCADE;</span></div></div></div><div class="cm-content"><div class="cm-line">  
</div><div class="cm-line">CREATE TABLE zones_motifs_filaires_v3 AS</div><div class="cm-line">WITH extraction AS (</div><div class="cm-line">-- Étape 1 : On lit la géométrie et on extrait les informations clés du JSON</div><div class="cm-line">SELECT</div><div class="cm-line">osm_id,</div><div class="cm-line">tags-&gt;&gt;'name' AS nom_voie,</div><div class="cm-line">tags-&gt;&gt;'highway' AS type_osm,</div><div class="cm-line">tags-&gt;&gt;'lanes' AS nb_voies,</div><div class="cm-line">tags-&gt;&gt;'maxspeed' AS vitesse_max,</div><div class="cm-line">ST_Transform(geom, 2154) AS geom_ligne -- Projection en Lambert 93 (mètres)</div><div class="cm-line">FROM osm_lignes</div><div class="cm-line">WHERE tags-&gt;&gt;'highway' IS NOT NULL</div><div class="cm-line">),</div><div class="cm-line">classification AS (</div><div class="cm-line">-- Étape 2 : On applique VOS règles d'urbanisme (L'entonnoir Alteris)</div><div class="cm-line">SELECT</div><div class="cm-line">osm_id, nom_voie, type_osm, geom_ligne,</div><div class="cm-line">CASE</div><div class="cm-line">-- 1. TRANSIT (F_T)</div><div class="cm-line">WHEN type_osm IN ('motorway', 'motorway_link') THEN 'F_T1'</div><div class="cm-line">WHEN type_osm IN ('trunk', 'trunk_link') THEN 'F_T2'</div><div class="cm-line">WHEN type_osm IN ('primary', 'secondary')</div><div class="cm-line">AND (nb_voies IN ('3', '4', '5', '6', '7', '8')</div><div class="cm-line">OR vitesse_max IN ('70', '80', '90', '110', '130'))</div><div class="cm-line">THEN 'F_T3'</div><div class="cm-line">  
</div><div class="cm-line">-- 2. DESSERTE (F_D)</div><div class="cm-line">-- Note : Si une route 'primary' arrive ici, c'est qu'elle a échoué au test F_T3 au-dessus !</div><div class="cm-line">WHEN type_osm = 'primary' THEN 'F_D1'</div><div class="cm-line">WHEN type_osm = 'secondary' THEN 'F_D2'</div><div class="cm-line">WHEN type_osm IN ('pedestrian', 'living_street') THEN 'F_D3'</div><div class="cm-line">  
</div><div class="cm-line">-- 3. LOCAL (F_L)</div><div class="cm-line">WHEN type_osm IN ('tertiary', 'residential') THEN 'F_L1'</div><div class="cm-line">WHEN type_osm = 'unclassified' THEN 'F_L2'</div><div class="cm-line">ELSE 'F_L3'</div><div class="cm-line">END as code_pattern</div><div class="cm-line">FROM extraction</div><div class="cm-line">)</div><div class="cm-line">-- Étape 3 : On génère les emprises spatiales (buffers) avec les bonnes largeurs</div><div class="cm-line">SELECT</div><div class="cm-line">osm_id,</div><div class="cm-line">nom_voie,</div><div class="cm-line">code_pattern,</div><div class="cm-line">ST_Buffer(geom_ligne,</div><div class="cm-line">CASE</div><div class="cm-line">WHEN code_pattern = 'F_T1' THEN 100</div><div class="cm-line">WHEN code_pattern = 'F_T2' THEN 75</div><div class="cm-line">WHEN code_pattern = 'F_T3' THEN 50</div><div class="cm-line">WHEN code_pattern = 'F_D1' THEN 50</div><div class="cm-line">WHEN code_pattern = 'F_D2' THEN 35</div><div class="cm-line">WHEN code_pattern = 'F_D3' THEN 35</div><div class="cm-line">WHEN code_pattern = 'F_L1' THEN 25</div><div class="cm-line">WHEN code_pattern = 'F_L2' THEN 10</div><div class="cm-line">WHEN code_pattern = 'F_L3' THEN 10</div><div class="cm-line">ELSE 10</div><div class="cm-line">END</div><div class="cm-line">) as geom</div><div class="cm-line">FROM classification;</div><div class="cm-line">  
</div><div class="cm-line">-- Étape 4 : L'index spatial pour rendre les futurs calculs ultra-rapides</div><div class="cm-line">CREATE INDEX idx_zones_motifs_v3_geom ON zones_motifs_filaires_v3 USING GIST(geom);</div></div><div class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div class="cm-layer cm-selectionLayer">  
</div></div></div></div></div>## 3- La profondeur du motif urbain 

Nouvelle définition d'une bande de motif urbain proportionnelle au rang hiérarchique des filaires.  
L'évolution de la profondeur fait varier l'intensité fonctionnelle.  
[Le tableau de référence sous Drive](https://docs.google.com/spreadsheets/d/1DBBdDSaxFfXPchq6BUBhlQmkV2N0HK3AKi3W7DN5ZOQ/edit?gid=1802772327#gid=1802772327)

Nouvelle version du 260305 - majoration des filaires sur les routes de desserte afin de mieux intersecter les items fonctionnels d'Openstreetmap. Dans cette version, la profondeur des filaires passe à 35 mètres pour les F\_D1 et F\_D2.

<div class="page-content clearfix"><div dir="auto"><table dir="ltr" id="bkmrk-hi%C3%A9rarchisation-des-"><tbody><tr><td>Hiérarchisation des patterns</td><td> </td><td> </td><td colspan="2" rowspan="1">Les Filaires</td><td>Géométrique OSM</td><td>Profondeur du motif urbain en mètres</td><td>Commentaires</td></tr><tr><td> </td><td> </td><td> </td><td> </td><td>Contexte</td><td> </td><td> </td><td> </td></tr><tr><td colspan="1" rowspan="3"><div>Filaire 1</div></td><td colspan="1" rowspan="3"><div>Transit</div></td><td>F\_T1</td><td>Corridor Métropolitain</td><td>Plus de 30 000 véhicules jours - 0 trottoirs</td><td>Higway</td><td>100</td><td>Vérifier</td></tr><tr><td>F\_T2</td><td>Voie Rapide Urbaine</td><td>Profil autoroutier à usage local</td><td>Ring Road</td><td>75</td><td>Abords autoroutiers (à vérifier)</td></tr><tr><td>F\_T3</td><td>Axe Structurant</td><td>Colonne vertébrale de type tram/bHNS + fonctionnalités</td><td>Multi-Way Boulevard</td><td>50</td><td>Exemples à développer</td></tr><tr><td colspan="1" rowspan="3"><div>Filaire 2</div></td><td colspan="1" rowspan="3"><div>Desserte</div></td><td>F\_D1</td><td>Avenue Commerçante</td><td>Axe à arbitrage modal nécessaire entre circulations automobile et autres</td><td>Downton streets</td><td>30</td><td>Tissu Haute Ville de Toulon</td></tr><tr><td>F\_D2</td><td>Rue marchande</td><td>Trafic automobile soutenu combiné avec réseau TC et vitalité commerciale forte</td><td>Shopping street</td><td>35</td><td>Contextualiser - St Jean / Pont du Las - François Cuzin/ XVeme Corps</td></tr><tr><td>F\_D3</td><td>La Piétonne</td><td>Mail piétonnier de grande ampleur (géométries) irrigué par TC et modes doux</td><td>Ramblas</td><td>35</td><td>Cours Lafayette</td></tr><tr><td colspan="1" rowspan="3"><div>Filaire 3</div></td><td colspan="1" rowspan="3"><div>Local</div></td><td>F\_L1</td><td>Rue de quartier</td><td>Tissu urbain standard avec stationnement filaire et trottoirs accueillant en discontinu des fonctions urbaines</td><td> </td><td>25</td><td>Loubière</td></tr><tr><td>F\_L2</td><td>Rue résidentielle</td><td>Voie routière sans TC ni fonctions urbaines regroupées</td><td> </td><td>10</td><td> </td></tr><tr><td>F\_L3</td><td>Allées et sentes</td><td>cheminements strictement piétons</td><td> </td><td>10</td><td>  
</td></tr></tbody></table>

</div></div>DROP TABLE IF EXISTS zones\_motifs\_filaires\_v2 CASCADE;

CREATE TABLE zones\_motifs\_filaires\_v2 AS  
WITH lignes\_originales AS (  
 SELECT f.osm\_id, f.nom\_voie, f.code\_pattern, ST\_Transform(l.way, 3857) as geom\_ligne  
 FROM zones\_motifs\_filaires f  
 JOIN planet\_osm\_line l ON f.osm\_id = l.osm\_id  
)  
SELECT   
 osm\_id, nom\_voie, code\_pattern,  
 ST\_Buffer(geom\_ligne,   
 CASE   
 WHEN code\_pattern = 'F\_T1' THEN 100  
 WHEN code\_pattern = 'F\_T2' THEN 75  
 WHEN code\_pattern = 'F\_T3' THEN 50  
 WHEN code\_pattern = 'F\_D1' THEN 30  
 WHEN code\_pattern = 'F\_D2' THEN 35 -- Modifié  
 WHEN code\_pattern = 'F\_D3' THEN 35 -- Modifié  
 WHEN code\_pattern = 'F\_L1' THEN 25 -- Modifié  
 WHEN code\_pattern = 'F\_L2' THEN 10  
 WHEN code\_pattern = 'F\_L3' THEN 10  
 ELSE 10   
 END  
 ) as geom  
FROM lignes\_originales;

CREATE INDEX idx\_zones\_motifs\_v2\_geom ON zones\_motifs\_filaires\_v2 USING GIST(geom);

\-------------------------------------------------------------------

</main>### <span style="background-color:rgb(241,196,15);">**4/ la sélection des items dans les fuseaux des voies et la détermination hiérarchisée des pôles de centralité** </span>

<div id="bkmrk--1"></div>### Version stable du 260305

[Tableau Drive](https://docs.google.com/spreadsheets/d/1Z7CyVVgA7FxFRx0dTCGwD-ValaSfvkF5r7GONeTz180/edit?gid=1529809962#gid=1529809962)

<table dir="ltr" id="bkmrk-%C2%A0-fonctionnel-%C2%A0-para"><colgroup><col style="width:163px;"></col><col style="width:314px;"></col><col style="width:467px;"></col><col style="width:364px;"></col></colgroup><tbody><tr><td> </td><td>Fonctionnel</td><td> </td><td>Paramètres géométriques</td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 1</td><td>Centre Urbain</td><td>Présence continue ou presque d'activités commerciales / tertiaires / équipements publics / espaces publics</td><td><div><div>présence d'au moins 18 items pour chaque linéaire de voie de 200 mètres</div></div></td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 2</td><td>Centre Local</td><td>Agrégations de fonctionnalités commerciales ou tertiaires couplées à un intensité démographique INSEE Carroyé</td><td><div><div>présence d'au moins 10 items pour chaque linéaire de voie de 200 mètres</div></div></td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 3</td><td>Noyau de vie quotidienne</td><td>Ponctualité de services formant une centralité</td><td>présence de 8 items dans un rayon de 200 mètres</td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 4</td><td>Espaces Résidentiels</td><td>Restent des zones agglomérées OSM ne figurant dans aucun des 3 premiers niveaux</td><td>autres</td></tr></tbody></table>

<div id="bkmrk-drop-table-if-exists"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1p"><div class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement"><span style="font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;">DROP TABLE IF EXISTS toulon\_hierarchie\_fonctionnelle\_v3;</span></div></div></div><div class="cm-content"><div class="cm-line">  
</div><div class="cm-line">CREATE TABLE toulon_hierarchie_fonctionnelle_v3 AS</div><div class="cm-line">WITH stats_troncons AS (</div><div class="cm-line">SELECT</div><div class="cm-line">f.osm_id,</div><div class="cm-line">f.nom_voie,</div><div class="cm-line">f.code_pattern,</div><div class="cm-line">-- On récupère la longueur de la rue d'origine pour calculer la densité</div><div class="cm-line">ST_Length(ST_Transform(l.geom, 2154)) as longueur_rue_m,</div><div class="cm-line">  
</div><div class="cm-line">-- 1. Le Filet Strict : On compte les items DANS le buffer (Filaire V3)</div><div class="cm-line">(SELECT COUNT(i.osm_id)</div><div class="cm-line">FROM toulon_items_nomenclature_full i</div><div class="cm-line">WHERE ST_Intersects(ST_Transform(i.geom, 2154), f.geom)) as total_items_strict,</div><div class="cm-line">  
</div><div class="cm-line">-- 2. Le Filet Radar (Niveau 3) : On lance un radar à 75m autour du tronçon</div><div class="cm-line">(SELECT COUNT(i.osm_id)</div><div class="cm-line">FROM toulon_items_nomenclature_full i</div><div class="cm-line">WHERE ST_DWithin(ST_Transform(i.geom, 2154), ST_Transform(l.geom, 2154), 75)) as total_items_radar,</div><div class="cm-line">  
</div><div class="cm-line">f.geom</div><div class="cm-line">FROM zones_motifs_filaires_v3 f</div><div class="cm-line">JOIN osm_lignes l ON f.osm_id = l.osm_id</div><div class="cm-line">),</div><div class="cm-line">classification AS (</div><div class="cm-line">SELECT</div><div class="cm-line">osm_id, nom_voie, code_pattern,</div><div class="cm-line">total_items_strict, total_items_radar,</div><div class="cm-line">ROUND(longueur_rue_m::numeric) as longueur_rue_m,</div><div class="cm-line">  
</div><div class="cm-line">-- Calcul mathématique : Ramener la densité sur un standard de 200 mètres</div><div class="cm-line">CASE WHEN longueur_rue_m &gt; 0</div><div class="cm-line">THEN ROUND(((total_items_strict::numeric / longueur_rue_m::numeric) * 200), 1)</div><div class="cm-line">ELSE 0</div><div class="cm-line">END as items_pour_200m,</div><div class="cm-line">  
</div><div class="cm-line">geom,</div><div class="cm-line">  
</div><div class="cm-line">-- Les règles d'or des centralités Alteris</div><div class="cm-line">CASE</div><div class="cm-line">WHEN (longueur_rue_m &gt; 0 AND (total_items_strict::numeric / longueur_rue_m::numeric) * 200 &gt;= 18) THEN 1 -- Niveau 1</div><div class="cm-line">WHEN (longueur_rue_m &gt; 0 AND (total_items_strict::numeric / longueur_rue_m::numeric) * 200 &gt;= 10) THEN 2 -- Niveau 2</div><div class="cm-line">WHEN total_items_radar &gt;= 8 THEN 3 -- Niveau 3 (Pôle radar)</div><div class="cm-line">ELSE 4 -- Tissu neutre</div><div class="cm-line">END as niveau_fonctionnel</div><div class="cm-line">FROM stats_troncons</div><div class="cm-line">)</div><div class="cm-line">-- On ne garde que les niveaux 1, 2 et 3 !</div><div class="cm-line">SELECT * FROM classification WHERE niveau_fonctionnel &lt; 4;</div><div class="cm-line">  
</div><div class="cm-line">-- Index pour la rapidité</div><div class="cm-line">CREATE INDEX idx_hierarchie_v3_geom ON toulon_hierarchie_fonctionnelle_v3 USING GIST(geom);</div></div><div class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div class="cm-layer cm-selectionLayer">  
</div></div></div></div>[![image.png](https://bookstack.juxjux.ovh/uploads/images/gallery/2026-03/scaled-1680-/o74image.png)](https://bookstack.juxjux.ovh/uploads/images/gallery/2026-03/o74image.png)

<main class="content-wrap card" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-hi%C3%A9r"><div class="page-content clearfix"><div dir="auto"><table dir="ltr" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-hi%C3%A9r-1"><tbody><tr><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Hiérarchisation des patterns</td><td> </td><td> </td><td colspan="2" rowspan="1">Les Filaires</td><td>Géométrique OSM</td><td>Profondeur du motif urbain en mètres</td><td>Commentaires</td></tr><tr><td> </td><td> </td><td> </td><td> </td><td>Contexte</td><td> </td><td> </td><td> </td></tr><tr><td colspan="1" rowspan="3"><div>Filaire 1</div></td><td colspan="1" rowspan="3"><div>Transit</div></td><td>F\_T1</td><td>Corridor Métropolitain</td><td>Plus de 30 000 véhicules jours - 0 trottoirs</td><td>Higway</td><td>100</td><td>Vérifier</td></tr><tr><td>F\_T2</td><td>Voie Rapide Urbaine</td><td>Profil autoroutier à usage local</td><td>Ring Road</td><td>75</td><td>Abords autoroutiers (à vérifier)</td></tr><tr><td>F\_T3</td><td>Axe Structurant</td><td>Colonne vertébrale de type tram/bHNS + fonctionnalités</td><td>Multi-Way Boulevard</td><td>50</td><td>Exemples à développer</td></tr><tr><td colspan="1" rowspan="3"><div>Filaire 2</div></td><td colspan="1" rowspan="3"><div>Desserte</div></td><td>F\_D1</td><td>Avenue Commerçante</td><td>Axe à arbitrage modal nécessaire entre circulations automobile et autres</td><td>Downton streets</td><td>30</td><td>Tissu Haute Ville de Toulon</td></tr><tr><td>F\_D2</td><td>Rue marchande</td><td>Trafic automobile soutenu combiné avec réseau TC et vitalité commerciale forte</td><td>Shopping street</td><td>25</td><td>Contextualiser - St Jean / Pont du Las - François Cuzin/ XVeme Corps</td></tr><tr><td>F\_D3</td><td>La Piétonne</td><td>Mail piétonnier de grande ampleur (géométries) irrigué par TC et modes doux</td><td>Ramblas</td><td>25</td><td>Cours Lafayette</td></tr><tr><td colspan="1" rowspan="3"><div>Filaire 3</div></td><td colspan="1" rowspan="3"><div>Local</div></td><td>F\_L1</td><td>Rue de quartier</td><td>Tissu urbain standard avec stationnement filaire et trottoirs accueillant en discontinu des fonctions urbaines</td><td> </td><td>15</td><td>Loubière</td></tr><tr><td>F\_L2</td><td>Rue résidentielle</td><td>Voie routière sans TC ni fonctions urbaines regroupées</td><td> </td><td>10</td><td> </td></tr><tr><td>F\_L3</td><td>Allées et sentes</td><td>cheminements strictement piétons</td><td> </td><td>10</td><td>  
</td></tr></tbody></table>

</div></div>#### **Le code SQL de Gemini** 

DROP TABLE IF EXISTS zones\_motifs\_filaires\_v2;

CREATE TABLE zones\_motifs\_filaires\_v2 AS  
WITH lignes\_originales AS (  
\-- On fait le lien entre vos codes Alteris et les lignes brutes d'OSM  
 SELECT   
 f.osm\_id,  
 f.nom\_voie,  
 f.code\_pattern,  
 ST\_Transform(l.way, 3857) as geom\_ligne  
 FROM zones\_motifs\_filaires f  
 JOIN planet\_osm\_line l ON f.osm\_id = l.osm\_id  
)  
SELECT   
 osm\_id,  
 nom\_voie,  
 code\_pattern,  
\-- On applique les nouveaux buffers stricts de votre tableau Google Drive  
 ST\_Buffer(geom\_ligne,   
 CASE   
 WHEN code\_pattern = 'F\_T1' THEN 100  
 WHEN code\_pattern = 'F\_T2' THEN 75  
 WHEN code\_pattern = 'F\_T3' THEN 50  
 WHEN code\_pattern = 'F\_D1' THEN 30  
 WHEN code\_pattern = 'F\_D2' THEN 25  
 WHEN code\_pattern = 'F\_D3' THEN 25  
 WHEN code\_pattern = 'F\_L1' THEN 15  
 WHEN code\_pattern = 'F\_L2' THEN 10  
 WHEN code\_pattern = 'F\_L3' THEN 10  
 ELSE 10 -- Sécurité par défaut  
 END  
 ) as geom  
FROM lignes\_originales;

CREATE INDEX idx\_zones\_motifs\_v2\_geom ON zones\_motifs\_filaires\_v2 USING GIST(geom);

\------------------------------------------------------

[Le filaires sont conçues à partir d'un croisement de 3 paramètres urbains que sont ](https://docs.google.com/spreadsheets/d/1Z7CyVVgA7FxFRx0dTCGwD-ValaSfvkF5r7GONeTz180/edit?gid=1529809962#gid=1529809962)

<div class="page-content clearfix"><div dir="auto">- la géométrie des voies sur OSM
- leur intensité capacitaire en matière d'écoulemnent des flux de mobilité
- le degré de densité fonctionnel

</div></div><div class="page-content clearfix"><div dir="auto"><table dir="ltr" id="bkmrk-%C2%A0-g%C3%A9om%C3%A9trique-modali"><tbody><tr><td> </td><td>Géométrique</td><td>Modalités cartographiques</td><td>Vitesse légale</td></tr><tr><td>N1</td><td>Autoroute / Voie Rapide</td><td>Absence de trottoir</td><td>Supérieure ou égal à 50 km/h</td></tr><tr><td>N2</td><td>Boulevard Métropolitain</td><td>Minimum de deux voies ouvertes à la circulation automobile</td><td>Comprise entre 50 et 70 km/h</td></tr><tr><td>N3</td><td>Avenue / Cours</td><td>Voie ouverte à la circulation automobile, avec stationnement filaire, TCSP possible, Largeur d'au moins 4,5 mètres minimum avec trottoir ou zone de rencontre, Présences de passages piétons,</td><td>maximum 50 km/heure</td></tr><tr><td>N4</td><td>Rue Faubourg / Principale</td><td>Voie ouverte à la circulation automobile inférieue à 4,5 mètres bordée par des fonctions urbaines, Sens unique possible,</td><td>maximum 30km/heure</td></tr><tr><td>N5</td><td>Rue de Desserte</td><td>Voie ouverte à la circulation automobile inférieue à 4,5 mètres bordée par des fonctions urbaines, Sens unique possible,</td><td> </td></tr><tr><td>N6</td><td>Ruelle / Impasse</td><td>Autres (bolléen)</td><td> </td></tr><tr><td>N7</td><td>Zones Piétonnes</td><td>Indcateur OSM</td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td>Capacitaire</td><td> </td><td> </td></tr><tr><td>Niveau 1</td><td>Corridor de mobilté</td><td><div><div>Comptages routiers supérieurs à ? 000 véhicules/jour et irrigation par plusieurs lignes de transport en commun</div></div></td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 2</td><td>Desserte majeure</td><td>Présence d'au moins une ligne TC</td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 3</td><td>Desserte locale</td><td>Stationnement public filaire ou voie de mobilité douce</td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td> </td><td>Fonctionnel</td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 1</td><td>Centre Urbain</td><td><div><div>Présence continue ou presque d'activités commerciales / tertiaires / équipements publics / espaces publics</div></div></td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 2</td><td>Centre Local</td><td><div><div>Agrégations de fonctionnalités commerciales ou tertiaires couplées à un intensité démographique INSEE Carroyé</div></div></td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 3</td><td>Noyau de vie quotidienne</td><td>Ponctualité de services formant une centralité</td><td> </td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 4</td><td>Espaces Résidentiels</td><td><div><div>Restent des zones agglomérées OSM ne figurant dans aucun des 3 premiers niveaux</div></div></td><td>  
</td></tr></tbody></table>

</div></div>Alteris propose une classification en 9 topologies de filaires

https://docs.google.com/spreadsheets/d/1DBBdDSaxFfXPchq6BUBhlQmkV2N0HK3AKi3W7DN5ZOQ/edit?gid=1802772327#gid=1802772327

<div class="page-content clearfix"><div dir="auto"><table dir="ltr" id="bkmrk-hi%C3%A9rarchisation-des--1"><tbody><tr><td>Hiérarchisation des patterns</td><td> </td><td> </td><td colspan="2" rowspan="1">Les Filaires</td><td>Géométrique OSM</td></tr><tr><td> </td><td> </td><td> </td><td> </td><td>Contexte</td><td> </td></tr><tr><td colspan="1" rowspan="3"><div>Filaire 1</div></td><td colspan="1" rowspan="3"><div>Transit</div></td><td>F\_T1</td><td>Corridor Métropolitain</td><td>Plus de 30 000 véhicules jours - 0 trottoirs</td><td>Higway</td></tr><tr><td>F\_T2</td><td>Voie Rapide Urbaine</td><td>Profil autoroutier à usage local</td><td>Ring Road</td></tr><tr><td>F\_T3</td><td>Axe Structurant</td><td>Colonne vertébrale de type tram/bHNS + fonctionnalités</td><td>Multi-Way Boulevard</td></tr><tr><td colspan="1" rowspan="3"><div>Filaire 2</div></td><td colspan="1" rowspan="3"><div>Desserte</div></td><td>F\_D1</td><td>Avenue Commerçante</td><td>Axe à arbitrage modal nécessaire entre circulations automobile et autres</td><td>Downton streets</td></tr><tr><td>F\_D2</td><td>Rue marchande</td><td>Trafic automobile soutenu combiné avec réseau TC et vitalité commerciale forte</td><td>Shopping street</td></tr><tr><td>F\_D3</td><td>La Piétonne</td><td>Mail piétonnier de grande ampleur (géométries) irrigué par TC et modes doux</td><td>Ramblas</td></tr><tr><td colspan="1" rowspan="3"><div>Filaire 3</div></td><td colspan="1" rowspan="3"><div>Local</div></td><td>F\_L1</td><td>Rue de quartier</td><td>Tissu urbain standard avec stationnement filaire et trottoirs accueillant en discontinu des fonctions urbaines</td><td> </td></tr><tr><td>F\_L2</td><td>Rue résidentielle</td><td>Voie routière sans TC ni fonctions urbaines regroupées</td><td> </td></tr><tr><td>F\_L3</td><td>Allées et sentes</td><td>cheminements strictement piétons</td><td>  
</td></tr></tbody></table>

</div></div><div></div></main><div class="grid half collapse-xs items-center mb-m px-m no-row-gap fade-in-when-active print-hidden" id="bkmrk-suivant-m1_2-caract%C3%A9"><div>  
</div><div>[<div class="px-m pt-xs text-muted text-xs-right">Suivant</div><div class="inline block"><div class="icon-list-item no-hover"><span class="text-page"></span>M1_2 Caractérisitiques OSM des filaires</div></div>](https://bookstack.juxjux.ovh/books/m1-les-filaires-matrice-des-voies/page/m1-2-caracterisitiques-osm-des-filaires)</div></div><div class="comments-container mb-l print-hidden" id="bkmrk-0-fil-de-commentaire"><section class="comments-list tab-container"><div class="flex-container-row items-center"><div class="flex"></div><div class="ml-m flex-container-row"></div></div>Aucun commentaire à afficher

<div class="comment-container no-outline" id="bkmrk--8" tabindex="0"></div></section></div># les tronçons de centralité fonctionnelle

<div id="bkmrk--9">  
</div>### Version stable du 260305

[Tableau Drive](https://docs.google.com/spreadsheets/d/1Z7CyVVgA7FxFRx0dTCGwD-ValaSfvkF5r7GONeTz180/edit?gid=1529809962#gid=1529809962)

<table dir="ltr" id="bkmrk-%C2%A0-fonctionnel-%C2%A0-para-1"><colgroup><col style="width:163px;"></col><col style="width:314px;"></col><col style="width:467px;"></col><col style="width:364px;"></col></colgroup><tbody><tr><td> </td><td>Fonctionnel</td><td> </td><td>Paramètres géométriques</td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 1</td><td>Centre Urbain</td><td>Présence continue ou presque d'activités commerciales / tertiaires / équipements publics / espaces publics</td><td><div><div>présence d'au moins 18 items pour chaque linéaire de voie de 200 mètres</div></div></td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 2</td><td>Centre Local</td><td>Agrégations de fonctionnalités commerciales ou tertiaires couplées à un intensité démographique INSEE Carroyé</td><td><div><div>présence d'au moins 10 items pour chaque linéaire de voie de 200 mètres</div></div></td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 3</td><td>Noyau de vie quotidienne</td><td>Ponctualité de services formant une centralité</td><td>présence de 8 items dans un rayon de 200 mètres</td></tr><tr><td> </td><td> </td><td> </td><td> </td></tr><tr><td>Niveau 4</td><td>Espaces Résidentiels</td><td>Restent des zones agglomérées OSM ne figurant dans aucun des 3 premiers niveaux</td><td>autres</td></tr></tbody></table>

<div id="bkmrk-drop-table-if-exists-3"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1p"><div class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement"><span style="font-family:'Lucida Console', 'DejaVu Sans Mono', 'Ubuntu Mono', Monaco, monospace;">DROP TABLE IF EXISTS toulon\_hierarchie\_fonctionnelle\_v3;</span></div></div></div><div class="cm-content"><div class="cm-line">  
</div><div class="cm-line">CREATE TABLE toulon_hierarchie_fonctionnelle_v3 AS</div><div class="cm-line">WITH stats_troncons AS (</div><div class="cm-line">SELECT</div><div class="cm-line">f.osm_id,</div><div class="cm-line">f.nom_voie,</div><div class="cm-line">f.code_pattern,</div><div class="cm-line">-- On récupère la longueur de la rue d'origine pour calculer la densité</div><div class="cm-line">ST_Length(ST_Transform(l.geom, 2154)) as longueur_rue_m,</div><div class="cm-line">  
</div><div class="cm-line">-- 1. Le Filet Strict : On compte les items DANS le buffer (Filaire V3)</div><div class="cm-line">(SELECT COUNT(i.osm_id)</div><div class="cm-line">FROM toulon_items_nomenclature_full i</div><div class="cm-line">WHERE ST_Intersects(ST_Transform(i.geom, 2154), f.geom)) as total_items_strict,</div><div class="cm-line">  
</div><div class="cm-line">-- 2. Le Filet Radar (Niveau 3) : On lance un radar à 75m autour du tronçon</div><div class="cm-line">(SELECT COUNT(i.osm_id)</div><div class="cm-line">FROM toulon_items_nomenclature_full i</div><div class="cm-line">WHERE ST_DWithin(ST_Transform(i.geom, 2154), ST_Transform(l.geom, 2154), 75)) as total_items_radar,</div><div class="cm-line">  
</div><div class="cm-line">f.geom</div><div class="cm-line">FROM zones_motifs_filaires_v3 f</div><div class="cm-line">JOIN osm_lignes l ON f.osm_id = l.osm_id</div><div class="cm-line">),</div><div class="cm-line">classification AS (</div><div class="cm-line">SELECT</div><div class="cm-line">osm_id, nom_voie, code_pattern,</div><div class="cm-line">total_items_strict, total_items_radar,</div><div class="cm-line">ROUND(longueur_rue_m::numeric) as longueur_rue_m,</div><div class="cm-line">  
</div><div class="cm-line">-- Calcul mathématique : Ramener la densité sur un standard de 200 mètres</div><div class="cm-line">CASE WHEN longueur_rue_m &gt; 0</div><div class="cm-line">THEN ROUND(((total_items_strict::numeric / longueur_rue_m::numeric) * 200), 1)</div><div class="cm-line">ELSE 0</div><div class="cm-line">END as items_pour_200m,</div><div class="cm-line">  
</div><div class="cm-line">geom,</div><div class="cm-line">  
</div><div class="cm-line">-- Les règles d'or des centralités Alteris</div><div class="cm-line">CASE</div><div class="cm-line">WHEN (longueur_rue_m &gt; 0 AND (total_items_strict::numeric / longueur_rue_m::numeric) * 200 &gt;= 18) THEN 1 -- Niveau 1</div><div class="cm-line">WHEN (longueur_rue_m &gt; 0 AND (total_items_strict::numeric / longueur_rue_m::numeric) * 200 &gt;= 10) THEN 2 -- Niveau 2</div><div class="cm-line">WHEN total_items_radar &gt;= 8 THEN 3 -- Niveau 3 (Pôle radar)</div><div class="cm-line">ELSE 4 -- Tissu neutre</div><div class="cm-line">END as niveau_fonctionnel</div><div class="cm-line">FROM stats_troncons</div><div class="cm-line">)</div><div class="cm-line">-- On ne garde que les niveaux 1, 2 et 3 !</div><div class="cm-line">SELECT * FROM classification WHERE niveau_fonctionnel &lt; 4;</div><div class="cm-line">  
</div><div class="cm-line">-- Index pour la rapidité</div><div class="cm-line">CREATE INDEX idx_hierarchie_v3_geom ON toulon_hierarchie_fonctionnelle_v3 USING GIST(geom);</div></div><div class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div class="cm-layer cm-selectionLayer">  
</div></div></div></div>[![image.png](https://bookstack.juxjux.ovh/uploads/images/gallery/2026-03/scaled-1680-/o74image.png)](https://bookstack.juxjux.ovh/uploads/images/gallery/2026-03/o74image.png)