DA_CDittrich

download DA_CDittrich

of 126

description

ARCGIS

Transcript of DA_CDittrich

Dveloppement dune mthode dinterpolation e e curviligne dans le syst`me dinformation e gographique ArcGIS pour lanalyse spatiale eClaudia Dittrich 20. Juin 2004

Sous la direction de : Prof. Dr. Peter Peinl (Referent) Dr. Nadou Cadic (Koreferent)

Rsum e e Le projet est n des tudes du peuplement piscicole des plans deau de lunit e e e 1 du Cemagref Montpellier. de recherche RIPE En juin 2002 le RIPE a ralis des chantillonnages sur le lac Chambon, e e e un lac articiel situ au centre de la France ` cot de la ville dEguzon. e a e Grce ` cette campagne, les chercheurs ont obtenu des jeux de donnes a a e qui contiennent des informations sur la biomasse et la profondeur du lac a ` des endroits donns. Lobjectif attendu de ltude tait de permettre des e e e cartographies ` partir des donnes ponctuelles montrant la rpartition spaa e e tiale de la densit piscicole sur le plan deau en tenant compte des facteurs e cologiques dterminant la rpartition du peuplement piscicole. Dans ce cas, e e e la bathymtrie du lac est le facteur cologique. Elle est la caractristique nae e e turelle du lac dterminant la rpartition spatiale des poissons. e e Au cours de ce projet les techniques classiques de cartographies des syst`mes dinformation gographique (SIG) ont t analyses. Elles ont t e e ee e ee bien examines en regard ` leurs application pour ce projet. Ltude a de a e e montr que les fonctionnalits existantes ne peuvent pas tre utilises pour e e e e nos besoins, car elles ne sont pas assez paramtrables. Apr`s avoir montr e e e les limites des mthodes dinterpolation dans le SIG, une interpolation cure viligne a t envisage pour pouvoir crer une carte prsentant la densit ee e e e e piscicole. Une mthode dinterpolation approprie a t dveloppe. Ces caractrie e ee e e e stiques et sa qualit sont montres dans le mmoire. e e e Pour pouvoir mettre en uvre cet algorithme dans le SIG dESRI ArcGIS, il fallait tudier les modes de stockages, analyser les possibilits dacc`s e e e aux donnes et examiner les possibilits dadaptation des fonctionnalits e e e existantes. Ayant dvelopp une mthode dinterpolation curviligne approe e e prie, elle a t implmente dans le SIG en utilisant lenvironnement de e ee e e programmation propre ` ArcGIS ArcObjects . Elle sert ` interpoler les a a donnes piscicoles et ` crer des cartographies de lattribut interpol. Le e a e e traitement spatial des donnes provenant des chantillonnages et la cartoe e graphie des rsultats obtenus pouvaient tre mis en pratique. e e Mots cls : syst`me dinformation curviligne (SIG), ArcGIS, ine e terpolation curviligne, cartographie, peuplement piscicole, densit e piscicole, facteurs cologiques, bathymtrie, ArcObjects e e

1

RIPE : Ressources Ichtyologiques en Plans dEau

2 Abstract The project is based on research about the sh population in water bodies done by the research group RIPE1 of the Cemegref in Montpellier. In June 2002 RIPE did measurements in the lake Chambon, an articial lake, situated in the middle of France next to the town Eguzon. Due to this research campaign, the scientists have obtained data including information about the biomass and the depths of the lake. The expected result of this research is to create cartographies based on the punctual data, showing the spatial distribution of the sh density in the body of water. The cartographies should consider ecological factors which determine the spatial distribution of the sh population. In this case the bathymetry of the lake is the most important ecological factor. It represents the natural characteristic of the lake, determining the distribution of the sh. In the course of the project the classical cartographical techniques of the geographic information systems (GIS) have been analysed and examined with regard to their project specic application. The study has shown that the existing functionalities can not accomplish the object, as they are not parametrable enough. Having shown the limits of the interpolation methods in the GIS, the curvilinear interpolation had been taken into account to create a map representing the sh density. An appropriate method has been developed. Its characteristics and suitability are shown by the thesis. To implement this algorithm in ESRIs GIS ArcGIS, it was necessary to study the storage modes, analyse the data access and to examine the possibilities to adapt already existing functionalities. Having developed an appropriate curvilinear interpolation method, it was implemented into the GIS by using the softwares development platform ArcObjects. It serves to interpolate the ichthyological data and to create cartographies of the interpolated attribute. The spatial preparation of the data originating from the sample values and the cartography of the obtained results were successfully accomplished. Keywords : Geographic information system (GIS), ArcGIS, curvilinear interpolation, cartography, sh population, sh density, ecological factors, bathymetry, ArcObjects

1

RIPE : Ressources Ichtyologiques en Plans dEau

3 Zusammenfassung Das Projekt ist aus den Forschungen uber den Fischbestand in Gewssern a 1 von Cemagref in Montpellier entstanden. der Forschungsgruppe RIPE RIPE hat im Juni 2002 in dem See Chambon, ein knstlicher See, der u sich in der Mitte Frankreich neben der Stadt Eguzon bendet, Messungen vorgenommen. Dank dieser Forschungskampagne haben die Wissenschaftler Informationen uber die Biomasse und die Tiefe des Sees an bestimmen ten Orten in Form von Datenpaketen erhalten. Erwartetes Ziel der Studie war es, ausgehend von den punktuellen Daten Kartographien zu erstellen, welche die rumliche Verteilung der Fischdichte in dem Gewsser zeigen. a a Die Kartographien sollen die kologischen Begebenheiten, die die Verteio lung der Fischbevlkerung bestimmen, bercksichtigen. In diesem Fall ist o u die Bathymetrie des Sees der bestimmende kologische Faktor. Sie stellt das o natrliche Charakteristikum des Sees dar, das die rumliche Verteilung der u a Fische bestimmt. Im Laufe des Projektes wurden die klassischen kartographischen Techniken der geograschen Informationssysteme (GIS) analysiert und im Hinblick auf ihre projektspezische Anwendungsmglichkeit geprft. Die Studie o u hat gezeigt, dass die existierenden Funktionalitten fr unsere Zwecke nicht a u genutzt werden knnen, da sie nicht ausreichend parametrierbar sind. Nacho dem die Grenzen der Interpolationsmethoden aufgezeigt waren, wurde eine kurvenfrmige Interpolation in Betracht gezogen, um eine Karte erstellen zu o knnen, die die Fischdichte reprsentiert. o a Eine geeignete Interpolationsmethode wurde entwickelt. Ihre Charakteristika und ihre Eignung sind in dieser Arbeit aufgezeigt. Um diesen Algorithmus in ESRIs GIS ArcGIS umzusetzen, war es notwendig, die Abspeicherungsmodi zu erforschen, die Datenzugrismglichkeio ten zu analysieren und die Adaptionsmglichkeiten der bereits existierenden o Funktionalitten zu prfen. Nachdem eine geeignete kurvenfrmige Interpoa u o lationsmethode erarbeitet war, wurde sie unter Benutzung der programmeigenen Entwicklungsumgebung ArcObjects in dem GIS implementiert. Sie dient dazu, die ichtyologischen Daten zu interpolieren und Kartographien des interpolierten Attributs zu erstellen. Die rumliche Aufbereitung der a aus den Stichproben stammenden Daten, sowie die Kartographie der erhaltenen Ergebnisse, konnte praktisch umgesetzt werden. Stichwrter : Geograsches Informationssystem (GIS), ArcGIS, o kurvenfrmige Interpolation, Kartographie, Fischbevlkerung, Fischo o dichte, kologische Faktoren, Bathymetrie, ArcObjects o

1

RIPE : Ressources Ichtyologiques en Plans dEau

4

Ehrenwrtliche Erklrung o aHiermit versichere ich, dass ich die vorliegende Diplomarbeit selbstndig a verfasst habe und keine anderen, als die angegebenen Hilfsmittel und Quellen verwendet habe. Diese Arbeit wurde in gleicher oder hnlicher Form noch keiner anderen a Prfungsbehrde vorgelegen und wurde auch noch nicht verentlicht. u o o

Kelkheim, im Juni 2004

5

RemerciementJe tiens tout dabord ` remercier la MTD de mavoir accueillie dans cet a institut et davoir rendu possible la ralisation du projet. e Je remercie aussi Dr. Nadou Cadic, mon responsable de stage permanent, qui a continu ` mencadrer malgr son dpart du Cemagref. ea e e Je remercie galement le Prof. Dr. Peinl pour ses conseils et son attention e tout au long du stage. Mes remerciements vont galement ` Dr. Jean-Pierre Chry, Dr. Jean-Ste a e e phane Bailly et Aymrique Guibert pour leur aide sur place. e Je tiens aussi ` remercier Carole Delenne pour ses conseils sur les questions a mathmatiques. e Un remerciement spcial ` Philippe Cleyet-Merle pour les corrections non e a seulement linguistiques. Un grand merci aussi ` tous les stagiaires qui mont souvent aide ` trouver a e a les bonnes expressions franaises et qui ont su instaurer une bonne ambiance c pendant cette priode de stage. e

Avant ProposLe projet a t ralis en collaboration avec la Maison de la Tldtection ee e e ee e de Montpellier. Le sujet tait donn par Dr. Nadou Cadic, ancien chercheur e e au sein de lunit de recherche RIPE du Cemagref Montpellier, actuellement e dlgu rgional du Conseil Suprieur de la Pche. ee e e e e Lobjectif de lquipe RIPE est de rpondre aux proccupations des gese e e tionnaires de plans deau, des collectivits territoriales et des professionnels e de la li`re aquacole continentale. e Etant donn que le projet a t ralis dans un institut de recherche en e ee e e France, jai dcid dcrire mon Diplomarbeit en franais. e e e c

Table des mati`res e1 Prface e 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Structure du rapport . . . . . . . . . . . . . . . . . . . . . . . 2 Problmatique e 2.1 Description de la problmatique . . . . . . . . . . . . . . . . . e 2.2 Buts du travail . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Objectif recherch . . . . . . . . . . . . . . . . . . . . . . . . e 3 Les Bases 3.1 Les SIG . . . . . . . . . . . . . . . . . . 3.1.1 Les modes de reprsentation . . . e 3.2 ArcGIS . . . . . . . . . . . . . . . . . . 3.2.1 Famille de SIG . . . . . . . . . . 3.2.2 Stockage des donnes en ArcGIS e 3.2.3 Adaptation . . . . . . . . . . . . 3.2.4 ArcObjects . . . . . . . . . . . . 3.2.5 Langage de programmation VBA 3.3 Analyse spatiale . . . . . . . . . . . . . 3.3.1 Spatial Filter . . . . . . . . . . . 3.3.2 Spatial Operator Interfaces . . . 3.4 Les algorithmes dinterpolation existants 4 Les 4.1 4.2 4.3 4.4 4.5 concepts de la solution Calcul des densits . . . . . . . . . . . e Traitement des donnes dans le SIG . e Le syst`me de coordonnes curvilignes e e Implmentation de lalgorithme . . . . e Rsum . . . . . . . . . . . . . . . . . e e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ArcGIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 9 9 10 10 11 11 12 17 17 19 26 28 31 35 35 37 44 46 48 48 49 51 52

5 Mise en pratique 53 5.1 Traitement des donnes . . . . . . . . . . . . . . . . . . . . . 53 e 5.1.1 Donnes GPS . . . . . . . . . . . . . . . . . . . . . . . 53 e 5.1.2 Donnes lets . . . . . . . . . . . . . . . . . . . . . . . 54 e 6

` TABLE DES MATIERES 5.1.3 Donnes acoustiques . . . . . . . . e Importation dans le SIG . . . . . . . . . . Programmation . . . . . . . . . . . . . . . 5.3.1 Acc`s aux donnes . . . . . . . . . e e 5.3.2 Implmentation de lalgorithme . . e Guide dutilisateur . . . . . . . . . . . . . 5.4.1 Avant-propos . . . . . . . . . . . . 5.4.2 Objet . . . . . . . . . . . . . . . . 5.4.3 Lutilisation . . . . . . . . . . . . . 5.4.4 Changer lachage . . . . . . . . . 5.4.5 Complment : Calculer la moyenne e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 . 55 . 57 . 65 . 65 . 69 . 92 . 92 . 92 . 93 . 100 . 100 . . . . 102 102 102 103 103

5.2 5.3

5.4

6 Conclusion et perspective 6.1 Rsultats atteints . . . . . . . . . e 6.2 Perspective . . . . . . . . . . . . 6.2.1 Ouverture du projet . . . 6.2.2 Application des rsultats . e A

106 A.1 Class Diagram Key . . . . . . . . . . . . . . . . . . . . . . . . 107 A.2 Cartographies . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 115 B.1 User Tips Create Contours . . . . . . . . . . . . . . . . . 116 B.2 Code source . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 121 122 124

B

Table des gures Listings Index

Chapitre 1

Prface e1.1 Motivation

Le traitement des donnes rsultant des chantillonnages faites dans la e e e nature est la base des sciences naturelles. Il y est indispensable de tenir compte des caractristiques naturelles des objets examins. Presque toue e jours on se sert des outils informatiques pour traiter les donnes. Dans la e gographie, lagronomie ou la sylviculture par exemple les syst`mes dine e formation gographique sont utiliss. Souvent ils aident ` lanalyse spatiale. e e a Mais ils ne correspondent pas toujours aux besoins des scientiques. Souvent on veut analyser un phnom`ne en tenant compte de ses caractristiques e e e naturelles. Les SIG sourent (encore) du manque de possibilits de pae ramtrage de leurs fonctions. Les techniques classiques de cartographies ne e sussent plus. Il sagit par consquent de bien examiner les fonctionnalits e e existantes avec leurs limites et de les adapter ` ses propres besoins. Ladapa tation des fonctionnalits du SIG est le sujet trait dans cette tude. Les e e e faiblesses des SIG ainsi que limplmentation des nouvelles fonctionnalits e e pour lanalyse spatiale seront montrs. e

1.2

Structure du rapport

Le rapport est devis en six chapitres. e Apr`s ce chapitre de prface, la problmatique et lobjectif recherch seront e e e e dcrits dans Problmatique . Le troisi`me chapitre donnera un aperu e e e c dans la thorie qui encadre ce projet. Le chapitre Les concepts de la e solution expliquera comment rsoudre le probl`me en thorie. Le prochain e e e chapitre dcrira la mise en pratique du concept trouv. Le dernier chapitre e e contient des rsultats atteints et donnera une perspective dapplication et e dlargissement des rsultats obtenus. e e

8

Chapitre 2

Problmatique eLe projet est n des tudes du peuplement piscicole des plans deau de e e lunit de recherche RIPE du Cemagref Montpellier. e En juin 2002 le RIPE a ralis des chantillonnages sur le lac Chambon, e e e un lac articiel situ au centre de la France ` cot de la ville dEguzon. Le lac e a e est form par la retenue deau du barrage dEguzon, un barrage construit en e 1922 sur la rivi`re La Creuse . Avec ses 300 hectares cest le plus grand e plan deau de la rgion Centre. e

2.1

Description de la problmatique e

Pour mesurer la bathymtrie du lac, lunit de recherche a utilis un e e e GPS et un cho-sondeur. Equips de ces appareils de mesure, les chercheurs e e ont fait des parcours en bateau pour mesurer le lac. Le GPS renvoie les coordonnes x (la longitude) et y (la latitude) en datum wGS84 1 . Les proe fondeurs sont obtenues ` partir de lcho-sondeur. Grce ` cette mthode a e a a e de mesure on a obtenu environ 20 000 points GPS. Nous disposons donc de 20 000 points renseigns en longitude, latitude et profondeur, qui permettent e de construire la bathymtrie du lac. e Lcho-sondeur renvoie aussi des informations sur la biomasse dtecte. e e e Lappareil de mesure a fait 12 320 tirs. Dans ces points on a dtect des e e esp`ces de poisson. Comme lcho-sondeur ne mesure que la masse de mati`re e e e vivante prsente sur une surface, on ne peut pas dire quon na dtect que e e e des poissons. Les informations renvoyes pourraient aussi provenir des cruse tacs, des serpents ou dautres organismes glogiques. Pour chaque poise e son dtect, on conna ses coordonnes x et y plus z (x et y donns par e e t e eLe datum WGS84 (= World Geodetic System 1984) est un syst`me de rfrence de e ee GPS mis au point en 1984 par le dpartement de la dfense des Etats-Unis an de faciliter e e le positionnement et la navigation ` lchelle mondiale. Il est base sur des positions a e e calcules grce aux mesures du syst`me de satellites DOPPLER est utilise le centre du e a e globe comme point de rfrence [HaAn03]. ee1

9

CHAPITRE 2. PROBLEMATIQUE

10

GPS, et z tant la profondeur du fond du lac ` lendroit o` le poisson a t e a u ee dtect par lcho-sondeur). Pour chacun de ces poissons , on conna son e e e t poids estim, ce qui doit permettre dtablir des cartographies de la densit e e e piscicole estime par lchosondage. e e En plus de ces 12 320 points, on dispose dun jeu de donnes correspone dant aux captures de vrais poissons dans environ 30 lets, disposs dans e trois zones du lac. Les zones sont les suivantes : la zone littorale, la zone sublittorale et la zone centrale. La zone littorale va dune profondeur de 0 ` 8 a m`tres, la zone sublittorale de 9 ` 26 m`tres et la zone centrale de 27 m`tres e a e e jusqu` la profondeur maximale du lac, qui est ` 48 m`tres. Une hypoth`se a a e e est faite : la variable poisson est suppose stratie par type dhabitat. e e Ceci signie que les peuplements de poissons sont homog`nes ` lintrieur e a e dun type dhabitat donn. Les trois zones sont considres comme trois e ee strates , au sens statistique, cest-`-dire au sein desquelles les donnes a e peuvent tre sommes et moyennes. e e e Lobjectif attendu de ltude est davoir des cartographies montrant la e rpartition spatiale de la densit piscicole pour pouvoir partager le lac en e e direntes zones dactivit. En regardant la densit de poisson on peut e e e dterminer les meilleures places pour les pcheurs, les nageurs, le sport naue e tique et pour faire de la voile. En outre les cartes aident ` comparer les a rsultats obtenus de lchantillonnage lets avec celles de lchantillonnage e e e acoustique . En plus on veut comparer la densit piscicole sur chacune e des strates statistiques.

2.2

Buts du travail

Il sagit de trouver une solution pour pouvoir interpoler les donnes ponce tuelles. Cette interpolation a pour but de crer des cartes avec les densits e e de poissons ` tout point dune chelle choisie. Ce type dinterpolation est a e tr`s dirent de ceux oerts par les SIG qui restent dans le syst`me de e e e coordonnes plus conventionnel. Les algorithmes dinterpolation existants e dans les SIG prennent lorientation horizontale et verticale comme base. Ici, lorientation est dnie par lcoulement du lac, qui a une importance e e cologique majeure dans la rpartition spatiale du peuplement piscicole. e e En outre il sagit de calculer la densit moyenne dans toutes les zones. e

2.3

Objectif recherch e

Lobjectif est de permettre une cartographie des densits piscicoles sur un e plan deau ` partir de donnes ponctuelles (captures de poissons dans n lets, a e ou dtection acoustique de poissons par lchosondage) en tenant compte e e des facteurs cologiques dterminant la rpartition spatiale du peuplement e e e piscicole.

Chapitre 3

Les BasesDans ce chapitre je vais prsenter les bases thoriques qui sont ncessaires e e e pour pouvoir comprendre la solution de probl`me choisie dans le cadre de e ce projet. Jexplique tous les termes techniques qui apparaissent dans la ralisation du projet et je donne un bref aperu dans le monde des SIGs. e c

3.1

Les SIG

Il existe plusieurs dnitions de syst`mes dinformation gographiques e e e 1 France, qui dit que (SIG). Je me rf`re ` une dnition gnrale dESRI ee a e e e un syst`me dinformation gographique est un outil informatique permete e tant de reprsenter et danalyser toutes les choses qui existent sur terre ainsi e que tous les vnements qui sy produisent et on y ajoute quun SIG ine e clut en outre les fonctionnalits des bases de donns conventionnelles. Dans e e quelle mesure ces fonctionnalits sont implmentes, dpend fortement du e e e e SIG choisi. Un SIG contient gnralement plusieurs sortes dobjets gographiques qui e e e sont organiss en th`mes que lon aches souvent sous forme de couches. e e Chaque couche contient des objets de mme type. Chaque objet est constitu e e dune forme (la gomtrie de lobjet) et dune description (linformation dese e criptive). Lintrt dun utilisateur dun SIG est deectuer des traitements ee divers sur ces objets. Dans le cadre de mon projet jai travaill avec le SIG ArcGIS dESRI. e Tout ce chapitre se base donc spcialement sur les particularits dArcGIS. e e1

Environmental System Research Institute

11

CHAPITRE 3. LES BASES

12

3.1.1

Les modes de reprsentation e

Pour la reprsentation des donnes sous forme numrique, il existe deux e e e types fondamentalement dirents : Le mode raster ou mode grille2 et le e mode vectoriel. Chaque mode a ses avantages pour des tches direntes a e et certains logiciels nen proposent quun seul. Pour le traitement dimage le mode raster est plus utile. Les SIG par contre sappuient sur le mode vectoriel. Les SIG travaillent de faon privilgie en mode vecteur, mme sils sont c e e e capables dintgrer, et parfois de traiter, des images raster. [Bo02]. e Le mode raster Le mode raster est construit sur une partition rguli`re souvent en carrs. e e e 3 , dits pixels, servent dlments de base ` cette prLes carrs ou cellules e ee a e sentation. Elles reprsentent les primitives gographiques du mode raster. e e [RSV02] direncie encore dans la partition des cellules dgales tailles (ree e gular tessellation) et des cellules de taille variable (irregular tessellation). Pour la regular tessellation on peut encore direncier direntes formes des e e cellules : soit des carrs (dite grid squares), soit des cellules hexagonales. e Par la suite le terme raster sera utilis pour dcrire la partition rguli`re e e e e dans des carrs, car cest cette partition utilis dans les raster dArcGIS. e e Tout pixel correspond ` une surface de la terre. Par consquence ils ont une a e taille xe. La prcision dimage et de calcul augment proportionnellement e avec la rduction de taille des pixels, qui m`ne ` laugmentation du nombre e e a de pixels. A chacune des cellules correspond un attribut. Le pixel [...] porte en attribut la valeur lmentaire vi , caractristique de limage.(ex. couleur, raee e diomtrie, voir gure 3.1) [Bo02]. e Les jeux de donnes raster dentiers sont gnralement associs ` une table e e e e a attributaire .VAT . La premi`re colonne de la table ( Value ) stocke la e valeur aecte ` chaque cellule dun raster. La deuxi`me colonne ( Count ) e a e stocke le nombre total de cellules du jeu de donnes, appartenant ` la zone e a considre. ee Selon [Bo02], p. 61 lattribut dune cellule correspond ` une des trois catgoa e ries dinformations gographiques raster : soit cest une valeur visuelle (une e couleur), soit lattribut correspond ` une valeur physique du terrain (laltia tude, par ex.), soit il correspond ` une valeur calcule (raster smantique). a e e La derni`re catgorie dinformations gographiques raster est souvent utie e e lise en analyse spatiale, car on y travaille avec une rpartition rguli`re e e e e des objets mathmatiques simples qui reprsentent des objets gographiques e e e2 aussi appel mode matriciel, mode image ou mode maille ; suivant jutilise toujours e lexpression raster et grille pour parler de la mme chose. e 3 Par la suite jutilise les expressions pixel et cellule pareillement.

CHAPITRE 3. LES BASES

13

Fig. 3.1 Principe des images raster [Bo02] souvent complexes. On trouve les rasters surtout dans les outils de traitement dimage. Une photographie arienne, une image satellite ou une image scanne sont repre e e sentes en mode raster. e Une photographie ou une image brute nest pas encore une information gographique, car elle nest pas localise. Elles deviennent des infore e mations gographiques si on associe ` chaque pixel les coordonnes correse a e pondant ` lobjet du terrain quil reprsente. Cette opration sappelle le a e e gorfrencement. e ee Le gorfrencement peut tre ralis par un calage qui pourra tre moe ee e e e e di par la suite par des travaux de corrections et redressements. Un calage e ...consiste ` attribuer ` tout point de limage des coordonnes dduites a a e e a ` partir des coordonnes de points remarquables pralablement identis. e e e Pratiquement pour raliser un calage, on identie au moins trois points sur e limage et on leur associe leurs coordonnes-terrain. A partir de ces infore mation, le logiciel est alors capable dattribuer ` tout point de limage des a coordonnes-terrain dduites. [Bo02], p. 59 e e Les tics 4 sur des cartes de IGN5 sont un exemple pour des points remarquables pralablement identis. Ils aident au calage. e e indexIGN Un pixel dans un raster est donc reprsent par ses coordonnes e e e (x, y) et une seule information gographique (son attribut). e Le mode raster est un mode de reprsentation important vu laugmene tation du nombre de donnes reues des satellites et leur utilisation pour e cpetits croix avec des coordonnes-terrain indiques e e Institut Gographique National, qui a pour mission fondamentale dassurer la produce tion, lentretien et la diusion de linformation gographique de rfrence en France e ee5 4

CHAPITRE 3. LES BASES

14

des applications spciques comme la mto et ltude de la pollution de e ee e lenvironnement. Le dsavantage vient dun besoin important de stockage de donnes et de e e mmoire vive pour travailler avec une grande prcision. A faithful object e e presentation has a consequence that objects occupy much memory space. In addition, operations on objects are then more time consuming. This is a clear drawback to this approach. [RSV02], p. 37 Cest la raison pour laquelle les SIG sappuient plus sur les informations en mode vectoriel. Le mode vectoriel Les SIG travaillent de faon privilgie en mode vectoriel, car pour stoc e e cker un objet en ce mode il faut moins despace mmoire et ce mode facilite e ltude des relations spatiales des objets (cf. 3.3). e En mode vectoriel les lments gomtriques sont reprsents sous primitives ee e e e e gomtriques. Ce sont les objets mathmatiques lmentaires suivants : e e e ee Les points Les polylignes Les polygones Les trois primitives gomtriques sont construites par des primitives de e e bases : des points et des artes6 . Un point est reprsent par ses coordonnes e e e e et une arte par ses deux extrmits (qui sont aussi des points). Il existe plue e e sieurs variants pour composer des polylignes et des polygones par des points et des artes. Je me rf`re sur la reprsentation des primitives dans ArcGIS, e ee e qui ressemble ` celle dcrite dans [RSV02]. Dans ArcGIS une polyligne est a e compose dun ou plusieurs segments, qui peuvent tre dconnects. Un sege e e e ment en retour peut tre soit une ligne, soit une courbe ou soit un arc. Pour e les arcs on direncie les arcs circulaires et les arcs elliptiques. e Un arc circulaire est une portion dun cercle. A portion of a circle that connects two points optionally has measure, height and ID attributes at each endpoint. [AODH03] Un arc elliptique est une portion dune ellipse. A portion of the boundary of a 2D ellipse that connects two points ; optionally has measure, height and ID attributes at each endpoint. [AODH03] Une courbe est une courbe de Bezier. A cubic Bezier curve dened between two points ; optionally has measure, height and ID attributes at each endpoint. [AODH03] Dans ArcGIS le terme polyline pour dcrire une polyligne est donc troublant. e Il vaut mieux parler dune polycurve, si on suppose que courbe signie soit une ligne, soit une courbe de Bezier soit un arc. Un polygone est une suite des rings. A collection of rings ordered by6

edge en englais

CHAPITRE 3. LES BASES

15

their containment relationship ; optionally has measure, height and ID attributes. [AODH03] Une ring en retour se compose des segments connects, e qui enferment une surface. An area bounded by one, closed sequence of connected segments ; optionally has measure, height and ID attributes at each vertex. [AODH03] Figure 3.2 montre les gomtries dans une geodatabase (base de donnes e e e gographique). e

Fig. 3.2 Geometrie dans une geodatabase [ENSG03] La forme dans laquelle un objet est prsente dpend du point de vue. e e e Une parcelle peut tre reprsente soit par un polygone si on cre un plan e e e e de la rgion par exemple et on veut savoir la division du terrain soit par un e point si on ne sintresse qu` sa localisation sur un plan plus gros. e a Le caract`re principal dpend videmment du point de vue. Un objet e e e pourra tre ou non retenu suivant lintrt qui lui porte le concepteur des e ee donnes. Ainsi, les objets gographiques ne sont plus dnis ` partir de la e e e a runion ` dterminer dun ensemble de pixels de mme valeur, mais direce a e e tement par les composants qui leur ont t attribus. [Bo02], p.63 ee e

CHAPITRE 3. LES BASES

16

Le fait que les informations soient exprimes par des primitives gographiques e e est un avantage du mode vectoriel, car on peut accder directement aux obe jets par leur expression graphique. Le mode TIN Le mode TIN (Triangulated Irregular Network) se base sur la rpartition e de terrain en triangles. On parle simplement de triangulation. Les triangles peuvent avoir des tailles direntes. A tout vertex des triangles une valeur e de llvation est attribue. Ces valeurs des points sont obtenues par linteree e polation des valeurs connues ` des points (x, y). a ArcInfo utilise une triangulation de Delaunay pour modliser un TIN e (chaque cercle circonscrit aux trois nuds dun triangle ninclut aucun autre nud) [ENSG02] comme montr dans la gue 3.3. e

Fig. 3.3 Triangulation de Delaunay [ENSG02] La triangulation est utilise pour des MNTs depuis les annes 1970. e e 7 ) reprsentent le terrain sous forme Les MNT (mod`le numrique de terrain e e e dune grille, dont les cellules sont des carrs. Cette reprsentation est ralise e e e e par une grille qui est projete ou drape sur une partie du terrain. Apr`s on e e e assigne des valeurs ` tout point localis ` une intersection de la grille. a ea [...] un chier contenant des points rguli`rement rpartis sur une grille e e e qui aurait t cale virtuellement sur une partie du terrain. Chaque point ee e localis ` une intersection de la grille est renseign par une altitude : celle ea e de son homologue au sol. [Bo02] Les MNTs se basent sur un nombre ni des valeurs mesures, ` partir delles e a les autres valeurs sont obtenues par interpolation. La gure 3.4 montre le principe des MNTs. Lavantage de ce mode est quon peut reprsenter tout param`tre natue e rel ; non seulement laltitude, mais aussi la temprature, la pression de lair e ou lhypsomtrie, par exemple. Selon [Bo02] la reprsentation de terrain en e e MNT est exploit par le mod`le 2D1/4, car la 2D1/4 associe une altitude e e en tout point de la base de donnes, calcule ` partir de celle des points les e e a plus proches.7

en anglais DEM = Digital Elevation Model

CHAPITRE 3. LES BASES

17

Comme la prsentation est assez complexe, la structure de donnes des TIN e e a besoin dun grand nombre de pointeurs. (cf. 3.2.2).

Fig. 3.4 Principes des MNT [Bo02]

3.23.2.1

ArcGISFamille de SIG

La socit ESRI a t fonde en 1969 par Jack Dangermond et tait ee ee e e spcialise dans le conseil dans le domaine de loccupation du sol. En 1981, e e ESRI lana son premier logiciel SIG commercial appel ArcInfo. Dans les c e annes suivantes, ESRI dveloppa un ensemble doutils informatiques qui e e constitu`rent les premiers lments de ce quon appelle aujourdhui un SIG e ee (Syst`me dInformation Gographique) parmi ceux ArcView. ArcView est e e un SIG bureautique. En 1999 ESRI a dit une suite de logiciels, qui porte e e comme nom ArcGIS. Lvolution dArcView ` ArcGIS nest pas une mise e a a ` jour simple, mais un dveloppement dune toute nouvelle famille de SIG, e comme le montre son nouveau nom. ArcInfo est la version la plus compl`te dArcGIS et propose galement e e un environnement workstation . Elle est donc compose de deux logiciels, e qui peuvent tre installs indpendamment lun de lautre : le workstation e e e et lapplication bureautique ArcInfo Desktop . ArcInfo Workstation est compos dun module principal ARC et de sous-modules lancs ` pare e a tir dARC. Il est bas sur le concept de bo ` outils et fait appel ` des e te a a commandes pour raliser des tches (lances ` partir dune fentre de type e a e a e invite de commandes). ARC permet dexcuter toutes les tches gnrales. e a e e ArcInfo Desktop est compos de trois modules avec des fonctionnalits die e e rentes : ArcMap, ArcCatalog et ArcToolbox. Ces applications reprsentent les fondements mthodologiques et les clefs e e dacc`s pour un utilisateur du SIG : Cartes, Donnes et Outils. e e ArcGIS inclut toutes les fonctions de lapplication Arc/INFO, qui tait un e SIG command-driven dESRI. Pour ceux qui ont commenc ` travailler ea

CHAPITRE 3. LES BASES

18

avec Arc/INFO et qui travaillent maintenant avec la nouvelle version dArcGIS 8.*, ArcGIS ore encore linterface command-driven Arc pour taper des commandes.

Fig. 3.5 ArcMap ArcMap est lenvironnement de traitement des donnes cartographiques e et de rdaction de documents cartographiques. Ses fonctions clefs sont la e visualisation, la cration, ldition, la consultation, lanalyse et la mise ` e e a jour des donnes cartographiques ou gographiques. e e Les informations gographiques sachent sur une carte sous la forme de e couches. Chaque couche reprsente un type particulier dentits. Une couche e e ne contient pas de donnes mais renvoie ` une source de donnes, qui est e a e stocke sur le disque ou ailleurs. e ArcCatalog est une application oriente sur les donnes pour la gestion, la e e localisation et la navigation dans les donnes spatiales. Toutes les connexions e aux donnes ncessaires sont y dnies. Ces connexions peuvent appeler des e e e dossiers sur disque, des bases de donnes en rseau ou des serveurs internet e e ArcIMS . ArcToolbox est une application pour la mise en uvre de toutes les oprations de traitement gographique. Elle inclut les fonctionnalits danae e e lyse de donnes et de conversion de formats. Cette application peut tre e e considre comme la nouvelle interface de prsentation des fonctions de ee e

CHAPITRE 3. LES BASES

19

Fig. 3.6 ArcCatalog gotraitement dArcInfo. Dans lancien Arc/Info ces fonctions devaient tre e e accds par une interface command-driven . Comme mentionn avant e e e ArcGIS ore encore une interface command-driven , qui sappelle Arc dont on acc`de aux mmes fonctions en tapant des commandes. e e

3.2.2

Stockage des donnes en ArcGIS e

Dans les syst`mes dinformation gographiques on ne sintresse pas e e e seulement aux informations attributaires, qui dcrivent un objet et quon e conna dune base de donnes traditionnelle, mais aussi ` linformation t e a gomtrique (la forme, la localisation dun objet) et ` la topologie dun objet. e e a Linformation gographique est donc compose dinformations gomtriques, e e e e descriptives et topologiques. Dans les SIG toutes ces informations sont stockes e avec un objet. ESRI utilise le terme feature quand il parle dun objet, qui reprsente une e information gographique. Par la suite jutilise le terme objet , quand e je parle des informations gographiques plus gnrales et feature pour e e e parler des objets gographiques explicitement dans ArcGIS. e A tout objet stock dans des SIG sont attaches deux informations : Ce e e sont des informations attributaires qui dcrivent un objet et des informae

CHAPITRE 3. LES BASES

20

tions gomtriques. Pour reprsenter linformation gomtrique on a besoin e e e e e dune reprsentation (linformation graphique). Pour linformation grae phique, il sagit de le reprsenter avec pour seule contrainte de rechercher la e meilleure lisibilit allie ` une certaine esthtique. [Bo02] e e a e Dans les SIG on fait la dirence entre les donnes dinformations gograe e e phiques et les donnes de source dimage. Pour les donnes dinformations e e gographiques (des features) ArcGIS orent trois dirents formats de stoe e ckage : Des shapeles, des coverages et des geodatabases. Les shapeles et les coverages sont bass sur des chiers (le based feature e models). Ils stockent linformation gomtrique dun feature dans des chiers e e binaires et utilisent des identiants uniques pour lier cette information ` lina formation attributaire dun objet stocke dans une table dun autre chier. e Le geodatabase est un model de SGDB (syst`me de gestion de base de e donnes)8 . Dans ce model les features sont stocks comme des colonnes dans e e une table de base de donnes relationnelle. Les colonnes contiennent les coe ordonnes et linformation attributaire dun feature ` la fois. Par la suite e a jexplique les dirents modes de stockages plus prcisment. e e e Shapele Le shapele est le format de donnes natif dESRI. Parmi tous les formats e cest le format de stockage le plus simple, car il ne stocke pas la topologie dune feature. Cela veut dire, quil ny a aucune information explicite sur les relations spatiales existants entre les objets (cf. coverage pour une dnition du terme topologie). Cest pour cela quil sachent plus vite que e les autres formats de stockage. Les informations relatives ` un ensemble dentits sont stockes dans une a e e table. Chaque enregistrement correspond ` une entit distincte. Ce type de a e table comporte toujours un champ nomm Shape dont la valeur est un e lment ayant la forme de lentit correspondante. Cette table contient par ee e ailleurs les attributs dcrivant les entits. e e Le format shapele est compos de plusieurs chiers. Il y a au moins e trois chiers associs ` un shapele. Ils ont les extensions .shp , .shx e a et .dbf . Le chier *.shp stocke la gomtrie de lentit gographique, e e e e le chier *.shx lindex de la gomtrie et le chier *.dbf inclut e e les donnes descriptives des entits gographiques. Le dernier est un chier e e e dBASE qui inclut les informations attributaires sous forme de table. Il peut y avoir encore des autres chiers, qui sont cres quand on fait une e spatial join ou quapr`s avoir eectu une requte (cf. 3.3). e e e La gure 3.7 montre lachage des shapeles dans ArcCatalog.8

en anglais : database management system feature model (DBMS)

CHAPITRE 3. LES BASES

21

Fig. 3.7 Les shapeles Coverage Le coverage est lunit de base de stockage dARC/INFO. Ce format de e stockage est intgr dans ArcGIS ` partir de la version 8. e e a La particularit des coverages est quon stocke explicitement la topologie e des objets avec leur information gomtrique et attributaire. Lintrt de ce e e ee stockage est dacclrer les traitements danalyse spatiale sur de gros jeux ee de donnes. e La topologie est la relation spatiale entre les objets. Elle dnit comment e les objets sont lis spatialement entre eux. Elle est utilise dans lanalyse spae e tiale. Grce ` elle on peut savoir si un polygone est inclus dans un autre par a a exemple. Une information topologique est une information invariante par homoe morphisme, qui entre dans une analyse spatiale. Cest une information sur le positionnement relatif des objets entre eux, alors que linformation gomtrique est une information de positionnement e e absolu li ` un rfrentiel. Linformation topologique porte sur la gomtrie, ea ee e e mais ne concerne que les proprits comme le voisinage, lintersection, linee clusion, la connexion, etc. [Bo02] Les coverages g`rent donc la relation spatiale entre des features. Il y a trois e relations topologiques majeures : la connectivit, la dnition des surface et e e la contigu e. Par la suite jexplique comment ces relations sont dnies par t e ESRI. La connectivit exprime les relations entre des arcs et des nuds et dnit e e la longueur, la direction et la connectivit pour les arcs. Cela signie que e pour un arc donn, on conna son nud initial et son nud nal. e t Les coverages stockent la connectivit en gardant les points dextrmits e e e des arcs. Les arcs qui partagent un nud sont des arcs connects (arc-node e topology). Coverages store connectivity by recording the nodes that mark the endpoints of arcs. Arcs that share a node are connected. This is called arc-node topology. Each arc is a connected set of vertices with a from-node and a to-node. [ESRI02] La dnition de surface signie quun polygone est dni par les arcs qui lene e tourent. Elle est garantie, car les coverages stockent tous les arcs connects e qui entourent un polygone (polygon-arc topology).

CHAPITRE 3. LES BASES

22

Coverages dene areas by keeping a list of connected arcs from the boundaries of each polygon. This is called polygon-arc topology. [ESRI02] La contigu e (ou ladjacence) est la troisi`me relation topologique. Elle est t e aussi garantie dans les coverages. Dapr`s [OFPU96] la contigu e est la e t proprit des espaces attenants, qui se touchent. Elle exprime les relations ee entre des arcs et des polygones pour lesquels les arcs crent des limites et e elle dnit la surface et ladjacence. Deux polygones sont donc contigus, sils e ont un arc en commun. Les coverages stockent les identiants des polygones de tous les cots des e arcs. Coverages store contiguity by keeping a list of the polygons on the left and right side of each arc. This is called left-right topology. [ESRI02] La gure 3.8 montre les valeurs stockes avec un feature dans un coverage. e

Fig. 3.8 Table dattributs dune coverage On voit bien comment la connectivit et la contigu e sont garanties en stoe t ckant les attributs FNODE# (nud initial), TNODE# (nud nal) et LPOLY# (polygone ` gauche) et RPOLY# (polygone ` droite). a a Un coverage est compos de plusieurs chiers. Les donnes spatiales (poe e sition et topologie) sont stockes dans des chiers. Les donnes descriptives e e et certaines informations topologiques sont stockes dans des tables attribue taires dentits (FAT = Feature Attribut Table). Ces tables sont au format e du SGBDR INFO et sont cres quand on calcule la topologie sur la ee couverture. Elles sont gres par une base de donnes dINFO. ee e A part des primary features (objet gographiques) un coverage peut avoir e aussi des secondary features suivants : 1. Tics : Ce sont des points de calage, dont on conna les coordonnes. t e Tics are geographic control points. They represent known locations on the ground and are used to register and tranform the coordinates of the coverage. [ESRI02] Ils servent ` grer lachage des coverages. a e 2. Links : Ce sont des vecteurs utiliss pour ajuster la forme des coverages. e Links are displacement vectors that are used to adjust the shape of coverages,... [ESRI02] 3. Annotation : Ce sont des cha nes des caract`res, qui dcrivent un feae e ture ach sur le display. Annotation features are text strings that e describe a feature when a map os displayed or printed. [ESRI02]

CHAPITRE 3. LES BASES

23

La gure 3.9 montre lachage des coverages dans ArcCatalog avec leurs primary features et secondary features. On voit bien que tous les coverages incluent des tics, qui reprsentent les quatre extrmits des features stockes e e e e dans un coverage. A part a on voit que le coverage contour lac est constitu dun feature c e de polygone et dun feature darc plus des labelpoints, qui identient chaque polygone individuellement.

Fig. 3.9 Les coverage

Geodatabase La geodatabase est un nouveau mode de stockage des donnes qui est e sorti en 2000 avec la version 8 dArcInfo. Une geodatabase permet la gestion des objets avec leurs informations descriptives et gomtriques dans une base de donnes. Une entit du monde rel est e e e e e reprsente par un objet correspondant ` un enregistrement dans une table e e a relationnelle. Contrairement ` une couverture, le schma dune geodatabase a e nest pas prdni. Lutilisateur peut organiser les objets stocks comme il e e e le souhaite. La structure des tables permettant le stockage des donnes est e propre ` ArcGIS. On a besoin soit dArcInfo, soit dArcEditor pour faire la a gestion. Il existe deux types de geodatabase : la geodatabase personnelle et la geodatabase multi-utilisateurs. Dans la geodatabase personnelle les objets sont stocks comme un chier .mdb de Microsoft Access. e Elle est utilise pour seulement un utilisateur (single user editing). e La geodatabase multi-utilisateurs par contre ore la possibilit de ldition e e multi-utilisateurs grce au versioning . La geodatabase de multi-utilsaa teurs est une base de donnes gre dans un syst`me de gestion de base e ee e de donnes (SGBD), comme la nouvelle version ORACLE, MS SQL Server, e

CHAPITRE 3. LES BASES

24

Informix, ou IBM DB2. On acc`de aux donnes par lArcSDE9 , qui doit tre e e e install avec le SGBD. e ArcSDE est le gateway , ou intermdiaire entre les applications gograe e phiques et le SGBD. ArcSDE est une [...]passerelle vers le SGBD sousjacent qui ajoute au SGBD plus de performance, dinteroprabilit, et de e e exibilit dans la gestion dun environnement multi-utilisateurs (versioning, e check-out check-in, dition dconnecte, ...) ainsi que plus de possibilits de e e e e stockage (donnes raster, objets complexes, API (C, Java). [FAQ04] e La gure 3.10 montre le rle dArcSDE pour les clients ArcGIS. o

Fig. 3.10 Le rle dArcSDE o Par exemple la geodatabase peut tre implmente avec ArcSDE sur le SGBD e e e Oracle en utilisant le format Oracle Spatial. Selon [ON03] lenregistrement de donnes vectorielles dans un SGBD li ` e ea ArcSDE nest pas ralis de faon pratique, car chaque objet vectoriel constie e c tue un enregistrement. Les objets gomtriques forment les lignes dune table e e et les proprits dun objet (les information descriptives) forment les coee lonnes attributaires. Lune des proprits est sa gomtrie. ee e e Une couche vectorielle est donc enregistre dans une seule table. e Lenregistrement dpend notamment du SGBD utilis. Certains orent la e e possibilit denregistrer des donnes gomtriques comme Oracle Spatial. e e e e Il ore des types de donnes dduites ` lenregistrement des donnes spae e a e tiales. On y trouve par exemple le type long raw accueillant le format compressed binary de lArcSDE, un type binaire de longueur variable. Lquivalent chez SQL serveur est appel Image . e e9

ESRIs Spatial Database Engine

CHAPITRE 3. LES BASES

25

On a aussi le type Oracle Spatial normalized schema , qui enregistre les coordonnes dans une table dans laquelle chaque enregistrement contient e lidentiant de lobjet vectoriel et les champs X, Y, Z. Lidentiant fait rfrence ` un enregistrement dune autre table contenant les attributs. Cette ee a approche se conforme au mod`le gomtrique normalis dni par le stane e e e e dard Simple Features Specications for SQL. [ON03] Le type Oracle Spatial geometry type dOracle Spatial est la proprit gomtrique dun ee e e objet. Elle est stocke comme type SQL avec le nom SDO GEOMETRY . e Une nouveaut dans ce mode de stockage est la possibilit de dnir ses e e e propres r`gles de topologie et de les stocker directement avec des objets e dans la geodatabase (voir gures suivantes). On les attribue aux features pour pouvoir garder la consistance gomtrique quand on met ` jour la e e a gomtrie dun feature par exemple. e e

Le gure 3.11 montre lachage dune geodatabase dans ArcCatalog.

Fig. 3.11 La geodatabase Le gure 3.12 montre comment accder aux donnes stockes dans des e e e dirents modes de stockage. e

CHAPITRE 3. LES BASES

26

Fig. 3.12 Acces aux donnes par des applications [EF02] e

3.2.3

Adaptation

Le plate-forme de dveloppement de la famille des applications ArcGIS, e tels que ArcMap, ArcCatalog et ArcToolbox, est lArcObjects. Toutes les commandes, menus ou barres doutil font appel ` un code dArca Objects pour excuter une opration. ArcObjects inclut toutes les fonctions e e accessibles dans les applications. ArcInfo fournit le kit de dveloppement ArcObjects. On peut donc dvelopper e e des programmes dans linterface de programmation dArcInfo en utilisant les ArcObjects. Il existe trois types de dveloppement : e 1. Personnaliser lenvironnement dans ArcMap ou ArcCatalog avec VBA (Visual Basic for Application), en dveloppant des macros. VBA est e fourni avec le produit. 2. Etendre larchitecture dArcObjects en dveloppant des composants e utilisant la norme COM. Pour ce type de dveloppement on peut choie sir nimporte quel langage de programmation qui supporte la technologie COM, car ArcObjects sappuie sur cette technologie. Ces composants peuvent tre ajouts dans lArcGIS comme dll10 . e eUn Dynamic Link Library est intgr dans lapplication comme nouveau contrle ou e e o composant.10

CHAPITRE 3. LES BASES

27

3. Dvelopper des applications indpendantes en prenant les deux Arce e GIS contrles ActiveX, qui met ESRI ` la disposition : ArcMap Mapo a Control et ArcMap PageLayout. On peut les intgrer dans son application en utilisant un langage de e programmation qui autorise les contrles ActiveX. ArcMap MapCono trol et ArcMap PageLayout permettent davoir le map et le pagelayout display en plus daccder ` beaucoup dArcObjects. e a Les modications faites dans la fentre Personnaliser ou bien le code crit e e en VBA pour personnaliser linterface peuvent tre enregistres en associae e tion ` un document ArcMap (*.mxd) ou ` un mod`le (*.mxt). Un mod`le a a e e est un template qui sert au point de dpart pour crer des nouveaux docue e ments. Les sauvegardes sont stockes ` divers endroits sur le disque aux trois nie a veaux possibles de mod`le et document ArcMap. e Lillustration 3.13 montre les dirents niveaux, qui sont dcrits apr`s. e e e

Fig. 3.13 Sauvegarde des personnalisations [ENSG03]

Niveau Normal template (Normal.mxt) Cest un mod`le spcial qui est automatiquement charg dans ArcMap e e e et qui stocke tous les param`tres personnaliss dnis pour linterface utilie e e sateur. Il doivent tre charg ` chaque utilisation dArcMap. Si ce template e ea est supprim toute lapplication reprend ltat par default. e e Toute modication apporte au Normal template est rpercute dans tous e e e les mod`les et documents. e

CHAPITRE 3. LES BASES Niveau Project template (*.mxt)

28

Les modications apportes ` un Project template sont rpercutes dans e a e e tous les documents bass sur ce mod`le e e Niveau Document (*.mxd) Les modications sont enregistres dans le document ArcMap courant. e Les documents ArcMap sont bass sur un mod`le : soit un Project template, e e soit directement sur le Normal template.

3.2.4

ArcObjects

Comme mentionn avant ArcObjects est lenvironnement de programe mation de la famille ArcGIS. Plus spcique, ArcObjects est la collection e des composants COM qui sont utiliss par les applications dArcGIS. Arce Objects contient plus de 1200 objets, qui sont tous programms en C++ et e transforms en code binaire. e Lillustration 3.14 montre le rle dArcObjects dans les applications. o

Fig. 3.14 Vue simplie sur ArcInfo [ESRI00] e ESRI a choisi COM comme mthodologie de dveloppement, car cette e e technologie ore une bonne performance et permet dtendre la fonctione nalit dArcObjects en utilisant des composants externes. La possibilit de e e connecter des composants dirents est possible grce au protocole COM. e a Un composant est une unit binaire de code rutilisable. A cause de cela e e tous les objets peuvent tre rutiliss au niveau binaire. Cela veut dire que e e e les dveloppeurs nont pas besoin daccder au code source, ni aux header e e les, ni aux libraires objets pour tendre le syst`me. Il sut de conna e e tre linterface dun objet. Cette programmation base sur des interfaces est e galement dnie dans le mod`le de programmation COM dit Interfacee e e based programming.

CHAPITRE 3. LES BASES

29

En programmant avec des objets COM, on ne travaille jamais directement avec lobjet COM. On y acc`de en passant par son interface. Les e interfaces COM sont un ensemble de fonctions relis logiquement. Les fonce tions sont appeles par le client11 et implments dans lobjet. Le client dun e e e objet tient un pointeur sur linterface de cet objet. Ce pointeur est considr ee comme un pointeur opaque, car le client ne poss`de pas de connaissances e en implmentation dans un objet et ne peut pas accder ` ltat de donne e e a e e dun objet. Le client doit communiquer avec lobjet en utilisant les fonctions membres de son interface. Comme le client est isol de lobjet et de son e implmentation, COM est considr comme un contrat entre le client et lobe ee jet. Si lobjet rompt le contrat, on ne sait pas comment le syst`me va ragir. e e Il faut bien noter que COM est bas sur la conance entre limplmenteur e e et lutilisateur dune fonctionnalit. e La communication entre les objets est galement tablie par leurs intere e faces. Une interface dnit les fonctions abstraites qui sont disponibles dans e toutes les instances dune classe qui implmente cette interface. Limplmene e tation des fonctions doit tre ralise dans limplmentation des classes. La e e e e faon dont les fonctions dune interface sont implmentes est dirente entre c e e e les objets. Par consquent les classes hritent du type dune interface, non e e son implmentation, quon appelle type inheritance . On peut considrer e e les classes et les interfaces comme le Quoi et le Comment de COM. Les interfaces dnissent tous ce quun objet peut faire et les classes dnissent e e comment les tches sont ralises. a e e Dans les ArcObjects on distingue trois types de classes : les abstract classes, les coclasses, et les classes. Par la suite ces trois types de classes seront dnis. e Abstract Classes Elle dnit des proprits gnrales communes ` plusieurs sous-classes. e ee e e a On ne peut pas crer (instancier) dobjet avec ce type de classe. [ENSG03] e Elle reprsente donc une spcication pour les instances des sous-classes . e e La classe Geometry est un exemple pour une abstract class. On ne peut pas crer un objet de type Geometry, mais on peut bien crer un objet de e e type Point. Cet objet implmente les interfaces dnies dans sa classe de e e base Geometry . (voir gure 3.15)

11

lutilisateur de la fonctionnalit e

CHAPITRE 3. LES BASES

30

Fig. 3.15 Abstract Class : Geometry [ENSG03] CoClasses Une CoClass 12 est dite creatable : Un objet dune CoClass peut tre e cr ` laide du mot-cl VBA New. [ENSG03] ee a e COM cre une instance de cette classe et passe lobjet rsultant au client e e pour quil puisse utiliser les fonctions dnies dans les interfaces de cette e classe. La classe Point est un exemple pour une CoClass. : Listing 3.1 Exemple pour une CoClass Dim pPoint Set pPoint pPoint .X = pPoint .Y = Classes Une Class est dite instantiable, mais pas creatable : elle ne peut pas crer directement un nouvel objet. Un objet dune class peut tre cre e e e comme proprit dune autre classe ou grce ` une mthode dune autre ee a a e classe . [ENSG03] Les objets de cette classe sont cres par des autres objets dans ArcObjects e et passs au client pour quil puisse les utiliser. e La classe Feature par exemple ne peut pas crer directement un nouvel e objet. Un objet de cette classe peut tre cr grce ` la m`thode NextFeae ee a a e ture dun objet de la classe FeatureCursor pour donner seulement un exemple. FeatureCursor permet donc dinstancier lobjet Feature . Listing 3.2 Cration dune classe e Dim pF e at u r e C u r s o r As I F e a t u r e C u r s o r i n i t i a l i s a t i o n o f t h e p F e at u re C u rs or Set pF e at u r e C u r s o r = Nothing Set pF e at u r e C u r s o r = p F e a t u r e C l a s s P o i n t s . Update ( Nothing , F a l s e )12

as IPoint = New Po in t C r e a t i o n o f a p o i n t 2 We a s s i g n t h e c o o r d i n a t e s t o t h e p o i n t 3 x = 2, y = 3

Component Object Class

CHAPITRE 3. LES BASES Dim pFeature As I F e a t u r e We o b t a i n a p o i n t e r i n p F e a t u r e p o i n t i n g on the next e n t i t y of the f e a t u r e c l a s s pointed by pF e at ur eC u r so r . Set pFeature = p F e a t u r e C u r s o r . NextFeature

31

Les ArcObject sont visualiss dans les ArcObjects OMD (Object Model e Diagrams, foir gure A.1). Les ArcObjects OMD utilisent la modlisation e UML avec quelques variantes an de pouvoir reprsenter les spcicits de e e e la norme COM (notamment les interfaces). Ces modications ajoutent des symboles pour reprsenter les dirents types de proprits et mthodes, e e ee e reprsenter les relations dinstantiation et marquer la dirence entre abse e tract classes, coclasses et classes. [ENSG03]

Fig. 3.16 Class Diagram Key

3.2.5

Langage de programmation VBA

Le langage utilis dans le cadre de ce projet est Visual Basic for Applie cations. Par la suite on trouvera un bref aperu dans ce langage. c Quand on programme avec Visual Basic, on a limpression de travailler directement avec lobjet, mais en vrit ce nest pas le cas. Visual Basic cache e e le fait daccder aux objets par ses interfaces pour simplier. e Le traitement des pointeurs sur les interfaces est ralis dans la Visual Bae e 13 . La VBVM est stocke comme DLL, qui sic Virtual Machine (VBVM) e doit tre installe sur lordinateur avant lexcution du code Visual Basic. e e e Pour mieux illustrer, ce qui est fait dans la VBVM, ci-dessous un exemple :13

dite VB Rutime auparavant

CHAPITRE 3. LES BASES Listing 3.3 Linterface par default Dim p C o l l e c t i o n a s New C o l l e c t i o n p C o l l e c t i o n .Add Avignon , M o n t p e l l i e r , Fulda

32

On pourrait penser quun nouvel objet est cre dans la premi`re ligne et e e pass au dveloppeur dans la variable pCollection. Ensuite on y ajoute des e e valeurs en appelant la mthode Add de la classe Collection. e Mais cest faux. La mthode Add nappartient pas directement de la e classe. Avec Dim pCollection as New Collection on cre une instance (pCollection) e de la coclass Collection et on y assigne linterface par default de cet objet. Cette interface sappelle Collection et inclut la mthode Add, qui ajoute les e valeurs ` lobjet. a Normalement on ne cre pas des objets dans une seule commande comme e montr prcdemment, car une coclass peut avoir plusieurs interfaces. Il faut e e e attribuer linterface de la classe qui dnit les mthodes quon veut utiliser e e explicitement ` lobjet. Sinon, lobjet serait point sur linterface IUnknown a e qui est linterface par default. Voici comment cela se fait : Listing 3.4 Linterface IPoint Dim pPoint As I P o i n t Set pPoint = New Po in t pPoint . PutCoords 1 0 0 , 1 0 0 Avec Dim....As on dclare une variable qui pointe sur une interface de e la coclass Point (ici : IPoint). La VBVM lit le IID 14 de linterface IPoint de la librairie dobjet dESRI. Dans la deuxi`me ligne on cre une instance de la coclass Point et au mme e e e temps on fait une Query Interface pour rcuprer le pointeur sur linterface e e IPoint dans pPoint. On a donc chang linterface IUnknow avec linterface e e IPoint. Ensuite on appelle la mthode PutCoords de la coclass Point. e Par convention presque toute classe Classname implmente une interface e IClassname. Cette interface est linterface qui est la plus souvent utilise en e programmant avec cet objet. On peut facilement changer linterface en faisant une Query Interface pour pouvoir ensuite utiliser les mthodes dnies dans une autre interface. e e La rcupration dun pointeur sur une autre interface est montre ci-dessous : e e e

14

IID est labrviation pour Interface Identier e

CHAPITRE 3. LES BASES Listing 3.5 Query Interface Dim p F i e l d As I F i e l d Dim p F i e l d E d i t As I F i e l d E d i t c r e a t e an i n s t a n c e o f c o c l a s s F i e l d Set p F i e l d = New F i e l d QI f o r I F i e l d E d i t Set p F i e l d E d i t = p F i e l d We a c c e s s t h e members o f I F i e l d E d i t , i n o r d e r t o s p e c i f y t h e a t t r i b u t e s o f F i e l d , which a r e n o r m a l l y reado n l y . With p F i e l d E d i t . AliasName = FID . Name = FID . Type = ESRIFieldTypeOID End With

33

Souvent des interfaces ont des proprits qui sont en vrit des pointeurs sur ee e e dautres interfaces. Avec VB on peut accder ` ses proprits en encha e a ee nant des interfaces. Listing 3.6 Encha nement des interfaces s u p p o s i n g p F e a t u r e C l a s s had been c r e a t e d b e f o r e Dim t h a l w e g As I F e a t u r e We a c c e s s t h e geometry o f t h e f e a t u r e not o f t h e f e a t u r e C l a s s ! Set t h a l w e g = p F e a t u r e C l a s s . GetFeature ( 0 ) . Shape Le code suivant marche galement, mais est plus long : e Listing 3.7 Mme rsultat sans lencha e e nement s u p p o s i n g p F e a t u r e C l a s s had been c r e a t e d b e f o r e Dim pFeature As I F e a t u r e Set pFeature = p F e a t u r e C l a s s . GetFeature ( 0 ) Dim t h a l w e g As IGeometry Set t h a l w e g = pFeature . Shape

CHAPITRE 3. LES BASES Curseur

34

Pour rcuprer une entit (feature) on prend soit la mthode GetFeae e e e ture(ID :Long) sur IFeatureClass, qui renvoie juste une valeur (celle spci e e par lID), soit on utilise un curseur pour parcourir lensemble des donnes. e Un curseur est un pointeur qui donne acc`s ` un enregistrement ` la e a a fois.[...] Ils sont par exemple tr`s utiles pour lire ou crire une valeur date e tribut. Un Feature Cursor peut tre instanci par un SelectionSet (avec e e la m`thode Search) qui reprsente lensemble des objets slectionns pour e e e e une couche donne [...]. [ENSG03] e Souvent on nest pas intress par tous les enregistrements, mais par e e ceux, qui partagent une ou plusieurs proprits. Pour ce cas il est possible ee dappliquer un ltre au SelectionSet. Il y a deux types de ltres : le QueryFilter 15 et le SpatialFilter. 1. Un QueryFilter est comparable ` une requte SQL. Il ltre les objets a e selon un crit`re smantique. e e Ci-dessous un exemple dun curseur qui ltre ses enregistrements avec un QueryFilter : Listing 3.8 QueryFilter supposing pFeatureClassLp had been c r e a t e d b e f o r e Dim updateFeat As I F e a t u r e Dim u p d a t e Q u e r y F i l t e r As I Q u e r y F i l t e r u p d a t e l a b e l p o i n t t a b l e w i t h t h e calculated density Set u p d a t e Q u e r y F i l t e r = New Q u e r y F i l t e r u p d a t e Q u e r y F i l t e r . whereClause = FID= & squareID Set u p d a t e F e a t u r e C u r s o r = pF eat ureC l a ss Lp . Update ( u p d a t e Q u e r y F i l t e r , F a l s e ) Set updateFeat = u p d a t e F e a t u r e C u r s o r . NextFeature 2. Un SpatialFilter est un QueryFilter qui inclut ` la fois des crit`res a e spatiaux et smantiques. Il permet de restreindre la slection dene e tits ` partir dune couche ou classe dentit selon contraintes gome a e e e triques. [ENSG03]. Comme il est driv du QueryFilter, il hrite de ses proprits et e e e ee mthodes. Il est donc possible de combiner des crit`res smantiques e e e et spatiaux dans un ltre spatial. Le diagramme FIG. 3.17 montre le rapport entre les ltres et les curseurs sur les features.15

expression adopt dESRI e

CHAPITRE 3. LES BASES

35

Fig. 3.17 extrait de Geodatabase, schma simpli par [ENSG03] e e Le ltre spatial qui tait mentionn prcdemment est une possibilit pour e e e e e trouver des relations spatiales entre des features. Mais il y en a dautres. Dans la prochaine section je vais expliquer quelles possibilits existent dans e ArcGIS pour tudier les relations spatiales entre des gomtries. e e e

3.3

Analyse spatiale

Une des plus grandes attentes dun utilisateur dun SIG est danalyser les proprits gomtriques des gomtries. Il sagit de trouver des relations ee e e e e spatiales entre des objets. ESRI fournit deux possibilits pour lanalyse spae tiale : le Spatial Filter et les Spatial Operator Interfaces. Bien quil ait dj` ea t voqu dans la section des curseur, je reparle ici du Spatial Filter plus eee e en dtail. e

3.3.1

Spatial Filter

On utilise le Spatial Filter pour crer une requte spatiale. e e Pour dnir le ltre, on doit spcier trois proprits. Ces proprits sont e e ee ee obligatoires. A part eux, il y en a dautres quon peut spcier supplmene e tairement. Le crit`re le plus intressant, cest le crit`re spatial. Il est comparable ` e e e a la clause WHERE de SQL. Le crit`re spatial est spci dans la mthode e e e e SpatialRel. Toutes les relations spatiales sont dnies dans les constantes e ESRISpatialRelEnum. Il y en a dix, expliques dans [AODH03] : e

CHAPITRE 3. LES BASES Constant ESRISpatialRelUndened ESRISpatialRelIntersects ESRISpatialRelEnvelopeIntersects

36 Description No Dened Spatial Relationship. Query Geometry Intersects Target Geometry. Envelope16 of Query Geometry Intersects Envelope of Target Geometry. Query Geometry Intersects Index entry for Target Geometry (Primary Index Filter). Query Geometry Touches Target Geometry. Query Geometry Overlaps Target Geometry. Query Geometry Crosses Target Geometry. Query Geometry is Within Target Geometry. Query Geometry Contains Target Geometry. Query geometry IBE(InteriorBoundary-Exterior) relationship with target geometry.

ESRISpatialRelIndexIntersects

ESRISpatialRelRelTouches ESRISpatialRelOverlaps ESRISpatialRelCrosses ESRISpatialRelWithin ESRISpatialRelContains ESRISpatialRelRelation

En outre on spcie la gomtrie de rfrence utilise pour ltrer les entits. e e e ee e e Cest la gomtrie ` laquelle le crit`re spatial est appliqu. e e a e e En n il faut transmettre au ltre le nom du champ contenant la gomtrie e e des entits ltres. Par convention ce champ est appel SHAPE . e e e Ci-dessous un exemple dun ltre spatial qui sert ` regarder si un point se a trouve ` lintrieur de la gomtrie pFeatureClassHalfs. a e e e Listing 3.9 Spatial Filter s u p p o s i n g p F e a t u r e C l a s s H a l f s and p F e a t u r e had been c r e a t e d b e v o r e get a reference to the Spatal F i l t e r Dim p S i d e S p a t i a l F i l t e r As I S p a t i a l F i l t e r Set p S i d e S p a t i a l F i l t e r = New S p a t i a l F i l t e r s e t t i n g t h e Geometry , GeometryField and S p a t i a l R e l parameters With p S i d e S p a t i a l F i l t e r Set . Geometry = pFeature . Shape p o i n t f e a t u r e . GeometryField = SHAPE . S p a t i a l R e l = ESRISpatialRelWithin

CHAPITRE 3. LES BASES End With execute the f i l t e r Dim pFeatureCursorWithin As I F e a t u r e C u r s o r Set pFeatureCursorWithin = Nothing Set pFeatureCursorWithin = pFeatureClassHalfs . Search ( p S i d e S p a t i a l F i l t e r , False ) Featureclass of s p l i t t e d polygon

37

Comme mentionn avant le ltre spatial est driv du QueryFilter. Il e e e hrite donc de sa proprit WhereClause. Pour limiter les rsultats on peut e ee e dnir la clause WHERE, sinon on spcie les champs quil doit renvoyer e e (proprit SubFields). En limitant le nombre de champs on gagne de peree formance. Pour sassurer que lindex des champs ne change pas, tous les champs seront disponibles, mais seulement ceux dont les noms sont indiqus e dans SubFields seront remplis avec des valeurs. On utilise lindex quand on veut avoir ou mettre la valeur dun champ au lieu dutiliser son nom. Quand on est en train dditer les valeurs dune table, il est quand mme e e recommandable de laisser renvoyer tous les champs pour viter des erreurs e en insrant des nouvelles valeurs. e Les proprits WhereClause et SubFields sont optionnelles. Par default le ee ltre met * comme valeur pour SubFields et revoie tous les champs. Selon [AODH03] il nest pas possible dutiliser order by sous ArcObjects. Si des rsultats ordonns sont dsirs, il faut utiliser ITableSort. Une mthode e e e e e qui permet lutilisation de order by est prvue pour les prochaines releases. e

3.3.2

Spatial Operator Interfaces

Ces interfaces sont implmentes par la plupart des coclasses. Elles orent e e des importantes oprations spatiales, comme des oprations topologiques, e e des calculs de distance et des Relational Operators (expliqu ci-dessous). e IRelationalOperator Certaines gometrie-coclasses implmentent linterface IRelationalOperae e tor qui permet dtudier les relations spatiales entre deux gomtries. Cette e e e interface fournit des mthodes (des Relational Operators 17 ), qui comparent e les gomtries et renvoient des boolens, indiquant si la relation demande e e e e existe ou pas. Les cocloasses Point, Multipoint, Polygone, Polyline, Envelope et GeometryBag implmentent cette interface et permettent dutiliser e les Relational Operators. On ne peut prendre seulement les gomtries qui e e17

expression adopte dESRI e

CHAPITRE 3. LES BASES implmentent linterface IRelationalOperator. e FIG. 3.18 montre tous les mthodes existants dans IRelationalOperator. e

38

Fig. 3.18 Linterface IRelationalOperator, [AODH03] Souvent on veut raliser une requte par rapport ` la gomtrie dun e e a e e ensemble dobjet. On pourrait appliquer un ltre spatial pour chaque objet de rfrence successivement. Dans ce cas on perd des performances, car il ee faudrait parcourir une boucle sur tous les features plusieurs fois. [ENSG03] propose une autre mthode qui est beaucoup plus performante e quand il sagit dune grande quantit dentits. Le propos est de construire e e une seule gomtrie ` partir des gomtries de rfrence et dappliquer e e a e e ee le ltre spatial une seule fois ` lensemble des entits. On cre une geometry a e e bag, qui contient des rfrences aux gomtries dentre. Cela se fait ` laide ee e e e a dune numration de gomtries. e e e e Lexemple suivant montre, comment construire une seule gomtrie ` e e a partir des gomtries de la FeatureClass baseFeatureClass qui se trouvent e e dans la zone littorale. Listing 3.10 Construction dune gomtrie ` partir de plusieurs gomtries e e a e e Enumeration Dim pEnumGeom As IEnumGeometry Set pEnumGeom = New EnumFeatureGeometry Dim p Q u e r y F i l t e r As I Q u e r y F i l t e r Dim pEnumGeometryBind As IEnumGeometryBind QI b e t ween IEnumGeometryBind and IEnumGeometry Set pEnumGeometryBind = pEnumGeom Dim pGeomFactory As IGeometryFactory Dim pGeom As IGeometry Dim pRelOp As I R e l a t i o n a l O p e r a t o r Output F i l t e r t o b u i l d t h e geometry Set p Q u e r y F i l t e r = New Q u e r y F i l t e r S e t t i n g t h e WhereClause

CHAPITRE 3. LES BASES p Q u e r y F i l t e r . whereClause = zone = l i t t o r a l Bind a l l g e o m e t r i e s o f b a s e F e a t u r e C l a s s which comply t h e where c l a u s e t o t h e enumeration . pEnumGeometryBind . BindGeometrySource p Q u e r y F i l t e r , b a s e F e a t u r e C l a s s Set pGeomFactory = New GeometryEnvironment c r e a t i o n o f a geometry bag c o n t a i n i n g r e f e r e n c e s t o g e o m e t r i e s ; r e t u r n e d by t h e i n p u t geometry enumerator Set pGeom = pGeomFactory . CreateGeometryFromEnumerator (pEnumGeom) Set pRelOp = pGeom

39

Ensuite on utilise linterface IRelationalOperator pour regarder si un point se trouve ` lintrieur de la gomtrie cre auparavant. a e e e ee Listing 3.11 Relational Operator R e l a t i o n a l Operator I f ( pRelOp . C o n t a i n s ( p o i n t F e a t u r e . Shape ) ) Then MsgBox Po in t e s t dans l a zone l i t t o r a l Else MsgBox Po in t n e s t pas dans l a zone l i t t o r a l End I f IProximityOperator IProximiyOperator permet de trouver le point le plus proche dun point donn sur une gomtrie, ou de calculer la distance entre deux gomtries e e e e e existantes. [ENSG03] Linterface est implmente par les coclasses Point, Multipoint, Polygone, e e Polyline, Envelope, ainsi que par les sous-classes de Segment. La gure FIG. 3.19 montre linterface IProximiyOperator. Ces mthodes peuvent tre tr`s utiles pour tudier un rseau dordinae e e e e teurs. Par exemple si on veut conna tre le switch le plus proche dun ordinateur pour le connecter sur un rseau existant. Lordinateur correspond e au point donn et le cble de rseau correspond ` la gomtrie (une polye a e a e e ligne). On en dduit alors le nd le plus proche sur une polyligne. e Les Proximity Operators pourraient aussi tre utile lorsquon veut connece ter des ordinateurs sans conna tre comment agencer les cbles. On utilise a linterface pour trouver les distances les plus courtes entre les ordinateurs.

CHAPITRE 3. LES BASES

40

Fig. 3.19 Linterface IProximiyOperator, [AODH03] Pour calculer la distance la mthode returnDistance(other : IGeometry) cale cule la distance la plus courte entre les gomtries en se servant du thor`me e e e e de Pythagore comme montr dans la gure FIG. 3.20. e La gure FIG. 3.21 montre comment marche la mthode ReturnNeareste Point.

Fig. 3.20 Calculs de distance [AODH03]

CHAPITRE 3. LES BASES

41

Fig. 3.21 Mthode : ReturnNearestPoint [AODH03] e ITopologicalOperator Cette interface est implmente par les coclasses Point, Multipoint, Poe e e lygone, Polyline et GeometryBag. Les oprations topologiques permettent de construire des nouvelles gomtries bases sur des relations topologiques e e e entres des gomtries existantes (comme lintersection ou lunion). Ils pere e mettent de disposer dobjets mieux adapts aux crit`res danalyse et de e e dnir de nouveaux objets dtude pour les aner et les approfondir.[...]la e e gnration dobjet peut aussi tre utilise pour laborer des objets de slection e e e e e e plus cible. Cest le cas par exemple des outils dits buer ou zone tampon. e [Bo02] Il est important dindiquer ici que ces oprations ne sappliquent que e sur les gomtries topologiques consistantes, dite simple . e e Voici un extrait de [AODH03] qui explique quand une gomtrie est topoloe e gique consistante. For Point Collections, this means that all duplicate Points (Points with the same X and Y coordinates) are removed (unless they are attribute aware and have dierent attributes). For Segment Collections, this means that all duplicate Segments are removed, all Crossing Segments are split into non-crossing segments (The crossing point becomes a vertex for all of the connected segments), all overlapping segments are broken into non-overlapping segments (the overlap becomes a new Segment), and all non-connected Paths are connected. For Polygons, this means that all overlapping Rings are split into non-overlapping Rings, all Exterior and Interior Rings have the proper orientation, and all non-closed Rings are closed. [AODH03] Linterface ITopologicalOperator ore des mthodes pour vrier si une goe e e mtrie est simple ou pas. Si elle ne lest pas, on peut la modier pour quelle e soit topologiquement correcte avec la mthode simplify. e La gure FIG. 3.22 montre ce qui se passe quand une gomtrie est sime e plie . e

CHAPITRE 3. LES BASES

42

Fig. 3.22 Mthode : Simplify de ITopologicalOperator, [AODH03] e Ci-dessous un exemple dune opration topologique. Dans cet exemple e le premier feature est coup en deux morceaux (deux gomtries) selon une e e e ligne.

CHAPITRE 3. LES BASES Listing 3.12 Opration topologique e s u p p o s i n g f e a t r e c l a s s e s had been c r e a t e d b e f o r e declare variables Dim l i n e F e a t u r e As I F e a t u r e Dim p P o l y l i n e As I P o l y l i n e Dim p o l y F e e a t u r e As I F e a t u r e Dim leftGeom As IGeometry Dim rightGeom As IGeometry Dim p T o p o l o g i c a l O p e r a t o r As I T o p o l o g i c a l O p e r a t o r Dim pGeometry As IGeometry

43

perfom t h e s p l i t t i n g o p e r a t i o n Set p o l y F e e a t u r e = p F e a t u r e C l a s s P o l y g o n s . GetFeature ( 0 ) Set l i n e F e a t u r e = p F e a t u r e C l a s s L i n e s . GetFeature ( 0 ) Set pGeometry = p o l y F e e a t u r e . Shape Set p T o p o l o g i c a l O p e r a t o r = pGeometry Set p P o l y l i n e = l i n e F e a t u r e . Shape On Error GoTo E r r o r H a n d l e r p T o p o l o g i c a l O p e r a t o r . Cut p P o l y l i n e , leftGeom , rightGeom La gure FIG. 3.23 montre la liste compl`te des oprations topologiques e e possibles.

Fig. 3.23 Linterface ITopologicalOperator [AODH03]

CHAPITRE 3. LES BASES

44

3.4

Les algorithmes dinterpolation existants dans ArcGIS

Linterpolation prdit des valeurs des cellules dun raster ` partir dun e a nombre limit de points dchantillonnages. Plusieurs mthodes sont dispoe e e nibles pour crer des rasters ` partir de donnes ponctuelles. Pour savoir e a e quelle mthode convient le mieux il faut regarder le phnom`ne ` modliser e e e a e et la rpartition des points dchantillonnage. e e Il y a quatre algorithmes dinterpolation implments dans ArcGIS : e e 1. IDW 2. Spline 3. Kriging 4. Natural Neighbour Tous ces algorithmes dinterpolation existant dans le SIG prennent lorientation horizontale et verticale comme base. Ils calculent les distances dans un syst`me de coordonnes orthogonales et interpolent les valeurs en prenant e e les distances linaires. On appelle cela linterpolation linaire. e e Dans loutil ArcGIS ces algorithmes sont utiliss pour crer des rasters ou e e des TINs par exemple (cf. 3.1.1 parties mode raster et mode tin). Dans le cas dun chantillon irrgulier linterpolation sert ` calculer des points e e a intermdiaires ne faisant pas partie des chantillons de dpart. e e e Lalgorithme IDW (Inverse Distance Weighted) suppose que le poids des points voisins diminue en fonction de la distance. Dans ArcMap il y a trois param`tres accessibles : Il faut spcier soit le nombre de points voisins qui e e seront utiliss pour calculer la valeur dun point, soit un tampon18 dans lee quel on devra chercher tous les voisins. Ayant spci un rayon de recherche, e e un cercle autour de chaque point sera cr dans lequel on retrouvera les ee points servant ` linterpolation. a Limplmentation de lIDW permet galement de choisir une barri`re limie e e tant la recherche de points dchantillonnage en entre. Cette barri`re est e e e un jeu de donnes polylignes qui pourrait reprsenter une falaise, une cte e e o deau, une crte ou toute autre interruption du paysage. e En outre il faut choisir la puissance (p), qui indique linuence des points voisins. Une puissance faible donne davantage dinuence aux points plus loigns, ce qui ore une surface plus lisse. Plus p augmente, plus le poids e e des points loigns diminue et les points voisins dterminent alors la valeur e e e interpole. Cest pour a que cet algorithme est appel Algorithme dIne c e verse Pondr de la Distance . ee IDW estimates cell values by averaging the values of sample data points in the vicinity of each cell. The closer a point is to the center of the cell being18

buer en anglais

CHAPITRE 3. LES BASES

45

estimated, the more inuence, or weight, it has in the averaging process. This method assumes that the variable being mapped decreases in inuence with distance from its sampled location. [ESW04] Voici la formule de lalgorithme dIDW : z(x) =n 1 p i=0 ( di ) z(i) n 1 p i=0 ( di )

(3.1)

avec : z(x) : la valeur du point x ` interpoler a n : nombre de valeurs mesures e z(i) : valeur mesure du point i e di : la distance du point x au point i p : puissance La Spline est un algorithme qui eectue une interpolation polynomiale par morceaux. Lalgorithme minimise la courbure de la relation tout en sassurant que chaque point donn conserve sa valeur. La courbe (la spline) e peut changer de forme aux points (xi , yi ), appels nuds. Il existe des e splines linaires (des polynmes de degr 1), des splines quadratiques (des e o e polynmes de degr 2) et des splines cubiques (des polynmes de degr 3). o e o e La mthode est approprie si les variations spatiales de la variable sont e e relativement faibles (sinon surestimation). Le kriging (=le krigeage) est bas sur des techniques de gostatistique pour e e calculer lautocorrlation entre les points de mesure. Il utilise ` la fois lloige a e nement et la variance des valeurs reprsentes. e e Selon [Co04] le krigeage se distingue des autres mthodes dinterpolation par e ses caractristiques destimation non biaise et destimation dune variance e e associe. e Lavantage de cette mthode est quelle prend en compte le comportement e spatial spcique de la variable tudie. e e e En thorie cette mthode est optimale du point de vue de la prcision obe e e tenue. En pratique, les performances sont lies au choix judicieux de divers e param`tres qui dpendent de la rpartition des points de mesure. De plus, e e e cet algorithme peut impliquer des grandes puissances de calcul. Le Natural Neighbour (= lalgorithme par plus proche voisin) est une mthoe de gomtrique qui consiste ` gnrer autour de chaque point une rgion de e e a e e e voisinage. Elle permet une approche par objet selon les diagrammes de Voronoi sans dpassement des points originaux. La rgion entourant un point e e du semi initial est dite rgion de Voronoi. e Cette mthode regarde les pentes et calcule les distances en tenant compte e du relief de la surface.

Chapitre 4

Les concepts de la solutionComme mentionn en haut le SIG ore des possibilits dinterpoler des e e donnes ponctuelles avec des dirents algorithmes dinterpolation pour e e crer des cartes montrant une rpartition rguli`re de lattribut dentre. e e e e e Comme paramtrage on peut spcier tous les complments dterminatifs de e e e e lalgorithme choisi. Prenons par exemple le IDW on spcie soit le nombre e de valeurs dinuence i soit la distance maximale d, dont on doit chercher les valeurs dinuence et la puissance p. Comme option on peut en outre choisir une polyligne comme limite gographique. Si on prcise cette fronti`re, lale e e gorithme va calculer toutes les valeurs incluses dans cette rgion et pas les e valeurs en dehors. Comme sortie il va crer un raster, dont on peut choisir e la rsolution (= taille des pixels). e La possibilit de choisir une limite correspond en gnral ` la demande du e e e a commanditaire de calculer la densit pour chaque habitat. On pourrait crer e e des lignes reprsentant les limites de chaque zone et calculer la densit dans e e chaque zone dlimite par la ligne correspondante. e e Mais la grande faiblesse de limplmentation des algorithmes dinterpolation e dans ArcGIS est, quelle ne prend pas en compte les caractristiques natue relles des objets examins, qui peuvent ncessiter une autre orientation. e e Ici, la bathymtrie du lac est la caractristique naturelle. La bathymtrie e e e reprsente la topographie du sol. Elle est le facteur cologique dterminant la e e e rpartition spatiale du peuplement piscicole. Elle dtermine les zones dhae e bitat, car les habitats sont dpendants des profondeurs. e La bathymtrie dtermine lcoulement de leau. Lcoulement soriente dee e e e puis les zones peu profondes vers les zones plus profondes. La ligne de convergence des lignes des plus grandes pentes, suivant laquelle se dirigent les eaux, sappelle le thalweg du lac. Par la suite, jappellerai la forme du thalweg lorientation curviligne du lac. De plus linterpolation dans le SIG ne marche pas bien pour un faible nombre de donnes dentre. En ce qui concerne la capture des vrais poissons e e (les donnes lets) on na que trente valeurs de mesures, dont seulement dix e

46

CHAPITRE 4. LES CONCEPTS DE LA SOLUTION

47

pour chaque zone. Lillustration 4.1 montre la carte cre en interpolant les ee densits de poissons ` partir des donnes lets avec lalgorithme IDW stane a e dard dArcGIS. On voit que les valeurs sont interpoles linairement sans e e prendre en compte lorientation curviligne du lac. En plus il y a des espaces dans la partie en bas o` le lac est plus courb et o` il y a moins de valeurs u e u de mesures.

Fig. 4.1 Algorithme dinterpolation standard A cause des limites de paramtrage des fonctionnalits dinterpolation e e existantes, ces algorithmes ne sont pas assez puissants ou intelligents pour pouvoir les appliquer ` la problmatique traite dans ce projet. Cest a e e pour cela, quil faut trouver une mthode dinterpolation qui prend en compte e les facteurs cologiques dterminant la rpartition des poissons. e e e Lintrt est de dvelopper une mthode dinterpolation spatiale qui prend ee e e

CHAPITRE 4. LES CONCEPTS DE LA SOLUTION

48

comme base lorientation curviligne du lac pour pouvoir calculer la densit. e

4.1

Calcul des densits e

Pour pouvoir calculer la densit de poisson il faut conna la zone attee tre nante dun let pos, car un let ne reprsente pas un volume a priori. Cette e e zone attenante pourrait tre considre comme le volume chantillonn ` e ee e e a lendroit o` le let tait pos. u e e Le commanditaire ma propos un m`tre de dplacement latral pour e e e e chaque heure de pose : Un let de deux m`tres de largeur pos pendant 24 e e heures peut tre assimil ` une surface de 2m 24 = 48m2 . e ea Comme tous les lets ont ` peu pr`s la mme taille et quil y a toujours une a e e cha de sept lets pose ` un endroit dans le lac, on peut dire quune pose ne e a correspond au volume attenant de 48m2 7 prof ondeur[m]. La profondeur dpend de lendroit o` le let a t pos. e u ee e On suppose quun let pos ` un endroit spcique capture tous les poissons ea e qui se trouvent dans le volume spci en haut. e e

4.2

Traitement des donnes dans le SIG e

Dabord il faut construire la bathymtrie du lac ` partir des relevs GPS e a e / cho-sondeur et ` partir du prim`tre du lac qui a t cr par M. Heintz e a e e e e ee [HE02], un ancien tudiant du Mast`re SILAT, qui a dj` travaill sur ce e e ea e lac avec des donnes des campagnes prcdentes. Malheureusement on ne e e e dispose pas de carte IGN1 que lon pourrait scanner et gorfrencer. e ee La bathymtrie permet davoir le prim`tre et les profondeurs du lac et e e e danalyser les pentes. Il faut donc prparer les donnes GPS et les passer e e comme entre au SIG. e Il faut savoir que les relevs GPS et cho-sondeur sont asynchrones, car e e un point GPS est relev toutes les deux secondes environ et lcho-sondeur e e par contre fait 2 ou 3 tirs par seconde. Par consquent il y a plusieurs e valeurs de profondeur pour chaque point GPS. Il faut donc assigner une valeur unique de profondeur ` chaque relev en (x, y). Le commanditaire ma a e demand de prendre la valeur de profondeur minimal de toutes les valeurs e de profondeur pour un point GPS. Un point GPS est exprim en degrs et minutes. La latitude 46,2587 par e e exemple, signie quon est ` 46 degrs, 25 minutes et 87 centi`mes de minute a e e de latitude. Lerreur de prcision du GPS est de 20 m`tres, car la sensibilit est e e e de 1/100e de minute de longitude (= 18,52 m) et de 1/100e de minute de1

cartes ocielles en France

CHAPITRE 4. LES CONCEPTS DE LA SOLUTION

49

latitude (= 12,85 m). Une minute de latitude pour Eguzon correspond ` a 1285 m`tres. Elle varie selon la longitude du point (1852 m ` lquateur, 0 e a e m au ple Nord, 1285 m pour Eguzon). La longitude ne change pas quelle o que soit la position du point. Une minute de longitude correspond toujours a ` 1852 m`tres. e Une fois cr le TIN on peut le transformer dans une grille, qui permet ee davoir une autre reprsentation de laltitude du lac. e Ensuite il faut trouver un moyen pour construire le thalweg ` partir du a MNT. Apr`s avoir construit cette ligne, dans une prochaine tape on pose les e e lets au bon endroit du lac. On se sert dun chier Excel qui contient toutes les poses avec des informations des habitats o` les lets taient poss (voir u e e plus bas pour la classication sur les dirents habitats). On a aussi des e informations gographiques des lets, mais qui ne sont pas dtailles. Il e e e manque les coordonnes des lets. En plus on a des cartes non digitalises e e qui indiquent les endroits o` les lets ont t poss. Il faut donc trouver u ee e une possibilit pour positionner les lets dune mani`re automatique (en e e gnrant les coordonnes des lets) ou de les poser ` la main en regardant e e e a les cartes et en prenant linformation gographique qui est stocke dans le e e chier Excel. Lorsque les donnes seront rentres dans le SIG on arrivera ` e e a avoir des objets gographiques reprsentant des lets (ou plutt des poses) e e o poss dans un mod`le numrique de terrain, qui ont comme attribut dabord e e e seulement le poids en gramme.

4.3

Le syst`me de coordonnes curvilignes e e

La cl de tout calcul suivant est le thalweg. Cette ligne de convergence e des plus grandes pentes reprsente laxe de rfrence. On la consid`re comme e ee e le nouvel axe X dans le syst`me de coordonnes curvilignes. X reprsente les e e e points kilomtriques selon le thalweg. On dcide de rester dans un syst`me e e e est donc la perpendiculaire de tout de coordonnes orthogonales. Laxe Y e point sur la ligne de thalweg. Il sagit de transformer les coordonnes (x, y) des donnes lets dans un e e nouveau syst`me de coordonnes bas sur les axes X et Y. Ci-dessous sera e e e expliqu comment transformer un point (x, y) dans ce syst`me de coore e donnes curvilignes. e x est la distance curvil