QMapOD

Consultation cartographique d'enquêtes origine destination sous QGIS 3.x


Notice d'utilisation et de maintenance


Table des matières


1. Généralités :

1.1. Objet de l’application : |

QMapOD est la nouvelle version de l'application MapOD, initialement développée sous Access et ArcGis / MapInfo.
Elle s'appuie sur le système d'information géographique QGIS et la base de données spatiale SQLite / SpatiaLite. La version 2 de QMapOD apporte la compatibilité avec QGIS 3.x.
Elle se présente sous la forme d'une extension (plugin) QGIS qui permet de cartographier les résultats d'enquêtes origine / destination réalisées sur un réseau de transport en commun, en réalisant des filtrages multicritères sur un jeu de données d’enquêtes, puis en élaborant des analyses cartographiques à partir des données filtrées.

Le développement initial de QMapOD a été réalisé par SIGéal, et financé par Test-SA.
QMapOD est à présent publié sur GitLab, sous licence GPL, et principalement maintenu par Oslandia.

QGIS et QMapOD sont diffusés sous licence Open Source (GNU General Public License).

Les fonctionnalités disponibles peuvent varier selon les variables enquêtées.

1.2. Architecture de l’application : |

QMapOD est une extension QGIS développée en python 3.9, intégrant les fonctionnalités de filtrage et les fonctionnalités d'analyse cartographique. Elle peut fonctionner dans tous les environnements supportés nativement par QGIS :

1.3. Installation de l’application : |

L'extension QMapOD peut-être lancée depuis une installation QGIS existante (recommandé), ou bien depuis une version autonome de QGIS pré-configurée (sous Windows uniquement).

Dans le premier cas, pour installer QGIS, il convient d'installer l'extension à partir du fichier .zip : Barre d'outils

Dans le second cas, pour installer QGIS, il faut copier le dossier contenant l'installation de QGIS – et donc de QMapOD – sur l'un des disques de la machine. Pour mettre à jour l'extension QMapOD dans ce second cas, il convient de remplacer le dossier QMapOD situé dans le sous-dossier suivant : \QGIS\apps\qgis-ltr\python\plugins

Bien qu'il soit théoriquement possible de lancer QGIS et QMapOD depuis un CDROM ou une clé USB, ou un disque réseau, les performances et le confort d'utilisation risquent de s'en ressentir fortement.

1.4. Lancement de l’application : |

Après le lancement de QGIS, QMapOD doit être activé de la façon suivante :
Menu Extension > Gérer les extensions, taper QMapOD dans la case de recherche de la boite de dialogue de gestion des extensions, puis cocher la case QMapOD.
Si l'extension QMapOD n’apparaît pas après avoir tapé « QMapOD » dans la case de rechercher, vérifier l'installation de l'extension.
Pour que l'extension QMapOD soit visible, l'option « Afficher les extensions expérimentales » doit être cochée dans l'onglet « Paramètres » du gestionnaire d'extensions.
Une fois l'extension activée les fonctionnalités générales de QMapOD sont accessibles depuis une barre d'outil :

Barre d'outils

Elle sont également accessibles depuis le menu Extensions > QMapOD 2 :

Menu

1.5. Présentation de l’application : |

Chaque bouton/menu donne accès aux fonctionnalités suivantes :

Panneau : Affichage du panneau ancrable QMapOD
Chargement : Chargement des couches géographiques
Paramètres : Activation de l'onglet Paramètres du panneau QMapOD
Aide : Affichage de l'aide en ligne dans le navigateur par défaut
À propos : Affichage du dialogue À propos de QMapOD

Les fonctionnalités de QMapOD sont regroupées dans un panneau ancrable, positionné à droite par défaut, comprenant deux panneaux à onglets :

Le panneau ancrable contient également dans sa partie basse un bouton accessible à tout moment permettant d'afficher le sous-réseau courant (lignes/sens sélectionnés) :
Sous-réseau


2. Description des fonctionnalités de l'application :

2.1. Panneau à onglets supérieur :

2.1.1. Onglet de filtrage des enquêtes : |

Cet onglet permet de spécifier les critères de filtrage des enquêtes. Le bouton de validation du filtrage a pour effet la création d'un sous-ensemble d'enquêtes (table enquetes_tmp) correspondant aux critères spécifiés. Les analyses cartographiques réalisées s'appuient sur cette table temporaire.

La validation des critères de filtrage des enquêtes est dynamique, c'est à dire que les éventuelles analyses cartographiques existantes lors de la validation sont automatiquement mises à jour conformément aux critères spécifiés.

L'onglet de filtrage des enquêtes comprend trois rubriques escamotables (accordéon) et une ligne de boutons.
Dans la vue arborescente du réseau, les catégories de lignes et les lignes peuvent être dépliées/repliées en cliquant sur l'icône >.
Dans les listes de cases à cocher, il est possible de cocher simultanément plusieurs options en sélectionnant plusieurs lignes, avec les touches MAJ et CTRL du clavier, puis en cochant l'une des cases sélectionnées. Il est également possible de cocher ou de décocher toutes les cases en cochant/décochant celle qui est située à côté du titre de la liste.

2.1.2. Onglet de filtrage cartographique : |

Cet onglet permet de spécifier des critères de filtrage cartographique. Le bouton de validation du filtrage a pour effet la spécification d'un filtre d'entités (requête) au niveau des couches utilisées pour les analyses cartographique.

Le filtrage par zones s'applique également aux arrêts, c'est à dire que les arrêts inclus dans les zones exclues sont également exclus. En revanche, le filtrage cartographique par zonage est appliquée indépendamment des autres zonages.

L'onglet de filtrage cartographique comprend deux rubriques escamotables (accordéon) et une ligne de boutons.

Il est possible d'accéder directement à un arrêt particulier en tapant au clavier les premières lettres de son nom.

Il est possible d'accéder directement à une zone particulière en tapant au clavier les premières lettres de son nom.

2.1.3. Onglet des paramètres de l’application : |

Cet onglet permet de régler les paramètres de l'application. Ces paramètres concernent le mode d'affichage et les caractéristiques des analyses cartographiques. Les rubriques « Arrêts », « Zones », « Tronçons », «Flux par zones » et « Flux par arrêts » correspondent aux onglets contenant les outils d'interaction cartographique. Tous les paramètres spécifiés dans cet onglet sont conservés d'une session à une autre.

La validation des paramètres est dynamique. Les paramètres sélectionnés sont appliqués aux éventuelles analyses cartographiques existantes lorsque l'on clique sur le bouton de validation.

Il comprend six rubriques escamotables (accordéon) et une ligne de boutons :

2.1.4. Onglet des outils de l'application : |

Cet onglet contient une case à cocher permettant d'activer ou de désactiver l'affichage des diagrammes et des étiquettes superposés.
Cet onglet comprend aussi une zone de texte dans laquelle est affiché un récapitulatif des paramètres d'affichage, des critères de filtrage des enquêtes et des critères de filtrage cartographique courants. Le contenu de cette zone de texte peut être utilisé pour avoir une vue d'ensemble des critères sélectionnés, ou pour copier/coller le récapitulatif des critères sélectionnés dans une mise en page destinée à l'impression.

Récapitulatif

2.2. Panneau à onglets inférieur :

2.2.1. Onglet d'analyses cartographiques sur les arrêts : |

Cet onglet contient les boutons et les outils permettant d'afficher sur la carte des analyses sur les arrêts, en tenant compte des critères de filtrage d'enquêtes, des critères de filtrage cartographiques et des paramètres de visualisation sélectionnés :

Arrêts

Le fonctionnement des boutons de cet onglet est décrit ci-après :

2.2.2. Onglet d'analyses cartographiques sur les zonages : |

Cet onglet contient les boutons et les outils permettant d'afficher sur la carte des analyses sur les zonages, en tenant compte des critères de filtrage d'enquêtes, des critères de filtrage cartographiques et des paramètres de visualisation sélectionnés :

Zonages

Le fonctionnement des boutons de cet onglet est décrit ci-après :

Le changement de zonage ou de variable analysée est dynamique. Les éventuelles analyses cartographiques existantes sont donc automatiquement mises à jour lorsque l'on sélectionne une entrée dans la liste déroulante des zonages ou dans la liste déroulante des variables.

Le changement de zonage ou de variable analysée est dynamique. Les éventuelles analyses cartographiques existantes sont donc automatiquement mises à jour lorsque l'on sélectionne une entrée dans la liste déroulante des zonages ou dans la liste déroulante des variables.

2.2.3. Onglet d'analyses cartographiques sur les tronçons : |

Cet onglet contient les boutons et les outils permettant d'afficher sur la carte des analyses sur les tronçons, en tenant compte des critères de filtrage d'enquêtes, des critères de filtrage cartographiques et des paramètres de visualisation sélectionnés :

Tronçons

Le fonctionnement des boutons de cet onglet est décrit ci-après :

2.2.4. Onglet d'analyses cartographiques de flux : |

Cet onglet contient les boutons et les outils permettant d'afficher sur la carte des analyses de flux sur les zonages et sur les arrêts, en tenant compte des critères de filtrage d'enquêtes, des critères de filtrage cartographiques et des paramètres de visualisation sélectionnés :

Flux

Les visualisations de flux sont affichées conformément au type de représentation spécifié dans les paramètres (rubrique flux par zones).

Le fonctionnement des outils et des boutons de cet onglet est décrit ci-après :

Pour des raisons de lisibilité graphique, les flux réflexifs (d'une zone vers cette même zone) ne sont pas affichés par ces fonctionnalités. Ils sont cependant visibles dans la table attributaire de la couche de visualisation.

2.3. Autres fonctionnalités :

2.3.1. Impression de cartes : |

Un projet QGIS - QMapOD.qgs - contenant plusieurs modèles de mise en page est fourni avec l'application QMapOD. Situé dans le dossier d'installation de l'extension, il contient six modèles différents permettant de traiter les cas les plus courants :

Chacune de ces mises en page contient deux éléments de base permettant de construire une carte mise en page avec sa légende :

Le projet QMapOD.qgs peut donc être utilisé comme un modèle pour l'élaboration d'analyses cartographiques destinées à l'impression.

Lors de l'ouverture d'un modèle de mise en page, le cadre carte apparaît vide. Pour y faire apparaître la carte, il convient de le sélectionner, puis de cliquer sur le bouton « Fixer sur l'emprise courante du canevas de la carte ». Le bouton « Déplacer le contenu de l'objet » peut ensuite être utilisé, conjointement avec la molette et la touche CTRL, pour ajuster le cadrage de la carte.

2.3.2. Export d'analyses cartographiques : |

Il est possible de sauvegarder une analyse cartographique complexe en l'exportant sous la forme d'un projet autonome, déconnecté de la base de donnée de l'application dont les données temporaires sont susceptibles de changer à chaque nouveau filtrage. Pour cela, une extension de QGIS doit être utilisée : QConsolidate3.

Cette extension, fournie avec l'application QMapOD, doit-être activée par le menu Extensions > Gérer les extensions.

Pour exporter une analyse cartographique, il convient de faire le filtrage et d'appliquer les traitements cartographiques souhaités.

Il faut ensuite lancer l'extension en cliquant sur le boutonExtension QConsolidate3 de la barre d'outils Extensions :
Extension QConsolidate3

Il convient de spécifier le dossier dans lequel la carte doit être enregistrée, dans un sous-dossier portant le nom de projet spécifié, puis de préciser quel doit être le format d'enregistrement des couches vectorielles (SHP ou GeoPackage).

L'ensemble des fichiers peut être optionnellement être compressé dans une archive .zip.

Enfin, il faut cliquer sur Ok pour lancer l'export. Un message de confirmation s'affiche à la fin de l'opération :
Confirmation QPackage

Le projet QGIS est enregistré dans le dossier spécifié, avec une copie au format sélectionné de toutes les données qu'il référence. On peut donc le ré-ouvrir pour vérifier son bon fonctionnement.

2.3.3. Export de couches cartographiques : |

Il est possible de sauvegarder au format shape (.shp) ou GeoPackage (.gpkg) une couche vectorielle correspondant à une analyse cartographique réalisée avec l'application. Il suffit pour cela de cliquer avec le bouton droit sur le nom de la couche dans la liste des couches puis de sélectionner le menu « Sauvegarder sous ».


3. Rappels sur les enquêtes O/D et leur exploitation :

3.1. La pondération des enquêtes : |

Deux types de pondération sont utilisés pour le traitement des enquêtes :

La première correspond au poids de l’enquête pour la ligne sur laquelle l’enquête a été réalisée. Elle est utilisée pour les analyses sur les voyages (montées/descentes sur la ligne enquêtée). La seconde correspond au poids de l’enquête pour l’ensemble du réseau de transport en commun, c’est à dire qu’elle tient compte des correspondances réalisées. Elle est donc utilisée pour les analyses sur les déplacements (avec éventuellement des correspondances). La pondération réseau n’est utilisée que dans le cas où l’ensemble du réseau est sélectionné. Lorsque plusieurs lignes sont sélectionnées, c’est la pondération ligne qui est utilisée. Dans ce cas, de légères distorsions peuvent être constatées sur les résultats, par exemple si des enquêtes avec correspondances comprennent des lignes ne faisant pas partie du sous-réseau sélectionné (le poids de ces enquêtes peut selon le cas être un peu sur-évalué ou sous-évalué).

3.2. Les logiques voyage et déplacement : |

Un voyage correspond à un trajet réalisé sur une seule ligne de transport en commun. On travaille donc en logique voyage lorsque l'on considère les arrêts de début et de fin du trajet effectué sur la ligne enquêtée.

Un déplacement correspond à un trajet réalisé avec éventuellement une ou plusieurs correspondances sur le réseau de transport en commun. On travaille donc en logique déplacement lorsque l'on considère les arrêts de début (pour le premier trajet du déplacement) et de fin (pour le dernier trajet du déplacement) du déplacement effectué sur le réseau de transport en commun, c'est à dire en incluant les correspondances en amont et en aval de la ligne enquêtée. Le schéma ci-après illustre les différentes composantes d'une enquête :

Voyage / Déplacement

Les logiques d'analyse utilisées par défaut par QMapOD sont les suivantes :

Le tableau ci-dessous résume les combinaisons mode d'analyse / pondération utilisées selon les différents cas de figure :
Mode analyse Dans les cas de figure correspondant aux cases rouges, la possibilité de choix du mode d'analyse (voyage / déplacement) est verrouillée.


4. Structure de la base de données :

4.1. Tables non spatiales :

4.1.1. Tables alphanumériques des enquêtes (SQLite) : |
4.1.2. Tables alphanumériques temporaires (SQLite) : |

4.2. Tables spatiales :

4.2.1. Tables spatiales du réseau (SpatiaLite) : |
4.2.2. Tables spatiales temporaires (SpatiaLite) : |

Il s’agit de tables créées lors de l’affichage des flux entre zones.

4.2.3. Autres tables : |

Il s’agit de tables interne à SQLite/SpatiaLite.

5. Référence du fichier json de configuration :

5.1. Généralités : |

Le fichier json de configuration doit porter le même nom que la base de données SpatiaLite, seule l'extension les différenciant.

Le fichier json permet, dans une certaine mesure, d'adapter la structure de la base de données aux besoins de l'enquête : variables enquêtées, variables analysables sous forme cartographique, nom des colonnes, etc.

Il permet également de donner les informations permettant à l'application de construire l'interface graphique de l'extension à partir des données spécifiques à chaque enquête.

Par exemple, pour une variable enquêtée Variable, la rubrique json précisera :

Les différentes rubriques de configuration sont décrites dans les paragraphes suivants.

5.2. dctTypeJour : |

Cette rubrique contient les informations nécessaires pour le remplissage de la liste déroulante des types de jour :

"cbxTypeJour": {
	"objlbl": "lblTypeJour",
	"title": "Type de jour",
	"sql": "select id_type_jour, lib_type_jour from code_type_jour order by id_type_jour;",
	"enqfield": "typjour"
}

5.3. dctCritereSignaletique : |

Cette rubrique contient les informations nécessaires pour le remplissage de la liste de cases à cocher pour chaque variable enquêtée relative à l'usager :

"lwgMotif": {
	"objlbl": "lblMotif",
	"label": "Motifs",
	"sql": "select id_motif, lib_motif from code_motif order by id_motif;",
	"enqfield": "motifod"
}
"lwgTitre": {
	"objlbl": "lblTitre",
	"label": "Titres",
	"sql": "select id_titre, lib_titre from code_titre order by id_titre;",
	"enqfield": "titre"
}
"lwgTrage": {
	"objlbl": "lblTrage",
	"label": "Tranche d'âge",
	"sql": "select id_trage, lib_trage from code_trage order by id_trage;",
	"enqfield": "trage"
}
"lwgResidence": {
	"objlbl": "lblResidence",
	"label": "Résidence",
	"sql": "select id_residence, lib_residence from code_residence order by id_residence;",
	"enqfield": "residence"
}
"lwgPmr": {
	"objlbl": "lblPmr",
	"label": "PMR",
	"sql": "select id_pmr, lib_pmr from code_pmr order by id_pmr;",
	"enqfield": "pmr"
}

5.4. dctCritereVoyage : |

Cette rubrique contient les informations nécessaires pour le remplissage de la liste de cases à cocher pour chaque variable enquêtée relative au voyage :

"lwgTrhor": {
	"objlbl": "lblTrhor",
	"label": "Tranches horaires",
	"sql": "select id_trhor, lib_trhor from code_trhor order by id_trhor;",
	"enqfield": "trhor"
}
"lwgModAv": {
	"objlbl": "lwgModAv",
	"label": "Mode avant",
	"sql": "select id_modav, lib_modav from code_modav order by id_modav;",
	"enqfield": "modav"
}
"lwgModAp": {
	"objlbl": "lwgModAp",
	"label": "Mode après",
	"sql": "select id_modap, lib_modap from code_modap order by id_modap;",
	"enqfield": "modap"
}

5.5. dctCritereAutre : |

Cette rubrique permet d'ajouter les informations nécessaires pour le remplissage des listes de case à cocher pour d'autres variables.

5.5. dctZonage : |

Cette rubrique contient les informations nécessaires pour le remplissage des listes de cases à cocher pour chacun des zonages intégrés :

"lwgCommunes": {
	"table": "communes",
	"objlbl": "lblCommunes",
	"label": "Communes",
	"sql": "select id_commune, nom_commune from communes order by nom_commune;",
	"enqfield": "id_commune"
}
"lwgZonesOD2023": {
	"table": "zones_od_2023",
	"objlbl": "lblZonesOD2023",
	"label": "Zones OD 2023",
	"sql": "select id_zoneod, nom_zoneod from zones_od_2023 order by nom_zoneod;",
	"enqfield": "id_zoneod"
}

5.5. dctVariableAnalysable : |

Cette rubrique permet d'ajouter les informations nécessaires à la construction de l'interface utilisateur pour les variables qui peuvent faire l'objet d'une analyse croisée.

Par exemple, pour une variable enquêtée Variable, la rubrique json précisera :

"motifod": {
	"tabVar": "code_motif",
	"title": "Motifs agrégés",
	"colVar": "motifod",
	"colIdVar": "id_motif",
	"colLibVar": "lib_motif"
}
"titre": {
	"tabVar": "code_titre",
	"title": "Titres de transport",
	"colVar": "titre",
	"colIdVar": "id_titre",
	"colLibVar": "lib_titre"
}
"statut": {
	"tabVar": "code_statut",
	"title": "Statut",
	"colVar": "statut",
	"colIdVar": "id_statut",
	"colLibVar": "lib_statut"
}
"trhor": {
	"tabVar": "code_trhor",
	"title": "Tranches horaires",
	"colVar": "trhor",
	"colIdVar": "id_trhor",
	"colLibVar": "lib_trhor"
}
"modav": {
	"tabVar": "code_modav",
	"title": "Mode avant",
	"colVar": "modav",
	"colIdVar": "id_modav",
	"colLibVar": "lib_modav"
}
"modap": {
	"tabVar": "code_modap",
	"title": "Mode après",
	"colVar": "modap",
	"colIdVar": "id_modap",
	"colLibVar": "lib_modap"
}

En plus des variables enquêtées analysables des analyses croisées peuvent être faite pour la ligne enquêtée, la première ligne amont du voyage, et la première ligne aval du voyage.

"ligne":  {
	"tabVar": "code_ligne_var",
	"title": "Lignes",
	"colVar": "ligne",
	"colIdVar": "id_ligne",
	"colLibVar": "lib_ligne"
}
"lignem1":  {
	"tabVar": "code_ligne_coram",
	"title": "Lignes amont",
	"colVar": "lignem1",
	"colIdVar": "id_ligne",
	"colLibVar": "lib_ligne"
}
"lignep1":  {
	"tabVar": "code_ligne_corav",
	"title": "Lignes aval",
	"colVar": "lignep1",
	"colIdVar": "id_ligne",
	"colLibVar": "lib_ligne"
}

5.5. dctZonageAnalysable : |

Cette rubrique permet d'ajouter les informations nécessaires à la construction de l'interface utilisateur pour les zonages qui peuvent faire l'objet d'une analyse cartographique.

Par exemple, pour une variable enquêtée Variable, la rubrique json précisera :

"communes": {
	"tabZone": "communes",
	"title": "Communes",
	"colIdZone": "id_commune",
	"colNomZone": "nom_commune"
}
"zones_od_2023": {
	"tabZone": "zones_od_2023",
	"title": "Zones OD 2023",
	"colIdZone": "id_zoneod",
	"colNomZone": "nom_zoneod"
}

5.5. dctParam : |

Cette rubrique contient des informations de paramétrage de l'application.

"epsg": 2154,
"nomreseau": "Réseau RANDOM 2023",
"nblignes": 6,
"typlign": "typlign",
"typjour": "typjour",
"ligne": "ligne",
"sens": "sens",
"parcours": "parcours",
"course": "course",
"poidsligne": "poidsl",
"poidsreseau": "poidsr",
"arretdebvoy": "arreta2",
"arretfinvoy": "arretb2",
"arretdebdep": "arretdeb2",
"arretfindep": "arretfin2",
"ligneamont": "lignem1",
"ligneaval": "lignep1",
"defaultligne": "1001",
"couleurslignes": "True",
"tabtrhor": "code_trhor"

5.5. lstColors : |

Cette rubrique permet de préciser la liste des couleurs utilisées pour les secteurs dans les analyses par diagrammes.

"lstColors": [
	[232,92,99]
	[R, V, B],
	...
]

Annexe 1 : Liste des fichiers de QMapOD : |


|