42
Stage en milieu de travail Ville de Rimouski : Vers des données ouvertes Travail présenté à. M. Yves Baudouin Dans le cadre du cours Activité de Stage 1 et 2 Geo7930 et Geo7931 Par Jean-Philippe Lauzon LAUJ26068306 Université du Québec à Montréal Le 18 janvier 2016

Stage en milieu de travail Ville de Rimouski : Vers des

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Stage en milieu de travail

Ville de Rimouski :

Vers des données ouvertes

Travail présenté à.

M. Yves Baudouin

Dans le cadre du cours

Activité de Stage 1 et 2

Geo7930 et Geo7931

Par

Jean-Philippe Lauzon

LAUJ26068306

Université du Québec à Montréal

Le 18 janvier 2016

Remerciement

Je remercie tout d’abord M. Alain Michaud pour m’avoir accueilli au sein de son

équipe du département des Technologies de l’information. Je remercie particulièrement

M. Gilbert Cassista, coordonnateur en géomatique qui m’a pris en charge durant

l’ensemble de mon Stage. M. Cassista, de par sa grande maitrise des données de la ville

de Rimouski et de sa connaissance des SIG à sus m’aiguiller sur la bonne voie. Je salue

aussi Jean-Sébastien Caron, technicien en géomatique qui m’a beaucoup aidé à

comprendre les données de la ville et leurs origines.

Table des matières

1. Mise en contexte

1.1 Présentation de l’organisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Problématique globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Mandats du stage

1.3.1 Mandat principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3.2 Mandat secondaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 Objectif du stage

1.4.1 Objectifs du mandat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4.2 Objectifs personnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.5 Échéancier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Méthodologie

2.1 Méthodologies utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Analyse du SIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.2 Transition vers ArcGIS server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.3 Mise à niveau des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.4 Topologie des rues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.5 Cartographie pour le plan directeur des parcs et espaces verts. . . . . . . . .13

2.1.6 Carte web : les parcs et loisirs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1.7 Carte web : Gestion écologique et récupération . . . . . . . . . . . . . . . . . . . . 17

2.1.8 Carte web : 1946 /2011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.1.9 Transport en commun GTFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.10 Focus : déneigement des rues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1.11 Tronçon d’égout à inspecté. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1.12 Calendrier des collectes de déchet pour mes services municipaux . . . . 22

2.1.13 Carrière sablière. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.1.14 petits projets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2 Résultats et discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3. Analyse critique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4. Développement futur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Bibliographie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Annexe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

1

1. Mise en contexte

1.1 Présentation de l’organisme

La ville de Rimouski possède une structure organisationnelle semblable à

plusieurs autres municipalités du Québec. Le conseil municipal, composé du maire et de

11 conseiller(ère)s choisit les orientations des projets de la ville et prend les décisions

finales. La direction générale fait le pont avec le conseil municipal et les différents

services et gère la faisabilité des projets. Les projets sont ensuite mis sur pied par les

différents services, en collaboration les uns avec les autres ou non, selon la nature du

projet. Notons que les projets peuvent provenir d’une demande d’un citoyen comme

d’un employé municipal, mais doivent être approuvés par le conseil municipal.

Les neuf services sont représentés dans le schéma 1 de la structure

organisationnelle de la ville, mais ne seront pas détaillés dans ce rapport. Nous nous

intéresserons seulement au service des technologies de l’information puisque le

département de la géomatique est une sous-division de ce service.

Schéma 1: Organigramme de la ville de Rimouski

2

Le service des technologies de l’information est un département principalement

au service des autres départements. Il s’occupe de gérer et d’entretenir les équipements

électroniques (ordinateurs, téléphones, tablettes, etc.) utilisés par l’ensemble des

employés municipaux. Le service s’occupe aussi de fournir les différents logiciels utilisés

par la ville et de mettre sur pied des outils de formation pour ces derniers. La création et

les mises à jour du site web de la ville sont prises en charge par ce service ainsi que tout

ce qui touche à l’intranet et autre outil de communication interne.

Le département de géomatique s’occupe des cartes web pour rendre accessible

aux citoyens les informations que possède la ville. Il s’occupe aussi de fournir les cartes

nécessaires aux autres services. Finalement, ce département s’occupe de la base de

donnée spatiale en créant de nouvelles données, en gardant à jours les données

existantes et en consolidant la structure de cette base de données afin de faciliter son

analyse. Pendant la duré du stage, la plupart des services de la municipalité ont fait

appel au département de géomatique, mais le service de génie est, de loin, celui qui

l’utilise le plus fréquemment. Ce service comporte deux employés; M. Gilbert Cassista,

coordonnateur en géomatique et M. Jean-Sébastien Caron, technicien en géomatique.

1.2 Problématique globale

Depuis les années 80, avec la démocratisation de l’informatique, nous avons vu

apparaitre une tendance vers l’informatisation de la gestion municipale. Cette

informatisation a amené le concept de ville intelligente (Dupuy G., 1993, p.94). À

l’origine, ce concept abordait l’idée d’un traitement de l’information plus rapide, unifié

avec la captation et le traitement de données en temps réel. Ce phénomène permet de

mieux connaitre la ville et de pouvoir prendre des décisions plus informer et plus

rapidement et donc avoir une ville «intelligente» (Dupuy G., 1993, p. 102).

3

Avec le temps, nous avons vu une complexification du concept de ville

intelligente. Selon le modèle de Giffinger, six aspects composeraient la ville intelligente

avec, pour chacun, une liste de critères à remplir selon divers indicateurs. Les six aspects

sont : une économie intelligente, une mobilité intelligente, un environnement

intelligent, des citoyens intelligents, un habitat intelligent et une gouvernance

intelligente. Bien que la municipalité ait un rôle à jouer pour chacun de ces aspects, le

stage s’est déroulé dans le but d’œuvrer sur celui de la gouvernance. Les trois critères

de cet aspect sont la participation dans les prises de décision, offrir des services publics

et sociaux et être transparent.

Ayant choisi d’aller vers le concept de ville intelligente, la ville de Rimouski

entreprend diverses mesures pour atteindre ce but. L’un de ces moyens consiste à

rendre les données de la municipalité disponibles au public. Pour y parvenir, le

département de géomatique a dû réorganiser ses bases de données et développer des

cartes interactives pour les rendre intelligibles au public. Afin de les aider dans cette

tâche, la ville a fait appel à un stagiaire.

. La ville utilisait depuis un certain temps ArcGIS Online, cependant, ce dernier

n’offre pas l’option de contrôler quelles données sont téléchargeable ou non par les

utilisateurs. Le logiciel choisi afin de palier à ce problème est ArcGIS server. Rimouski

souhaite offrir aux citoyens les données qu’elle possède, mais ne peut pas rendre

téléchargeables les données qui ne lui appartiennent pas. Nous donnons comme

exemple ici les données cadastrales qui appartiennent au gouvernement du Québec.

ArcGIS server permet donc de gérer quelles couches de données sont téléchargeable et

quelles ne le sont pas.

4

1.3 Mandats du stage

1.3.1 Mandat principal

Le principal mandat pour ce stage était d’aider le département de géomatique

avec le projet de données ouvertes de la ville de Rimouski. Pour accomplir ce travail,

plusieurs sous-tâches étaient planifiées. Le mandat consistait donc à analyser le SIG de

la ville de Rimouski et étudier en détail le fonctionnement d’ArcGIS server afin de

planifier le transfert des données. Par la même occasion, la ville voulait restructurer sa

base de données afin d’être compatible avec G.O. cité, un SIG développé par une

association de municipalités du Québec afin de fournir des outils de gestion de données

spatiales municipales. Finalement, des domaines devaient être ajoutés aux données afin

de standardiser l’écriture et des métadonnées composées pour faciliter la

compréhension des données.

Dans un deuxième temps, le mandat consistait à utiliser la nouvelle structure de

données afin de publier ces dernières. Les tâches touchaient donc à la création de cartes

interactives pour le site internet de la ville et d’une restructuration des données de

transport en commun pour être compatibles avec Google.

1.3.2 Mandat secondaire

Le mandat secondaire consistait à travailler sur les projets de tous les jours du

département de géomatique. Ces projets consistaient principalement à fournir un

service de cartographie aux autres départements. Dans une moindre mesure, la mise à

jour des données faisait partie des tâches. Ce mandat secondaire était donc d’assister

M. Carron, le technicien en géomatique, dans ses tâches.

5

1.4 Objectif du stage

1.4.1 Objectifs du mandat

Le but recherché par ce stage est de doter la ville de Rimouski d’un outil servant

à contrôler efficacement le niveau d’accessibilité des données. Cet outil lui permettra de

diffuser ses données en les plaçant dans leur contexte qui, parfois, est composé de

données n’appartenant pas à la ville. En diffusant ses données, la ville répond à certains

critères pour la qualifier de «ville intelligente». Les cartes web développées donneront,

aux citoyens, un accès rapide aux informations concernant le territoire et les différents

services offerts par la ville.

En arrière-plan, un des objectifs de l’analyse du SIG et des métadonnées est de

documenter les données, leurs origines, leurs raisons d’être. Ceci dans le but d’en

assurer la pérennité et l’usage par d’autres employés de la ville.

1.4.2 Objectifs personnels

Pour ce stage, quelques objectifs personnels ont été définit. Tout d’abord, il est

intéressant de comprendre comment utiliser les connaissances académiques des SIG

dans une situation réelle. Ensuite, aillant un intérêt marqué pour la gestion municipale,

un des buts fixer correspondait à se familiariser avec le fonctionnement interne d’une

ville. Le dernier objectifs consistait à observer les directions que prennent les

municipalités et la place de la géomatique dans le concept de ville intelligente.

6

1.5 Échéancier

Dans le «protocole d’entente pour un stage en milieu de travail», un échéancier

général avait été établi :

1. Analyse du SIG en place (juillet 2015)

2. Mise en place des correctifs et amélioration au SIG (août – octobre 2015)

3. Participation au projet de données ouvertes (août – décembre 2015)

4. Analyse spatiale et cartographie pour divers projets (juillet – décembre 2015)

5. Mise à jour et création de couches d’informations géographiques selon les

besoins (juillet – décembre 2015)

Notons ici que seuls les points 1 et 2 ont une date de fin précédant la fin du

stage. L’échéancier fut donc aisément respecté à une seule exception. Les

métadonnées, que nous classons dans le point 2, étaient composées à temps perdu,

reléguées à une tâche secondaire, et ont été finalisées durant la dernière semaine de

stage.

Cet échéancier reflète mal l’ampleur des tâches accomplies durant ces six mois

de stage. De plus, le projet principal s’est déroulé sans grand problème et donc plus

rapidement que prévu. Ceci a permis d’ajouter des projets imprévus à la liste de tâche

et donc sans échéancier prévu.

7

2. Méthodologie

2.1 Méthodologies utilisées

Dans cette section, nous aborderons les différents projets réalisés. Pour chacun

d’eux, il y aura une description des objectifs spécifiques, des méthodes utilisées, des

problèmes rencontrés et de leurs solutions

2.1.1 Analyse du SIG

L’analyse du SIG se sépare en deux grandes actions, soit réaliser un inventaire

des données et construire un schéma relationnel expliquant l’origine (quel logiciel est

utilisé pour générer les données) et la fonction des données (comment ces données

sont utilisées, diffusés). Pour chacune de ces actions, plusieurs éléments ont dû être pris

en compte.

L’inventaire des données a été effectué manuellement. Chacun des champs de

chacune des couches a été inséré dans un tableau. Plus tard lors du stage, un « script

python » fut développé pour générer automatiquement ce tableau; le script se trouve à

l’annexe 1. Les raisons justifiant la création manuelle du tableau sont les suivantes : cet

exercice permet de se familiariser avec la base de données et de connaître plus

rapidement où se trouve l’information. De plus, durant cet inventaire, il fut possible de

faire un premier repérage pour consolider la base de données. Ce repérage s’est

effectué en six points :

Trouver les informations en double

Trouver les champs avec un domaine déjà d’associé

Trouver les champs qui pourraient bénéficier d’un domaine

Trouver les couches pouvant être fusionnées

Trouver les couches pouvant bénéficier d’un sous-type

Trouver les couches pouvant avoir un «relationship class»

8

Il fut demandé par la ville de produire un schéma relationnel des données. Ce

schéma devait représenter les chemins que prennent les données, de leurs origines à

leurs publications. Cette étape du projet fût difficile à réaliser et qu’en partie complétée,

car deux problèmes ont été rencontrés.

Les problèmes consistaient à des difficultés d’accès à l‘information nécessaire

pour effectuer la tâche demandé. Ces renseignements se trouvaient dans des logiciels

aillant un nombre limité de License et donc non accessible. Aussi, l’origine de plusieurs

données n’étaient connut que des personnes les aillant importées. Il fut jugé que le

temps consacré à expliquer les relations en détail serait le même que de les faire écrire

par les personnes possédant l’information.

En guise de solution, un gabarit a été créé sous forme de schéma. Il illustre les

différentes origines, les moyens possibles de les importer dans la base de données, il

explique comment ces données sont traitées et comment elles sont publiées. Ce gabarit

fut ensuite rempli par les personnes concernées.

Cette analyse du SIG aura permis de se familiariser à la base de données, de

créer des outils de planifications pour les tâches à suivre et de créer des documents

expliquant la base de données.

2.1.2 Transition vers ArcGIS server

Avant de commencer à planifier la transition des données sur ArcGIS server, une

compréhension plus poussée de ce logiciel était nécessaire. Pour ce faire, une recherche

fut réalisée sur ce logiciel, sur les possibilités qu’il offre. Ensuite, le manuel de formation

a été lu, formation que M. Cassista a suivie avec les gens d’ESRI. Cette formation a été

faite dans l’optique de bien comprendre les différentes fonctionnalités du logiciel pour

ainsi les adapter aux besoins de la ville.

9

Pour planifier la transition, la forme qu’allait prendre la structure des données

devait être défini. Cet objectif aurait pu être de garder la même structure, mais il fut

demandé de préparer la base de données en prévision d’aller vers G.O.Cité. Une

difficulté rencontrée ici est le peu d’information sur le fonctionnement de cette

application. Sur leur site web (http://www.gocite.ca/), il est indiqué qu’il s’agit de 3

modules ajoutés à ArcGIS pour aider les municipalités à standardiser et gérer leurs

données spatiales. Il est aussi indiqué que cette application gère 17 thématiques. Il fut

donc convenu, avec M. Cassista, d’utiliser 17 «feature dataset» correspondant aux

thématiques citées sur le site web de G.O.Cité. Les différentes couches furent réparties

dans les dataset qui leurs correspondaient le mieux.

Avec les objectifs clairement établis, le transfert des données débuta. Les

«features datasets» furent créés et une petite série de couches transférées. Les

fonctionnalités d’ArcGIS server concernant l’accessibilité aux données purent être

vérifiées. L’ensemble des données a ensuite été transféré sur le serveur. On effectua

plusieurs tests concernant les droits d’accès par différents utilisateurs. Des

modifications durent ensuite être apportées. Les principaux problèmes rencontrés

touchaient au «propriétaire» des données qui est l’utilisateur qui ajoute une couche à la

géodatabase. Ce propriétaire est le seul à pouvoir modifier la structure de la donnée

(ex : ajouter un champ). Un utilisateur fut créé afin d’être le seul propriétaire des

données et sont code d’accès distribué aux employés ayant l’autorisation de modifier la

structure des données.

Une fois les données transférées sur le serveur et les problèmes d’accessibilité

réglés, des essais furent effectués pour vérifier le bon déroulement des fonctionnalités

d’ArcGIS server vues lors de la formation. Trois documents ont été rédigés pour

expliquer la marche à suivre lors de l’utilisation d’ArcGIS server. Le premier concerne

l’importation de nouvelles donnée, le deuxième explique la fonction d’archivage des

données et le dernier explique l’outil «versionning».

10

Ce projet a permis de placer les données géographiques de la ville sur un serveur

web. Ceci constitue le premier pas, effectué lors du stage, vers le projet des données

ouvertes que vise la ville de Rimouski.

2.1.3 Mise à niveau des données

Lors de l’analyse du SIG de Rimouski, six points furent surveillés pour consolider

la base de données. Peu d’information se trouvait en double et les couches pouvant être

fusionnées et bénéficier d’un sous-type sont demeurées telles quelles. Pour chacune de

ces couches, M. Cassista avait une raison valable de les conserver. Pour ce qui est des

«relationship class», seule la couche des routes en fut équipée, nous reviendrons sur ce

au point 2.1.4.

Pour les domaines, l’opération s’est déroulée en deux étapes. La première étape

consistait à préparer les domaines alors que la deuxième consistait à les intégrer dans

les données. Pour les domaines déjà existants, la préparation consistait à repérer les

champs correspondants, mais qui n’étaient pas déjà associés. Ensuite, 45 domaines

furent créés.

La deuxième étape est plus complexe dû à une caractéristique d’ArcGIS; il est

impossible d’ajouter un domaine à un champ existant, le domaine doit être associé lors

de la création du champ. Pour réaliser l’ajout des domaines, un outil fut assemblé avec

«model builder». Puisqu’il n’est pas possible d’avoir 2 champs dans la même table ayant

le même nom, un champ temporaire devait être créé. Le modèle créait ce champ

temporaire, y copiait les données du champ désigné. Ce dernier était alors effacé. Un

autre champ était alors créé, avec le nom du champ effacé, mais avec le domaine

désigné d’associé. Les données du champ temporaire y étaient copiées et ce dernier

effacé. Puisque le but d’un domaine est de standardiser l’écriture des données d’un

champ, une inspection manuelle était faite pour vérifier l’intégrité des données.

11

Une autre étape de la mise à niveau des données consistait à la création de

métadonnées. Il fut décidé de se baser sur le même modèle que les métadonnées du

gouvernement du Québec soit une version modifier du «North american profile of ISO

19115 2003». Une description fut intégrée pour expliquer ce que la couche représente

et une description de chacun des champs fut faite.

La difficulté pour les métadonnées était de trouver la signification de certains

champs. Certaines fois, en étudiant les données du champ et son contexte, il était

possible de déduire ce que le champ représentait. D’autres fois, le nom du champ et de

la couche à laquelle il appartient était noté dans un tableau pour éventuellement

compléter le travail.

En incluant des métadonnées dans sa base de données, la ville de Rimouski

ouvre la porte vers une plus grande transparence. En plus de fournir les données qu’elle

possède au public, elle inclut une explication de ce qu’elles représentent, facilitant leurs

compréhensions.

2.1.4 Topologie des rues

Ce projet fut initié afin de corriger la topologie de la couche du réseau routier

dans le but de la préparer pour des analyses de réseau. Ceci consiste principalement à

s’assurer de la connectivité du réseau. Plus précisément à vérifier que les segments de

rues commencent et arrêtent précisément aux intersections. Afin d’effectuer cette

tâche rapidement, 3 règles topologiques furent créées avec ArcGIS;

pas de « dangle » (cul-de-sac)

pas de pseudo nœud (2 segments sans intersection)

ne se superpose pas à lui-même

12

Ces trois règles ont fait ressortir les erreurs recherchées, mais aussi des éléments

qui devaient rester, par exemple, un vrai cul-de-sac. Chacune des alertes fut donc

vérifiée à l’aide de la photographie aérienne datant de 2011 que la ville possède.

Par la suite, 5 informations furent réintégrées à la couche du réseau routier. Ces

informations se trouvaient en partie sur la couche d’origine du réseau routier (qui avait

été copié) en partie sur d’autres couches. Ces informations entraient en conflit avec la

structure des segments du réseau. Plus précisément, ces informations séparent les

segments à d’autres points qu’aux intersections. ces informations sont :

le nombre de voies,

la limite de vitesse,

le type de revêtement,

le propriétaire,

le responsable de l’entretien.

La première méthode suggérée pour réintégrer ces informations dans le réseau

routier consistait à utiliser des références linéaires. Cependant, cette méthode ne se

sert que des tables pour stocker les données. Puisque la ville désirait conserver un

support visuel indépendant pour chacune de ces informations, des couches ont été

créées pour chacune d’elles. Ensuite, des classes de relation furent conçues pour lier de

façon permanente ces couches à celle du réseau routier. De plus, une règle topologique

se vit ajoutée afin que chacune des 5 couches se superpose parfaitement sur celle du

réseau routier.

Ce projet était en lien avec l’objectif secondaire de ce stage, c'est-à-dire,

effectuer les tâches normales des géomaticiens. Il s’agit ici simplement d’affiner la

qualité d’une donnée afin de permettre de future analyse.

13

2.1.5 Cartographie pour le plan directeur des parcs et espaces verts

Ce projet fut réalisé en collaboration avec M. Françis Lagacé, Urbaniste

surnuméraire à la ville de Rimouski. M.Lagacé était chargé de rédiger le plan directeur

des parcs et espaces verts et a fait appel au département de géomatique afin d’obtenir

des cartes pour différentes parties de son travail.

Durant ce travail, une nouvelle couche des parcs fut créée avec les modifications

apportées par M. Lagacé. Ces modifications touchaient essentiellement la nomenclature

des types de parcs. Plusieurs informations existaient déjà dans la base de données, les

statistiques ont dû être importées de Statistique Canada et les rayons de desserte on

dût être créé. Une carte sans plus d’information que l’empreinte des parcs fut créer,

une autre avec le nom des parcs (carte 1). Notons ici que l’encadré contenant les

informations de la carte fût rédigé en suivant le gabarit fournis par la ville.

Carte 1 : Carte des parcs et espaces verts; Format original : 11X18

14

Par la suite, des cartes avec les différents rayons de desserte (400 mètres et 800 mètres)

de 2 types de parcs (parc de voisinage et parc de quartier) furent créées (carte 2).

Carte 2: Analye de la desserte en parcs de voisinage et en parc de quartier; Format original : A0

15

Pour son analyse, des cartes contenants des statistiques sur la population selon

différentes années furent créées. Plus spécifiquement, il y avait une carte avec la

densité de la population et la répartition d’âge (carte 3) ainsi qu’une avec le revenu

moyen.

Carte 3: Carte de la répartition d’âge et densité de la population au Km2 selon le recensement de 2011; Format

original : 11X18

Il s’agit ici d’un projet de cartographie en support à un projet plus grand. Les

cartes présentées ici sont le résultat final d’un travail de longue haleine. Certaines ont

dû être recommencées plusieurs fois suite à des changements de nomenclature.

16

2.1.6 Carte web : les parcs et loisirs

Durant le stage, trois cartes web interactives furent créées. La première

concernait les parcs et loisirs. Cette carte indique la location de tous les parcs et espaces

verts de la ville de Rimouski et permet de faire une recherche par équipement. La

longue liste d’équipement comporte autant le simple banc de parc que l’accès à une

piste cyclable, la présence d’un terrain de baseball ou encore l’autorisation d’avoir un

chien en laisse uniquement.

Pour réaliser cette carte, il fallut intégrer les données sur les équipements

disponibles dans la base de données de géomatique. Ces données provinrent de 3

sources distinctes soit les données fournies par M. Lagacé, celle de l’inventaire de la ville

et d’une vérification à l’aide de Google streetview. Un tableau fut assemblé avec un

champ par équipement et si le parc possède cet équipement, la case correspondant

avait un « V» (pour Vrai) d’inscrit. Ceci permis de programmer des requêtes SQL pour

trouver les parcs et espaces verts avec cet équipement.

Une première application web fut montée à l’aide d’un gabarit fournit par ESRI

sur son portail d’ArcGIS server. Bien que cette application soit fonctionnelle, elle ne

répondait pas à toutes les attentes de M. Michaud, directeur du service des T.I. En

réponse, M.Cassita fournit une application, demandant plus de programmation et qu’il

utilisait pour un autre projet de carte web. Cette application fournie une carte

comprenant des fonctionnalités plus intuitives et avec l’information affichée de façon

plus efficace. De plus, contrairement au premier essai, il y a l’option d’effectuer une

recherche multiple pour les équipements.

17

Pour les équipements, une série d’icônes était disponible dans l’application, mais

ne couvrait pas l’ensemble des besoins. Une recherche web pour trouver des icônes

dans un style similaire, sans droit d’auteur, compléta la liste. De plus, une photographie

par parcs fut sélectionnée parmi la collection prise par M. Lagacé.

2.1.7 Carte web : Gestion écologique et récupération

Cette carte web est basée sur le même principe de recherche que celle des parcs

et loisirs. Il s’agit toutefois de permettre aux citoyens de trouver rapidement l’endroit

où aller déposer des déchets récupérables, mais qui ne sont pas acceptés dans le bac de

recyclage. 64 produits sont listés dans un onglet et en le sélectionnant, la carte indique

les endroits qui reprennent ce produit. La liste comprend différents types de batterie,

les pots de peinture, les vieux électroménagers, etc.

Pour créer cette carte, l’information a dû être transférée d’une liste dans un

document Word à une couche de point dans ArcGIS. La table de cette couche fut

remplie de la même façon que celle des parcs et loisirs, c’est-à-dire qu’un produit

correspond à un champ. Un dernier champ permet d’inscrire la liste complète des

produits que l’endroit accepte. Dans cette liste, un code a été intégré entre chaque

élément afin que l’affichage web soit fait en liste verticale (une ligne, un produit).

L’application utilisée pour construire la carte correspond à celle choisie au premier essai

de la carte des parcs et loisirs.

2.1.8 Carte web : 1946 /2011

Une citoyenne qui étudie en architecture et qui cherchait des plans d’occupation

d’un secteur de la ville avant 1950 déclencha ce projet. Deux plans et un assemblage de

photographie aérienne de 1946 lui furent fournit. Ayant vu des cartes web produites par

18

d’autres villes du Québec, montrant une comparaison entre une vieille photographie

aérienne et une récente, M. Cassista décida de lancer ce projet.

102 photographies aériennes de 1946 furent numérisées. Sur chacune d’elle, une

vingtaine de points de contrôle furent inscrits afin de géoréférencer les photographies.

Parmi les formules proposées dans ArcGIS pour l’interpolation, le «Spline» donnait les

meilleurs résultats. Les photographies fusionnées en une seule matrice terminèrent le

travail.

La carte fut assemblée à l’aide de l’application «story telling» d’ESRI. Au moment

d’écrire ces lignes, il s’agit de la seule carte publiée sur le web. L’adresse est la suivante :

http://rimouski.maps.arcgis.com/apps/StorytellingSwipe/index.html?appid=971385fd1b

d2401ba33fdef8dc2ed7d5#map.

Les deux cartes web mentionnées plus haut (2.1.6 et 2.1.7) seront publiées au

début de l’année 2016 lors de la présentation de l’onglet «Ville intelligente» qui

s’ajoutera au site web de la ville.

Ces trois cartes web s’inscrivent dans le projet de données ouvertes. Il s’agit ici

d’un moyen de fournir aux citoyens des données sur la ville, et ce, de façon intelligible.

Pour les deux premières cartes, il aurait été possible de publier l’information sous forme

de tableau, cependant, cette méthode est fastidieuse pour l’utilisateur et ne fourni pas

de repère spatial. En créant une carte interactive, l’information peut être affichée de

façon claire et efficace, et dans son contexte spatial. Pour ce qui est de la troisième

carte web abordée dans ce travail, elle permet de transmettre une information

historique sur la ville qui aurait autrement dormi dans le coffre des plans de la ville.

19

2.1.9 Transport en commun GTFS

Google map est une application web couramment utilisée pour planifier des

itinéraires. Ces derniers peuvent être adaptés à différent moyen de transport. Pour ce

qui est des transports en commun, Google demande aux sociétés de transport en

commun de lui fournir les données en format GTFS (General Transit Feed Specification).

Ce format consiste en une série de tableaux en format .txt représentant différents

aspects du système de transport en commun et ces tableaux sont reliés entre eux (voir

graphique 1).

Graphique 1: schéma relationnel du format GTFS

Ce format comporte deux grandes familles de données; les données temporaires

et les données géographiques. En ce qui concerne les données temporaires, la société

de transport de Rimouski fournit sur sa page web les horaires pour chaque arrêt de

20

chacun des circuits. Le travail consistait donc à retranscrire ces données dans la bonne

table. Un problème rencontré ici repose sur la différence de précision entre le format

GTFS et l’horaire publié. Ce dernier est précis à la minute, ce qui permet à deux arrêts

consécutifs d’être prévus pour la même heure. Ceci génère un message d’erreur si laissé

tel quel dans le format GTFS qui demande d’être précis à la seconde. Pour y remédier,

un 30 secondes fut ajouté pour le deuxième arrêt partageant le même horaire.

Les données géographiques ont demandé plus de travail. Tout d’abord, les arrêts

étaient placés à titre indicatif seulement. Ils furent donc déplacés à leurs positions

exactes en utilisant la photographie aérienne comme référence. Ensuite, pour les

circuits, les coordonnées de chaque vectrices doivent être inscrites pour permettre à

Google de tracer ce circuit. Il n’est pas possible d’effectuer cette opération avec la

License d’ArcGIS que la ville possède. Pour y remédier, le logiciel Q-GIS fut utilisé afin

d’extraire ces données. L’ordre de numérisation étant lié à l’ordre des résultats de cette

opération, deux des trois circuits ont dût être retracés.

Ce projet utilise la grande popularité de Google map afin de faciliter l’accès à une

information. Ceci s’ajoute au projet de données ouvertes en fournissant à une

plateforme externe, des données qui seront diffusées. Par contre, la ville de Rimouski

possède un second type de transport en commun, les TaxiBus, qui consiste en un service

de taxi qui prend plusieurs passagers en même temps et dessert les secteurs les plus

éloignés du centre urbain. Ce service fonctionnant qu’avec des arrêts prédéterminer,

sans circuit ni horaire précis, n’est pas compatible avec le modèle de Google map. La

ville doit donc réfléchir à un moyen d’intégrer ces deux modes de transports dans un

même modèle.

21

2.1.10 Focus : déneigement des rues

La ville de Rimouski a modernisé le suivi de sa flotte routière en débutant par les

camions de déneigement. Pour ce faire, elle a fait appel à une compagnie externe,

Focus, qui se spécialise dans la gestion de flotte.

Avec un GPS installé sur les véhicules, leur logiciel permet d’obtenir, en temps

réel, des informations sur l’utilisation de ces véhicules. Ainsi, il est possible de voir sur

une carte le parcours emprunté. Pour ce faire, Focus demande à la ville de numériser

elle-même son réseau routier dans leur programme. Une formation a donc été donnée

aux employés du département de géomatique afin de bien comprendre les différents

paramètres à considérer lors de la numérisation. Ces derniers consistaient surtout à

diminuer la précision des tracés ; l’utilisation de polygone au lieu de polyligne sous

forme de segment large et qui ne se rejoint pas aux intersections. La raison de ce

manque de précision est le fonctionnement même du programme qui prend la position

du GPS au 30 secondes, GPS qui peut être précis au 5 mètres, et qui fait un tracé à partir

de ces points. L’idée est que ce tracé se retrouve à l’intérieur du polygone de rue, à un

certain pourcentage, pour indiquer que le véhicule est bien passé par ce chemin.

Ce projet ne participe pas aux données ouvertes, mais démontre l’utilisation

qu’est faite de la géomatique pour la ville. Les outils de la géomatique permettent donc

une gestion en temps réel des effectifs de la ville et ainsi d’atteindre une plus grande

efficacité dans ses services.

2.1.11 Tronçon d’égout à inspecté

Ce travail fut réalisé pour Mme Anick Saint-Pierre, ingénieure responsable de

l’inspection des égouts et aqueduc. Il s’agissait de fournir des plans avec différents

segments d’égouts présélectionnés et leurs caractéristiques (numéros d’identification,

22

longueurs, diamètres, matériaux, etc.). Une problématique que Mme Saint-Pierre devait

résoudre était de ne pas dépasser une certaine longueur totale de segment d’égout à

inspecter afin de respecter son budget. Afin de l’aider dans ce travail, les plans étaient

accompagnés d’un tableau Excel reprenant les caractéristiques de chacun des segments

et calculant automatiquement la longueur totale. Ce travail fut repris plusieurs fois afin

d’intégrer ou d’enlever des segments dans les plans.

Il s’agit ici d’un exemple de projet couramment demandé au département de

géomatique par un autre service.

2.1.12 Calendrier des collectes de déchet pour mes services municipaux

Un des projets sur lequel M. Casista travaillait était celui de la carte web intitulé

«mes services municipaux» qui permettent, en choisissant une localisation, d’obtenir

l’information sur les services municipaux disponibles près de cet endroit. Une de ces

informations consistait à indiquer les journées de collectes d’ordure, de recyclage et de

compost.

La problématique étant que les semaines de collectes changent selon les saisons

et durant l’hiver, elles ne sont pas régulières. Lors de la programmation de l’application

web, ces changements obligent d’indiquer chacune des dates individuellement

puisqu’elles ne sont pas inscrites dans un cycle régulier. Par contre, si la collecte

s’effectue une semaine, elle se fait la même semaine pour tous les secteurs. Ceci a

permis de simplifier la retranscription des données en indiquant manuellement la date

que des lundis et d’additionner les autres journées à l’aide d’Excel.

Ce projet permettra de fournir l’information aux citoyens en limitant le nombre

de calendriers de collecte à imprimer comme il est fait en ce moment.

23

2.1.13 Carrière sablière

Le service des ressources financières a demandé au département de géomatique

de les aider à mettre à jour leurs documents sur les carrières et sablières en exploitation

sur le territoire de la municipalité. Il s’agissait de comparer des documents provenant de

plusieurs sources : le service des ressources financières, les données du service de

géomatique, les données du gouvernement du Québec et des photographies aériennes.

Une analyse de ces différents documents a permis d’identifier de nouvelles

carrières et sablières, certaines qui ne sont plus en exploitation, certaine qui n’ont pas

changé de statuts et celles qui doivent être vérifiées sur place par un inspecteur. Ceci a

permis de partager l’information entre les deux services et d’avoir des données à jour.

2.1.14 petits projets

Cette dernière section sur la méthodologie utilisée traite de plusieurs petits

projets demandés qui consistaient principalement aux tâches quotidiennes du

département de géomatiques. Ces projets n’ont pas demandé plus d’une demi-journée

de travail.

Tous les bâtiments appartenant à la ville

Il fut demandé ici d’ajouter à la couche des bâtiments, un champ indiquant s’il

s’agit d’un bâtiment appartenant à la ville. Avec le logiciel Accès Cité Territoire qui gère

les cadastres et les propriétés, une recherche a été effectuée afin de faire ressortir les

propriétés appartenant à la ville. L’information représentant les cadastres fut transférée

vers ArcGIS afin d’acheminer l’information sur la bonne couche. Une carte montrant les

24

bâtiments ayant une fonction inconnue fut ensuite fournie comme document de travail

(carte 4).

Carte 4: Bâtiments se trouvant sur un lot appartenant à la ville; Format original : A0

25

Motoneige

Ce projet consistait à indiquer le tracé des sentiers de motoneiges pour une

analyse du département d’urbanisme (carte 5).

Carte 5: Empreinte des sentiers de Motoneige; Format original : A0

26

Nombre de logements dans les secteurs urbains du Bic

Une étude pour le déneigement demandait de connaitre le nombre de

logements dans différents secteurs urbanisés dans le district du Bic. Une carte a été

assemblée avec les unités d’évaluation se situant dans les secteurs urbains et avec le

nombre de logements Total se trouvant dans la légende (carte 6)

Carte 6:Nombre de logement en milieu urbain, secteur du Bic; Format original : 11 X 18

Limites district loisir sur limites de quartier

Pour ce travail, il fut demandé de modifier les limites des districts

d’appartenance aux loisirs pour qu’elles se superposent aux limites des quartiers afin de

standardiser les différentes séparations de la ville.

27

Vérification WiFi et Z.A.P.

Il fut demandé de vérifier si les données de la ville concernant les endroits

offrant un accès gratuit à internet par WiFi concordaient avec celle fournie par le

distributeur de ce service.

Cartes avec info sur les lots

Ici il s’agit de plusieurs demandes qui se sont fait tout au long du stage

concernant la demande de citoyens sur les dimensions d’un lot en particulier. Le travail

consistait donc à créer une carte 8 1/2 par 11 centré sur le lot avec les dimensions du

terrain d’afficher.

Intersections importantes

Il s’agissait ici de repérer les intersections importantes, c’est-à-dire, celle avec un

feu de circulation. Ce projet a servi à identifier quelle intersection devait avoir des

pancartes de nom de rue plus grande.

Site du patrimoine du Bic

Ce projet consistait à numériser un tracé fait à la main sur une carte papier pour

identifier les lots faisant partie du site du patrimoine du Bic.

28

Terrain contaminé

Ce projet consistait à trouver dans la base de données du gouvernement du

Canada et celle du gouvernement du Québec, la liste des terrains contaminés. Une

couche de point fut ensuit construite pour chacune de ces deux données. Ces couches

ont ensuite servi à l’étude d’un projet de développement dans le secteur industriel.

Ces petits projets font partie des services que le département de géomatique

offre aux autres services de la ville ainsi qu’aux citoyens. Dans la plupart des cas, il s’agit

d’un service de cartographie.

2.2 Résultats et discussion

À la lumière de ces différents projets réalisés, il est possible d’affirmer que les

objectifs des mandats confiés pour ce stage ont été atteints. ArcGIS server est

opérationnel, des projets d’application web ont été réalisés afin de distribuer des

informations que la ville possède. Avec ce stage, le projet de données ouvertes de la

ville a pu avancer beaucoup plus rapidement.

M. Cassista voit tout le potentiel qu’offre la géomatique aux différents projets de

la ville. Il doit cependant composer avec une petite équipe qui n’a pas le temps

d’accomplir tout le travail nécessaire pour exploiter ce potentiel. Le manque d’effectif

est le principal problème du département de géomatique de la ville de Rimouski.

29

3. Analyse critique

Le domaine des SIG est en constante évolution, et ce, autant d’un point de vue

technique que d’un point de vue conceptuel. À l’origine, il s’agissait d’un outil

d’automatisation de la cartographie pour ensuite, dans les années 1990, devenir un outil

d’aide à la décision. Depuis les années 2000, avec la croissance des applications web, les

SIG ont pour objectif de diffuser des connaissances sur le territoire pour développer une

compréhension partagée de l’espace (Pornon H. 2007). En ce sens, le stage effectué à la

ville de Rimouski s’inscrit dans son époque. Sans être avant-gardiste, il fut demandé

d’utiliser des applications récentes pour publier de l’information géographique.

Le poste occupé au sein de l’organisme municipal était celui d’un haut

technicien. La réflexion qui était demandée concernait surtout la résolution de

problème technique, l’analyse spatiale étant laissée aux ingénieurs et urbanistes.

Cependant, le département de géomatique élabore une réflexion plus cognitive de son

utilité. Il parait évident qu’il y a, selon les projets demandés et les discussions sur leurs

buts, une réflexion sur comment la géomatique peut servir la population. La question

qui semble être posée est «Quelles informations pourraient être utiles ou intéresser la

population ?» et «Comment présenter cette information de façon intelligible avec des

applications faciles d’utilisation?»

Bref, le poste de géomaticien municipal consiste à gérer les bases de données

géographiques, de les manipuler pour en extraire l’information demandée et publier

cette information.

30

4. Développement futur

Plusieurs technologies présentement sur les tables à dessin pourraient influencer

le rôle des géomaticiens. Lors du colloque des géomaticiens municipaux du Québec au

printemps 2015, il fut mention de feux de circulation régulant le trafic selon la densité

de ce dernier en se servant du service de localisation des téléphones cellulaires pour

calculer cette densité. Google développe présentement une voiture se déplaçant sans

conducteur (Google 2016). Ce type de technologie utilisera des données spatiales qui

devront soit être fournies par les municipalités, soit être gérées par celle-ci.

À plus courts thermes, les géomaticiens municipaux semblent emprunter la voie

des données ouvertes. Plusieurs municipalités mettent présentement sur pieds des

applications cartographiques web pour fournir des informations utiles aux citoyens.

Cette tendance est à ses débuts et dépendamment de la réponse des citoyens, elle

pourrait durer encore longtemps.

Malgré ce que le futur prépare, la géomatique municipale devra sans aucun

doute continuer d’assumer ses fonctions de bases. Nous entendons ici le service de

cartographie ainsi que la gestion et l’entretien des données spatiales pour les autres

services municipaux.

31

5. Conclusion

Ce stage aura permis d’atteindre mes objectifs personnels. La géomatique étant

utile pour la grande majorité des départements de l’organisme municipale, elle est

portée à travailler sur une grande variété de projets. Le concept de ville intelligente

repose sur une gestion intégrée des différents aspects qui la composent. Par cet aspect

et par la nature versatile de la géomatique, cette dernière devrait occuper un rôle

important dans la mise en place d’une ville intelligente.

Le DESS en SIG de l’UQAM est très technique dans son approche de la

géomatique. Cette formation a toutefois permis de fournir les outils nécessaires au

travail demandé lors de ce stage. Les lacunes de formation en publication web ont été

en partie comblées lors de ce stage.

Pour conclure, ce stage m’aura permis d’encrer mes connaissances des SIG dans

des situations réelles. De voir un projet de géomatique mener au travers de toutes ses

étapes. Surtout, ce stage m’aura permis de confirmer le grand intérêt que je porte au

SIG.

32

Bibliographie

Dupuy Gabriel, 1993. Chapitre 6 : De l'informatique municipale à la "ville intelligente" :

tendances de l'informatisation urbaine. In: Annuaire des collectivités locales. Tome 13.

pp. 93-103.

Giffinger, R. (s.d.). The smart city model. In European smart cities. http://www.smart-

cities.eu/model.html (page consultée le 28 décembre 2015)

G.O.Cité 2015 à http://www.gocite.ca/ (page consulté le 28 décembre 2015)

Google 2016, à https://www.google.com/selfdrivingcar/ (page consulté le 15 janvier

2016)

Pornon, Henri, 2007, «Bilan et perspectives de 20 années de géomatique», Géomatique

Expert- No 57- juin-juillet 2007 pp. 36- 46

33

Annexes

Annexe 1 : code python

# coding: utf8 # Titre: inventaire_geodatabase.py # But: Ce script crée un fichier csv contenant l'inventaire d'une geodatabase # Cree par: Jean-Philippe Lauzon # Creation: 2015-08-20 # Modification: # Copyright: 2015 ''' DESCRIPTION: cette outil fera l'inventaire l'inventaire de la geodatabase en creant un document csv a l'endroit desirer.le tableau d'inventaire contiendra les champs suivants : Feature dataset, Featureclass, Shape, Nom du champ, Alias du champ, Type du champ ''' ''' Historique des modifications: 2015-08-20: Creation ''' # declaration d'une classe d'erreur class script_exc(Exception): pass #__IMPORTATION_DES_MODULES___ #_______________________________________________________________________ import sys, os, re import traceback import arcpy from arcpy import env

34

#__DECLARATION_DES_VARIABLES___ #_______________________________________________________________________ # Variables en entre, parametrables à partir d'arcgis: GDB = arcpy.GetParameterAsText(0) dossier_sortie = arcpy.GetParameterAsText(1) # variable pour la sortie du fichier csv GDB_spliter=GDB.split("\\") nomgdb = GDB_spliter[-1] inventaire = dossier_sortie + "\\\inventaire_"+nomgdb+".csv" #on cree un nom specifique faisant reference a la geodatabase inventorier #__VERIFICATION_DES_PARAMETRES_EN_ENTRE___ #_______________________________________________________________________ # Verification de la presence de la geodatabase if not arcpy.Exists(GDB): msg=("La geodatabase %s n'est pas présente" %(str(GDB))) raise script_exc(msg) # Verification que la geodatabase donnee par l'utilisateur est une geodatabase info = arcpy.Describe(GDB) if not info.dataType == "Workspace": msg=("Le fichier %s n'est pas une geodatabase" %(str(GDB))) raise script_exc(msg) # la geodatabase devient notre workspace env.workspace = GDB #__DEFINITION_DES_FONCTIONS___ #_______________________________________________________________________

35

# permet de ne pas écraser un inventaire existant en créant un nom unique pour le fichier de sortie. def get_unique_path(path): # source :sametmax.com while os.path.exists(path): # si le nom de fichier existe, on en cherche un autre base, ext = os.path.splitext(path) # on vire l'extension try: base, counter, _ = re.split(r" \((\d+)\)$", base) # on extrait le compteur si il existe except ValueError: counter = 0 path = "%s (%s)%s" % (base, int(counter) + 1, ext) # on reconstruit le path return path #____COMMANDE_PRINCIPALE____ #_______________________________________________________________________ if (os.path.exists(inventaire)): inventaire = get_unique_path(inventaire) try: print "Debut du traitement..." F_out = open (inventaire, "w") # ouvre le fichier en sortie pour écrire dedans F_out.write ("Feature dataset;Featureclass;Shape;Nom du champ; Alias du champ;Type du champ;Projection;Presence de metadata;Chemin d'acces \n") # cette ligne inscrit l'entête dans le fichier de sortie. liste_ds = arcpy.ListDatasets() # on cree la liste des feature dataset... for dataset in liste_ds: # pour chaque feature dataset... liste_fc = arcpy.ListFeatureClasses("","",dataset) # ...on crer la liste des features class... for f_class in liste_fc:

36

liste_champ = arcpy.ListFields(dataset + "\\" + f_class) # pour chaque featureclasse de la liste, on fait une liste des champs. info_fc = arcpy.Describe(dataset + "\\" + f_class) # a partir d'ici on extrait l'information des feature class chemin_incomplet = info_fc.path chemin = chemin_incomplet + f_class f_shape = info_fc.shapeType r_spacial_code = info_fc.spatialReference r_spacial = r_spacial_code.Name meta_d = info_fc.metadataRetrieved if meta_d is False: # on ne peut pas inscrire des donnees booleen avec des string alors on change les donnees booleen en string metadata = "Faux" elif meta_d is True: metadata = "vrai" else: metadata = "" for champ in liste_champ: #a partir d'ici on extrait l'information des champs type_champ = champ.type alias_champ = champ.aliasName nom_champ = champ.name F_out.write(dataset.encode('utf8')+";"+f_class.encode('utf8')+";"+f_shape.encode('utf8')+";"+nom_champ.encode('utf8')+";"+alias_champ.encode('utf8')+";"+type_champ.encode('utf8')+";"+r_spacial.encode('utf8')+";"+metadata.encode('utf8')+";"+chemin.encode('utf8')+ "\n") # la ligne ci-haut ecrit dans le fichier csv les informations recueillient dataset = "" # a partir d'ici, on fait l'inventaire de ce qui n'est pas dans un feature dataset donc on laisse le champ vide liste_fc = arcpy.ListFeatureClasses() # on crer la liste des features class... for f_class in liste_fc:

37

liste_champ = arcpy.ListFields(f_class) # pour chaque featureclasse de la liste, on fait une liste des champs. info_fc = arcpy.Describe(dataset + "\\" + f_class) # a partir d'ici on extrait l'information des feature class chemin_incomplet = info_fc.path chemin = chemin_incomplet + f_class f_shape = info_fc.shapeType r_spacial_code = info_fc.spatialReference r_spacial = r_spacial_code.Name meta_d = info_fc.metadataRetrieved if meta_d is False: # on ne peut pas inscrire des donnees booleen avec des string alors on change les donnees booleen en string metadata = "Faux" elif meta_d is True: metadata = "vrai" else: metadata = "" for champ in liste_champ: #a partir d'ici on extrait l'information des champs type_champ = champ.type alias_champ = champ.aliasName nom_champ = champ.name F_out.write(dataset.encode('utf8')+";"+f_class.encode('utf8')+";"+f_shape.encode('utf8')+";"+nom_champ.encode('utf8')+";"+alias_champ.encode('utf8')+";"+type_champ.encode('utf8')+";"+r_spacial.encode('utf8')+";"+metadata.encode('utf8')+";"+chemin.encode('utf8')+ "\n") # la ligne ci-haut ecrit dans le fichier csv les informations recueillient liste_tab = arcpy.ListTables() # on cree la liste des tables... for table in liste_tab: liste_champ = arcpy.ListFields(table) # on cree la liste des champs dans les tables info_tabl = arcpy.Describe(dataset + "\\" + table) # a partir d'ici on extrait l'information des tables f_shape = "table" # ... et on indique dans le champ "Shape" qu'il s'agit d'une table... f_class = table # ... et on indique dans le champ "Featureclass" le nom de la table

38

r_spacial = "" # puisqu'une table n'a pas de reference spatiale, nous laissons le champ vide chemin_incomplet = info_tabl.path chemin = chemin_incomplet + table meta_d = info_tabl.metadataRetrieved if meta_d is False: # on ne peut pas inscrire des donnees booleen avec des string alors on change les donnees booleen en string metadata = "Faux" elif meta_d is True: metadata = "vrai" else: metadata = "" for champ in liste_champ: #a partir d'ici on extrait l'information des champs type_champ = champ.type alias_champ = champ.aliasName nom_champ = champ.name F_out.write(dataset.encode('utf8')+";"+f_class.encode('utf8')+";"+f_shape.encode('utf8')+";"+nom_champ.encode('utf8')+";"+alias_champ.encode('utf8')+";"+type_champ.encode('utf8')+";"+r_spacial.encode('utf8')+";"+metadata.encode('utf8')+";"+chemin.encode('utf8')+ "\n") # la ligne ci-haut ecrit dans le fichier csv les informations recueillient liste_rast = arcpy.ListRasters() # on cree la liste des raster type_champ = "" # puisqu'il s'agit d'un raster, il n'y a pas de champ... alias_champ = "" nom_champ = "" f_shape = "Rasterdataset" # ... et la shape est forcement un rasterdataset... for raster in liste_rast: f_class = raster # ... on indique dans le champ "Featureclass" le nom du raster info_rast = arcpy.Describe(dataset + "\\" + raster) # a partir d'ici on extrait l'information des raster r_spacial_code = info_rast.spatialReference r_spacial = r_spacial_code.Name chemin_incomplet = info_rast.path chemin = chemin_incomplet + raster

39

meta_d = info_rast.metadataRetrieved if meta_d is False: metadata = "Faux" elif meta_d is True: metadata = "vrai" else: metadata = "" F_out.write(dataset.encode('utf8')+";"+f_class.encode('utf8')+";"+f_shape.encode('utf8')+";"+nom_champ.encode('utf8')+";"+alias_champ.encode('utf8')+";"+type_champ.encode('utf8')+";"+r_spacial.encode('utf8')+";"+metadata.encode('utf8')+";"+chemin.encode('utf8')+ "\n") # la ligne ci-haut ecrit dans le fichier csv les informations recueillient F_out.close() # ferme le fichier en sortie (l'inventaire completee) #____GESTION_DES_ERREURS____ except: # Source: Divers scripts de ESRI print "Une erreur est survenue!" tb = sys.exc_info()[2] tbinfo = traceback.format_tb(tb)[0] pymsg = "PYTHON ERRORS:\nTraceback Info:\n" + tbinfo + "\nError Info:\n " + str(sys.exc_type) + ": " + str(sys.exc_value) + "\n" msgs = "ARCPY ERRORS:\n" + arcpy.GetMessages(2) + "\n" arcpy.AddError(msgs) arcpy.AddError(pymsg) print msgs print pymsg arcpy.AddMessage(arcpy.GetMessages(1)) print arcpy.GetMessages(1) finally: F_out.close()