Calculs des temps d`accès aux équipements avec le distancier

Transcription

Calculs des temps d`accès aux équipements avec le distancier
O
D
O
M
A
T
R
I
X
Version 1.0 – Février 2008
Copyright 2008 INRA, UMR1041, CESAER
Référencement APP : IDDN.FR.001.040016.R.P.2008.000.30805
Tous droits réservés
Mohamed HILAL
INRA, UMR1041 CESAER
26 boulevard Docteur-Petitjean
BP 87999
F-21036 Dijon cedex
[email protected]
RÉSUMÉ
Odomatrix calcule des distances routières intercommunales et des zones d’accessibilité de pôles ou
d’équipements. Les distances routières sont exprimées en kilomètres et en temps de trajet aux heures
creuses et aux heures de pointe. Elles sont établies entre chefs-lieux de communes.
Odomatrix intègre une base de données routière codifiée « BDR500C » constituée par l’INRA, le CERTU et
l’INSEE, à partir de couches d'informations géographiques décrivant le réseau routier et l’environnement
géographique. La « BDR500C » contient pour chaque tronçon routier, les identifiants des sommets (nœuds
routiers), la longueur des tronçons, après correction planimétrique, et la vitesse de circulation en tenant
compte de l’environnement géographique et des effets de la sinuosité.
DOCUMENTATION
PRINCIPES
1. Base de données routières et date de validité
2. Codage de la vitesse de circulation
3. Calcul des distances et géographie communale
FONCTIONNALITÉS
1. Architecture générale
1.1. Un noyau et des modules
1.2. Les menus
2. Description détaillée des modules
2.1. Distancier
Communes A x Communes B
Couples de communes
2.2. Accessibilité
Pôle le plus proche
Communes équipées les plus proches
2.3. Isochrones
Isochrone d’une commune
Isochrones dans un buffer
ANNEXE
1
PRINCIPES
1. Base de données routières et date de validité
La modélisation du réseau routier est établie à partir la base de données Route 500 ®, de l'IGN, qui contient
les principaux éléments du réseau routier français (autoroutes, routes nationales, routes départementales,
etc.). Les éléments de cette base sont décrits par deux niveaux d'information : un niveau géométrique,
représenté par un graphe, qui détaille les coordonnées bidimensionnelles de chaque point et la topologie du
graphe ; un niveau sémantique qui décrit les propriétés des objets ou des relations entre les objets. Parmi les
couches d'information disponibles, sont utilisés tronçons de route (arcs du réseau), nœuds routiers (sommets),
communes (points correspondant aux chefs-lieux), liaisons maritimes. Les informations contenues dans ces
couches sont appareillées afin de construire une matrice contenant en lignes tous les arcs du réseaux
(identifiés par leurs sommets d'origine et de destination) et en colonnes les attributs décrivant les arcs
(longueur du tronçon en hectomètres, vocation, largeur, sens de circulation, etc.).
La date de validité est variable d’un département à l’autre et dépend de la date de mise à jour de la BDCarto ®
dont est dérivée Route 500 ®. L’année traitée pour la constitution de la « BDR500C » est le millésime 2004.
2. Codage de la vitesse de circulation
Le temps de traversée de chaque arc est calculé en utilisant la longueur du tronçon, après correction
planimétrique et altimétrique de la géométrie, et en appliquant une vitesse de circulation sur le réseau. La
vitesse dépend de la vocation de la route (type autoroutier, liaison principale, liaison régionale, liaison locale) et
en tient compte de l'environnement géographique traversé (orographie dérivée de BDALTI 500 ®, tâches
urbaines issues de Corine Land Cover, tailles des agglomérations et des aires urbaines tirées des
nomenclatures spatiales correspondantes de l’INSEE). Les conditions de circulation liées à la congestion du
réseau sont partiellement prises en compte.
Les liaisons maritimes, permettant d'assurer la jonction entre le continent et les îles, sont intégrées dans la
« BDR500C ». Elles comprennent les lignes de bac et les liaisons maritimes ouvertes aux automobiles et dont
les embarcadères de départ et d'arrivée figurent parmi les nœuds routiers de Route 500 ®. La durée de
traversée en minutes est fournie par l'IGN, les temps d'attente avant embarcation ne sont pas pris en compte.
La base codifiée est constituée de 199 586 nœuds et 571 365 tronçons. Pour chaque tronçon sont
renseignées : les identifiants des noeuds des extrémités, la distance kilométrique et les temps de traversée en
heure creuse et en heure de pointe déterminée d’après les vitesses de circulation estimées et d’après les
coefficients de sinuosité (cf. les tableaux des vitesses et des coefficients de sinuosité en annexe).
3. Calcul des distances et géographie communale
Les distances entre les nœuds du réseau sont calculées par l'algorithme de plus court chemin « DIJKSTRA
avec FIBONACCI » (Dijkstra, 1959 ; Fredman et Tarjan, 1987). Cet algorithme permet de trouver tous les
chemins les plus courts d’un nœud donné à tous les autres nœuds du réseau.
La routine de calcul est programmée en c++ et implémentée dans Matlab pour sa capacité à gérer les très
grandes matrices. Odomatrix peut calculer les plus courts chemin en minimisant l’une des trois distances
contenues dans la « BDR500C », à savoir : la distance routière kilométrique, le temps de trajet en heure creuse
ou en heure de pointe. Pour chaque distance le réseau est modélisé par une matrice de 199 586² cases dont
571 365 sont renseignées.
Bien que les calculs de plus courts chemins soient effectués en tenant compte des 199 586 nœuds du réseau,
Odomatrix n’accepte en entrée que les codes des noeuds chefs-lieux de communes et, en sortie, il ne restitue
que les distances entre nœuds chefs-lieux de communes.
er
er
Les chefs lieux de commune correspondent à une géographie communale allant du 1 janvier 1999 au 1
janvier 2007 ce qui correspond à 36 624 communes existantes ou ayant existé entre ces deux dates en France
métropolitaine.
2
FONCTIONNALITÉS
1. Architecture générale
1.1. Un noyau et des modules
Le noyau de Odomatrix est une routine de calcul des plus courts chemins qui utilise en entrée :
- les trois matrices de 199 586² cases donnant, pour chaque couple de nœuds correspondant à un
tronçon routier, la distance routière kilométrique, le temps de trajet en heure creuse et en heure de
pointe ;
- un dictionnaire géographique permettant d’associer à chaque commune le noyau routier le plus proche
de son chef-lieu.
Autour de ce noyau sont greffées quatre modules qui permettent de calculer des distanciers
- en croisant deux listes de communes ;
- uniquement pour des couples de communes pré-établis ;
ou de déterminer les accessibilités :
- au pôle le plus « proche », à partir d’un tableau contenant en lignes des communes et sur une colonne
une variable permettant de savoir si une commune de la liste est pôle ou pas
- aux équipements les « plus proches », à partir d’un tableau contenant en lignes des communes et en
colonnes une variable donnant pour chaque équipement les effectifs de la commune.
1.2. Les menus
3
2. Description détaillée des modules
2.1. Distancier
Communes A x Communes B
Ce module calcule des matrices de distances intercommunales rectangulaires AxB ou carré AxA.
Il utilise, en entrée, deux fichiers contenant chacun une liste de codes communaux au format caractère sur 5
positions. Pour produire un distancier carré, on utilise deux fois le même fichier.
Exemple :
01001
01002
01004
01005
01006
01007
01008
01009
01010
Afin de réduire les temps de calcul des distanciers rectangulaires (AxB), le premier fichier doit avoir un nombre
de lignes supérieur ou égal à celui du deuxième fichier.
Les distanciers peuvent être de très grande taille et difficilement manipulables. Le module refusera de lancer le
calcul pour tout rectangle ayant plus de 37 millions de couples. Cette limitation permet tout de même de
calculer des matrices contenant les distances entre les 36624 communes correspondant à la géographie
er
er
communale allant du 1 janvier 1999 au 1 janvier 2007 et toutes les communes d'un ou plusieurs
départements (<1000).
Le module fournit, en sortie, un fichier de données *.dat qui contient le distancier correspondant au produit
cartésien AxB ou AxA. Les données sont stockées sous forme bilinéaire, avec les codes communaux entre
guillemets et les champs séparés par des points-virgules :
-
dc_a : le code de la commune a
dc_b : le code de la commune b (lu dans le fichier B ou dans le fichier A si matrice AxA)
dvo : la distance à vol d’oiseau entre dc_a et dc_b exprimée en mètres
dr500 : la distance routière moyenne ([aller+retour]/2) entre dc_a et dc_b exprimée en mètres
hc500 : le temps de trajet moyen en heures creuses ([aller+retour]/2) entre dc_a et dc_b exprimé en
minutes
hp500 : le temps de trajet moyen en heures de pointe ([aller+retour]/2) entre dc_a et dc_b exprimé en
minutes
Couples de communes
Ce module calcule des distances intercommunales pour une liste de couples.
Il utilise, en entrée, un fichier contenant une liste de couples de communes définies par leurs codes
communaux au format caractère sur 5 positions, avec comme séparateur « espace » ou « tabulation ».
Exemple :
13001 13008
13002 13008
13003 75054
13004 13008
13005 13005
13005 13006
13007 13001
13008 13001
4
13009 13010
13010 13009
Il n’y a pas de limitation de taille de fichier.
Le module produit, en sortie, un fichier de données *.dat qui contient pour chaque couple de communes (codes
communaux entre guillemets et champs séparés par des points-virgules)
-
dc_a : le code INSEE de la commune a
dc_b : le code INSEE de la commune b
dvo : la distance à vol d’oiseau entre dc_a et dc_b exprimée en mètres
dr500 : la distance routière moyenne ([aller+retour]/2) entre dc_a et dc_b exprimée en mètres
hc500 : le temps de trajet moyen en heures creuses ([aller+retour]/2) entre dc_a et dc_b exprimé en
minutes
hp500 : le temps de trajet moyen en heures de pointe ([aller+retour]/2) entre dc_a et dc_b exprimé en
minutes
2.2. Accessibilité
Pôle le plus proche
Ce module calcule la distance au pôle le plus proche, celui-ci pouvant être un pôle urbain, un pôle de bassin de
vie ou toutes autres communes polarisantes.
Le module utilise, en entrée, un fichier contenant une liste de communes et une colonne précisant pour chaque
commune si celle-ci est pole (1) ou pas (0).
Exemple :
04001
04004
04005
04006
04007
04008
04009
04012
04013
04016
04017
0
1
0
0
0
1
0
0
0
0
0
Le module génère, en sortie, un fichier de données *.dat qui contient pour chaque commune le pôle le plus
proche calculée en minimisant la distance kilométrique routière, les temps de trajet en heure creuse et en
heure de pointe (codes communaux entre guillemets et champs séparés par des points-virgules) :
-
dc : code commune
dckm500 : pôle le plus proche d’après la distance routière kilométrique moyenne
km500 : distance routière moyenne ([aller+retour]/2) entre dc et dckm500 exprimée en mètres
dchc500 : pôle le plus proche d’après le temps de trajet moyen en heure creuse
hc500 : temps de trajet moyen en heure creuse ([aller+retour]/2) entre dc et dchc500 exprimée en
minutes
dchp500 : pôle le plus proche d’après le temps de trajet moyen en heure de pointe
hp500 : temps de trajet moyen en heure de pointe ([aller+retour]/2) entre dc et dchp500 exprimée en
minutes
Il n’y a pas de limitation de taille de fichier.
Communes équipées les plus proches
Ce module calcule la distance aux équipements les plus proches.
5
Il utilise, en entrée, un fichier qui contient une liste de communes et n colonnes. Chaque colonne correspond à
un équipement. L'intersection ligne x colonne peut prendre comme valeur le nombre d'équipement(s) de la
commune ou simplement 1 ou 0 indiquant la présence ou l’absence d’équipement.
L’utilisateur doit également préciser au programme le nombre de colonnes « équipement » du fichier en entrée
et choisir une distance pour le calcul (ie : km pour distance routière kilométrique ; hc pour le temps de trajet en
heure creuse et hp en heure de pointe).
Exemple :
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
11
11
00
11
12
00
04
01
00
00
Le module produit, en sortie, un fichier *.dat qui contient pour chaque commune et pour chaque équipement le
code de la commune équipée la plus proche et la distance à cette commune (codes communaux entre
guillemets et champs séparés par des points-virgules) :
-
dc : code commune
dcequip : commune équipée la plus proche selon la distance choisie par l'utilisateur (km, hc ou hp)
dist : distance moyenne ([aller+retour]/2) correspondant au choix de l'utilisateur (km, hc ou hp) entre dc
et dcequip.
Il n’y a pas de limitation de taille de fichier.
2.3. Isochrones
Isochrone d’une commune
Ce module calcule les isochrones d’une commune. L’utilisateur saisie directement le code d’une commune et
choisit une distance pour le calcul (ie : km pour distance routière kilométrique ; hc pour le temps de trajet en
heure creuse et hp en heure de pointe).
Le module génère, en sortie, un fichier de données *.dat qui contient la liste des nœuds du réseau, leurs
coordonnées géographiques et la distance à la commune saisie.
Isochrones dans un buffer
Ce module calcule la distance à l’ensemble des communes situées en deçà d’un seuil défini par l’utilisateur.
Il utilise, en entrée, un fichier qui contient une liste de communes.
L’utilisateur doit choisir une distance pour le calcul (ie : km pour distance routière kilométrique ; hc pour le
temps de trajet en heure creuse et hp en heure de pointe).
Le module produit, en sortie, un fichier *.dat qui contient pour chaque commune de la liste en entrée l’ensemble
des communes situées en deçà du seuil de distance (codes communaux entre guillemets et champs séparés
par des points-virgules) :
-
Dc_a : code commune
Dc_b : commune située en deçà du seuil
dist : distance moyenne ([aller+retour]/2) correspondant au choix de l'utilisateur (km, hc ou hp) entre
dc_a et dc_b.
Il n’y a pas de limitation de taille de fichier.
6
ANNEXE
Tableau des vitesses
Environnement
Population pôle urbain
plus de 200000 habitants
Ville centre des aires urbaines
entre 100000 et 200000 habitants
moins de 100000 habitants
plus de 200000 habitants
Tache urbaine des aires urbaines
hors ville centre
entre 100000 et 200000 habitants
moins de 100000 habitants et
taches urbaines des pôles
d’emploi de l’espace rural
Reste de l'aire urbaine, reste du pôle
rural, espaces ruraux
sans objet
Type de voie
autoroute
2x2 voies
principale et régionale
locale à 1 voie
bretelle
autoroute
2x2 voies
principale et régionale
locale à 1 voie
bretelle
autoroute
2x2 voies
principale et régionale
locale à 1 voie
bretelle
autoroute
2x2 voies
principale et régionale
locale à 1 voie
bretelle
autoroute
2x2 voies
principale et régionale
locale à 1 voie
bretelle
autoroute
2x2 voies
principale et régionale
locale à 1 voie
bretelle
autoroute
2x2 voies
principale et régionale
locale à 1 voie
bretelle
Vitesse en heure
de pointe
(HP)
65
35
30
16
25
14
20
11
60
42
65
41
30
19
25
16
20
13
60
47
65
53
30
25
25
20
20
16
60
54
70
53
40
28
30
19
20
12
20
42
70
57
40
31
30
21
20
13
20
47
70
64
40
36
30
26
20
17
20
54
130
130
85
85
70
70
60
60
60
60
creuse (HC)
Source : Groupe de travail distancier INRA, INRA-CERTU-INSEE
Coefficient de pondération de la vitesse pour tenir compte de la sinuosité planimétrique et altimétrique
autoroute
0,75
2x2 voies
0,70
principale et régionale 0,65
locale à 1 voie
0,60
bretelle
0,70
Source : Groupe de travail distancier INRA, INRA-CERTU-INSEE
Le groupe distancier INRA était composé de : Brigitte Baccaïni (INSEE), Magali Di Salvo (CERTU), Monique Gadais (CERTU) et Mohamed
HILAL (INRA)
7

Documents pareils