Les traits principaux d’un village selon l’´etude de Pierre Gourou sont les suivants :– Le village est entour´e d’une haie de bambous.– L’acc`es au village se fait par des sentiers bord´
Trang 1Int´ egration SIG et simulation
Rapport de stageMaster Informatique option IA & Multim´edia
Fabrice Trillaud (fab.trillaud@gmail.com)
Encadrant :Alexis Drogoul (alexis.drogoul@gmail.com)
Laboratoire :Laboratoire MSI de Hanoi
&
Laboratoire Geodes du centre IRD de Bondy
Universit´e :Institut de la Francophonie pour l’Informatique
&
Universit´e de La Rochelle
Hanoi, le 26 aoˆut 2009
Trang 2Mes remerciements vont en premier lieu `a Alexis Drogoul, pour m’avoir propos´e
ce stage et m’avoir int´egr´e `a l’´equipe du laboratoire MSI Je souhaite ensuite cier les enseignants de l’IFI et de La Rochelle pour leurs conseils et leur encadrement,ainsi que les ´equipes du laboratoire MSI et du centre IRD de Bondy Merci `a PatrickTaillander et Bertrand Chaussat en particulier, ainsi qu’`a Edouard Amouroux pourleurs conseils avis´es
remer-Je souhaite remercier tr`es chaleureusement Olivier Tessier de l’Ecole Fran¸caised’Extrˆeme Orient pour le temps qu’il m’a consacr´e et les nombreux renseignementsqu’il ma fournis Un grand merci ´egalement `a Johann Sorel pour les longues dis-cussions sur l’utilisation de GeoTools, ainsi qu’`a son coll`egue de GeoMatys MartinDesruisseaux, de mˆeme que Jody Garnett de l’´equipe de d´eveloppement GeoTools
et la communaut´e d’utilisateur de GeoTools
Merci `a Philippe Papin, Sylvie Fanchette, V´eronique Gaildrat, St´ephanie vaux et tout particuli`erement Mathieu Larive pour tous les documents concernantles villages vietnamiens et la g´en´eration automatique de zones urbaines auxquels ilsm’ont donn´e acc`es
Des-Merci encore `a ma famille, parents, fr`eres et futures belle-soeurs, ainsi qu’`a lafamille de Thao, pour les voyages de et jusqu’aux a´eroports, et pour la nourriture et
la bonne humeur associ´ees
Enfin, je souhaite remercier tr`es particuli`erement Pham Phuong Thao pour sonsoutien in´ebranlable tout au long de ce stage et son regard critique toujours juste
Trang 3R´ esum´ e
Le laboratoire MSI travaille actuellement sur un programme de simulation nomm´eGAMAVI, en partenariat avec le CIRAD Cette simulation se base sur des donn´eesSIG r´eelles, notamment sur quelques villages au Nord du Vietnam Aucune donn´een’existant `a ce jour sur la topologie interne de ces villages, il est devenu n´ecessaire
de r´ealiser un programme capable de g´en´erer automatiquement des villages r´ealistes,qui pourront ensuite ˆetre utilis´es pour les simulations ´elabor´ees par le laboratoire
Ce travail a fait l’objet d’un stage r´ealis´e au sein du laboratoire MSI de Hanoi, et dulaboratoire Geodes de l’IRD `a Paris Ce rapport pr´esente les recherches effectu´eessur les villages vietnamiens, les techniques de g´en´eration automatique de villes et lesSIG, ainsi que le travail de d´eveloppement qui en d´ecoule, et les r´esultats obtenus
Mots-cl´es: g´en´eration automatique, SIG, simulation, topologie, villages, GeoTools
This document presents the researches that have been conducted on the vietnamesevillages, the automatic generation of urban zones techniques, and the GIS softwares
It also present the development of the program produced during this training andthe results obtained with it
Keywords: automatic generation, GIS, simulation, topology, villages, GeoTools
Trang 4Remerciements i
Liste des Algorithmes vii
1.1 Les villages Vietnamiens 2
1.1.1 Donn´ees du CIRAD et zone d’´etude 2
1.1.2 Recherches sur la topologie des villages 2
1.1.3 Organisation des parcelles d’habitations 5
1.2 La g´en´eration automatique de zones urbaines 5
1.2.1 M´ethodologie 5
1.2.2 Travaux existants 9
2 Approche propos´ee 15 2.1 Approche g´en´erale 15
2.2 R`egles de cr´eation de villages 16
2.3 Algorithmes de cr´eation des villages 17
2.3.1 Extraction des donn´ees 17
2.3.2 Peuplement de la grille 18
2.3.3 Calcul des portes du village 19
2.3.4 G´en´eration des routes principales 19
2.3.5 G´en´eration des quartiers 20
2.3.6 G´en´eration des parcelles d’habitation 21
2.3.7 G´en´eration de l’embase des bˆatiments 22
Trang 53 Mise en oeuvre de l’approche 23
3.1 Impl´ementation 23
3.2 Etapes de la g´en´eration des villages 24
3.2.1 Lecture et traitement des donn´ees 24
3.2.2 Cr´eation et peuplement de la grille 31
3.2.3 G´en´eration des routes 31
3.2.4 G´en´eration des quartiers et parcelles 31
3.2.5 Peuplement des parcelles 36
3.2.6 Exportation des donn´ees 36 Conclusion & Perspectives 42
A Cartes du CIRAD 45
C Photographies de village 54
D Plans d’habitations 58
E M´ethodes de cr´eation de routes abandonn´ees 63
F Cr´eation de donn´ees raster 65
Trang 61.1 Localisation des 9 communes d’´etude (communes color´ees) 3
1.2 Les ´etapes de la g´en´eration d’une ville 6
1.3 Exemple de r´eseau routier g´en´er´e `a partir de donn´ees topographiques [Y Parish 01] 7
1.4 Exemple de division de blocs par les diagrammes de Voronoi [Perret 06] 8 1.5 Exemple de r´esultat de la simulation sur Salonica 10
1.6 Cr´eation des couches de donn´ees pour la ville de Rouen 11
1.7 Comparaison de la simulation avec la r´ealit´e 11
1.8 Evolution d’une ville simul´ee par syst`eme multi-agents 12
1.9 Une ville en construction sous CityGen 13
1.10 Session de travail du projet Rome Reborn 2.0 sous City Engine 14
2.1 Hi´erachie des ´el´ements pour le peuplement de la grille (de haut en bas : priorit´e maximale `a minimale) 18
3.1 Diagramme de paquets du programme 23
3.2 Diagramme de classes du paquet Generator 25
3.3 Diagramme de s´equence du programme 26
3.4 Routes incoh´erentes quittant le Vietnam 27
3.5 Routes incoh´erentes vues en entier 28
3.6 Carte routi`ere du Vietnam apr`es correction 29
3.7 Hi´erarchie de fichier utilis´ee pour le g´en´erateur 30
3.8 Un village : affichage issu des donn´ees vectorielles, et conversion dans la grille du g´en´erateur 32
3.9 Village poss´edant deux routes principales 33
3.10 D´ecoupage en quartiers d’un village poss´edant deux routes princi-pales : les quartiers situ´es le long de la route principale sont tr`es r´eguliers, les autres assez chaotiques 34
3.11 D´ecoupage en quartier d’un village 35
3.12 Village d´ecoup´e en parcelles : dans la plupart des quartiers, une par-celle n’a pas d’acc`es direct `a la route 37
3.13 Village complet, avec une taille d’´el´ement de 5 38
3.14 Village complet, avec une taille d’´el´ement de 2 39
3.15 Carte de village au format raster superpos´ee aux donn´ees vectorielles du CIRAD Les contours des villages sont exag´er´es pour distinguer les donn´ees vectorielles du village g´en´er´e 40
A.1 Contour des villages au Nord du Vietnam 45
Trang 7A.2 Division du Vietnam en communes 46
A.3 Carte des principales routes du Vietnam 47
A.4 Carte des principaux cours d’eau du Vietnam 48
B.1 Commune de Chau Minh 49
B.2 Commune de Dong Phuc 50
B.3 Commune de Dong Viet 50
B.4 Commune de Hoang Long 51
B.5 Commune de Hoang Ninh 51
B.6 Commune de Hong Thai 52
B.7 Commune de Nghia Trung 52
B.8 Commune de Tan My 53
B.9 Commune de Yen Lu 53
C.1 La rue principale du village, large de 4 m`etres environ, elle parcourt le village en longueur 54
C.2 Une rue secondaire, entre 1 et 2 m`etres, plus ou moins perpendiculaire ` a la rue principale 55
C.3 Les cultures s`eches (l´egumes, arbres fruitiers) se trouvent exclusive-ment `a l’int´erieur des parcelles d’habitation 56
C.4 Les mares sont omnipr´esentes `a l’int´erieur du village, les rizi`eres oc-cupent tout l’espace entre les villages 56
C.5 A chaque maison est associ´ee une mare, d’une taille presque ´egale `a la parcelle d’habitation 57
E.1 Route g´en´er´ee par l’algorithme ”bordurophobe” En rouge au centre le point de d´epart de la route, en noir la route g´en´er´ee et en jaune les cellules ´eligibles `a chaque it´eration On constate qu’`a l’approche du bord droit, l’algorithme ne trouve plus de cellules ´eligibles et stagne 64 F.1 Equation de projection 65
F.2 Sch´ema explicatif de la projection 66
Trang 81 Algorithme g´en´eral du programme 17
2 Extraction des donn´ees par couche 18
3 Peuplement de la grille 19
4 Calcul des portes du village 19
5 G´en´eration des routes principales 20
6 G´en´eration des quartiers 20
7 Propagation d’un quartier 21
8 G´en´erations des parcelles 22
Trang 9Mon stage de recherche s’est d´eroul´e au sein de l’´equipe du laboratoire MSI deHanoi, sous la direction d’Alexis Drogoul, ainsi qu’au laboratoire Geodes de l’IRD `aBondy Ces deux laboratoires font partie de l’UMI UMMISCO, unit´e internationale
de recherche d´edi´ee `a la mod´elisation de syst`emes complexes
Ce stage s’int`egre au travail du chercheur Edouard Amouroux, qui travaille sur
le projet GAMAVI, une simulation de propagation de la grippe aviaire dans les lages de campagne au Nord du Vietnam, sous la plateforme de simulation GAMA
vil-Le but du stage est de r´ealiser un g´en´erateur automatique de villages vietnamiens, `apartir de donn´ees SIG r´eelles Les donn´ees sont fournies par St´ephanie Desvaux duCIRAD L’objectif est d’utiliser les donn´ees du terrain et les contours des villagespour g´en´erer la structure des villages : routes, quartiers, bˆatiments Les besoins duprojet d’Edouard Amouroux se concentrent sur 9 communes du Nord du Vietnam,soit 81 villages, mais le stage a ´et´e conduit avec l’id´ee de fournir un programmefacilement adaptable pour une utilisation dans d’autres contextes
La r´ealisation de ce stage a n´ecessit´e la r´eunion de plusieurs domaines tels quel’urbanisme, l’algorithmique et bien entendu les SIG Une importante partie du stage
a donc ´et´e consacr´ee `a la recherche d’informations sur les outils SIG existant, la g´n´eration automatique de zones urbaines, et sur l’histoire et la dynamique des villages
e-au Nord du Vietnam
Ce document pr´esente en partie 1 les r´esultats des recherches men´ees sur lesvillages vietnamiens et sur les m´ethodes actuelles de g´en´eration automatique dezones urbaines Puis nous verrons en partie 2 la m´ethode propos´ee pour r´ealiser
ce g´en´erateur La partie 3 pr´esentera la r´ealisation du projet ainsi que les r´esultatsobtenus Enfin nous ´evoquerons les perspectives envisag´ees pour le programme r´ealis´e
et les enseignements tir´es de ce stage de recherche en conclusion de ce rapport
Trang 10Ce chapitre pr´esente les donn´ees du CIRAD sur les villages du Nord Vietnam(1.1.1), ainsi que les recherches effectu´ees sur les villages vietnamiens (1.1.2,1.1.3) etsur la g´en´eration automatique de zones urbaines (1.2)
1.1 Les villages Vietnamiens
1.1.1 Donn´ees du CIRAD et zone d’´etude
Donn´ees SIG Les donn´ees SIG sont celles qui sont directement utilis´ees commeentr´ees pour le g´en´erateur de villages Ces donn´ees proviennent du gouvernementVietnamien et concernent pour la plupart l’ensemble du territoire Deux jeux dedonn´ees ont ´et´e fournis : des donn´ees datant du milieu des ann´ees 1990 et des donn´ees
de 2008 Ce sont naturellement les donn´ees les plus r´ecente qui ont ´et´e utilis´ees aucours du stage Ces donn´ees comprennent :
– Le d´ecoupage administratif du Vietnam en provinces, districts et communes– Les contours des villages du Nord du Vietnam
– Les principaux cours d’eaux– Les principales routesDes cartes construites `a partir de ces donn´ees sont fournies en annexe A
Zone d’´etude La zone d’´etude du projet GAMAVI comprend 9 communes dont
la carte 1.1 indique l’emplacement par rapport `a Hanoi Les cartes des 9 communessont donn´ees en annexe B Il existe ´egalement des donn´ees relatives aux nombres defermiers, aux types de fermes et aux esp`eces ´elev´ees, mais ces donn´ees sont agr´eg´ees
au niveau de la commune ou du district, et ne sont donc pas utilisables par leg´en´erateur de villages
1.1.2 Recherches sur la topologie des villages
Il n’existe pas actuellement d’´etude `a jour sur la topologie et la dynamique deconstruction des villages vietnamiens La seule ´etude d´edi´ee `a ce sujet a ´et´e ´ecrite
en 1937 par Pierre Gourou [Gourou 37], une excellente base pour apprendre `a tinguer les diff´erents types de villages et leurs particularit´es topologiques, mais qui
dis-ne correspond pas toujours `a la r´ealit´e des villages aujourd’hui Voici les principaux
Trang 111.1 Les villages Vietnamiens
Figure 1.1 – Localisation des 9 communes d’´etude (communes color´ees)types de villages d´ecrits par Pierre Gourou
Villages de bourrelets Ces villages sont situ´es les long de cours d’eau, et g´es pour en suivre la forme Les maisons y sont vastes, align´ees le long de l’eau,perpendiculaires `a la route Les cultures se trouvent de l’autre cˆot´e de la route, sibien que les habitations se trouvent entour´ees d’eau
allon-Cordons littoraux Les villages de cordons littoraux se trouvent sur la cˆote Cesont des villages tr`es ´etal´es, dans lesquels les arbres entourent chaque parcelle d’ha-bitation Ces habitations sont dispers´ees dans les terrains `a dunes le long de la mer,toujours assez proches du littoral (`a une distance maximale de trois ou quatre par-celles, soit 300 ou 400 m`etres pour les plus grandes parcelles) Les rizi`eres sont quant
`
a elles concentr´ees dans les d´epressions situ´ees entre les cordons littoraux
Villages de lit majeur Ces villages se trouvent le long du Fleuve Rouge, dansles parties hautes du lit du fleuve On y trouve l`a aussi des maisons tr`es vastes,sur´elev´ees, au milieu des cultures s`eches et des arbres fruitiers Ces villages sont
´egalement caract´eris´es par des rues particuli`erement longues, et des successions deparcelles d’habitation rectangulaires
Autres villages Pierre Gourou d´ecrit ´egalement d’autres types de villages, telsque les villages de type Kim Thanh, Binh Giang, Thanh Liem pour la plupart descas tr`es particuliers
Trang 12Les traits principaux d’un village selon l’´etude de Pierre Gourou sont les suivants :– Le village est entour´e d’une haie de bambous.
– L’acc`es au village se fait par des sentiers bord´es de mares– Les villages sont le plus possible entour´es de mares– Un village compte 2 ou 3 portes
– Le village compte une ou deux rues principales parall`eles– Les rues secondaires sont parfois totalement ind´ependantes, reli´ees uniquementpar la rue principale (cela n’est possible que si la largeur du village est faible)– La rue principale abouti parfois au temple du village et n’est donc reli´ee qu’`aune seule porte
– Un village est divis´e en quartiers mesurant 30 `a 100 m`etres de long
Les importants travaux d’Olivier Tessier [Tessier 03],[Tessier 96], bien que palement orient´e sur l’aspect social de l’organisation du village, donnent des ´el´ementscl´es de la structure de base d’un village au Nord du Vietnam Il insiste notammentsur l’importance des r´eformes des ann´ees 1950 et de l’arriv´ee de nombreux immi-grants sur l’organisation et la dynamique des villages La th`ese d’Olivier Tessierest par ailleurs accompagn´ee de cartes d´etaill´ees donnant une bonne image de latopologie des villages, malheureusement seuls quelques villages diff´erents sont ainsirepr´esent´es D’apr`es cette ´etude sociale sur la dynamique des villages, on apprendcomment au fil des ann´ees les parcelles d’habitations ont ´et´e morcel´ees, pour offriraux descendants de chaque famille une parcelle de terre habitable `a proximit´e dureste de sa lign´ee On remarque ainsi des parcelles plus petites, aux contours pluschaotiques que celles que d´ecrivait Pierre Gourou, et une multiplication des mares,elles aussi de moindre taille
princi-D’autre part, dans son article [Jean Philippe Fontenelle 99], Jean-Philippe tenelle d´ecrit les aspects des villages du delta de Fleuve Rouge ayant ´et´e ou nonmodifi´es lors des r´eformes des ann´ees 50 Il explique l’´evolution du parcellement etdes fronti`eres des villages, la division des parcelles au cours du temps et pr´esentequelques cartes montrant l’´evolution d’un village, avant et apr`es les r´eformes
Fon-Enfin, j’ai eu personnellement l’occasion de me rendre dans quelques villagesproches de la zone d’´etude, desquels j’ai conserv´e des photographies dont certainessont pr´esent´ees en annexe C
Les caract´eristiques communes aux villages actuels dans la r´egion d’´etude sontles suivantes :
– Les mares sont omnipr´esentes : une mare pour chaque habitation, de tailleimportante
– Les cultures s`eches sont concentr´ees `a l’int´erieur du village, `a l’ext´erieur on netrouve que des rizi`eres
– Les rues correspondent toujours `a la description de Pierre Gourou, mais on netrouve plus d’impasses
– Le d´ecoupage des parcelles a perdu sa r´egularit´e au fil des partages des terre,
il est aujourd’hui assez chaotique– Les blocs r´esidentiels mesurent entre 20 et 60 m`etres de large, pour une surfacemoyenne de 600 m`etres carr´es
Trang 131.2 La g´en´eration automatique de zones urbaines
1.1.3 Organisation des parcelles d’habitations
Pour aller jusqu’au bout de la g´en´eration du village, il faut pouvoir g´en´erer les
bˆatiments composant chaque parcelle d’habitations Les ´etudes men´ees sur ce sujetsont l`a aussi peu nombreuses, mais la th`ese d’Olivier Tessier [Tessier 03] regroupequelques sch´emas d’habitations (donn´es en annexe D), bien que la localisation desvillages concern´es ne correspondent pas `a la zone d’´etude On remarque par ailleurs
ce d´ecalage `a cause de la faible pr´esence des mares, beaucoup plus repr´esent´ees dans
la zone d’´etude
Puisque la g´en´eration se limite `a placer l’empreinte des bˆatiments sur le terrain,
il est assez ais´e de fournir une description g´en´erique des habitations :– La parcelle d’habitation comprend entre 1 et 4 bˆatiment Le bˆatiment principalmesure entre 10 et 20 m`etres de long, pour 4 `a 6 m`etres de large Les autres
bˆatiments se limitent `a un coin cuisine, un point d’eau, ´etable/porcherie, et ned´epasse pas la moiti´e du bˆatiment principal en surface
– Les bˆatiments sont regroup´es au centre ou dans l’axe du portail d’entr´ee de laparcelle
– Une mare est toujours pr´esente, pouvant repr´esenter entre un cinqui`eme et unquart de la parcelle
– Le reste de la parcelle est partag´e entre les cultures s`eches et les arbres fruitiers
Il est ´egalement int´eressant pour le projet GAMAVI de rassembler des tions `a propos des diff´erents ´elevage dans un village, et sur leur r´epartition spatiale
informa-Ces informations peuvent ˆetre trouv´ees dans l’ouvrage de Pierre Gourou, ou plus plement en demandant aux habitants des villages Voici les informations recueillies
sim-`
a propos des ´elevages :– Les volailles sont pr´esentes dans toutes les habitations d’un village Elles sontg´en´eralement libres de se d´eplacer ou bon leur semble pendant la journ´ee, `al’exception de l’int´erieur des bˆatiments, et enferm´ees la nuit dans un abri enbambous ou derri`ere un grillage
– On trouve principalement des ´elevages de poules, canards et oies
– L’´elevage de porcs est assez courant, mais on pr´ef`ere les garder enferm´es, pourpouvoir r´ecup´erer le fumier et les engraisser plus facilement
– La pr´esence de boeufs ou de buffles est beaucoup moins importante Autrefoisutilis´es exclusivement pour leur force dans les champs, ils sont aujourd’hui
´elev´es ´egalement pour leur viande, mais restent peu communs
1.2 La g´ en´ eration automatique de zones urbaines
Cette partie pr´esente un ´etat de l’art de la g´en´eration automatique de zones baines La partie 1.2.1 d´ecrit la m´ethodologie globalement appliqu´ee dans l’ensembledes projets de g´en´eration automatique, tandis que la partie 1.2.2 pr´esente quelquesprojets d’envergure utilisant la g´en´eration automatique de zones urbaines
ur-1.2.1 M´ethodologie
Mathieu Larive s’est attach´e en 2004 [Larive 04] `a dresser un ´etat de l’art de lag´en´eration automatique de zones urbaines, qu’il a ensuite repris et mis `a jour pour
Trang 14sa th`ese [Larive 08] Cette ´etude a ´et´e pour moi la source principale d’informations
`
a propos des m´ethodes de g´en´erations automatiques de zones urbaines
La g´en´eration d’une ville peut ˆetre d´ecoup´ee en plusieurs ´etapes, comme indiqu´epar la figure 1.2 Ces diff´erentes ´etapes peuvent ˆetre trait´ees de fa¸cons ind´ependantes,
et en utilisant des m´ethodes diff´erentes
Figure 1.2 – Les ´etapes de la g´en´eration d’une ville
Zone urbaine La premi`ere ´etape lors de la g´en´eration d’une ville est d’en d´efinirles limites Dans la majorit´e des cas, cette limite est fix´ee par des donn´ees r´eelles detype SIG, comme c’est le cas ici Si l’on doit g´en´erer cette limite, on peut se basersur diverses informations concernant le terrain :
– L’altitude– L’hydrographie– La densit´e de population– La v´eg´etation
– Les moyens d’acc`es existants dans la zone ou `a proximit´e
La limite de la ville n’est pas obligatoirement fixe tout au long de la g´en´eration :elle peut servir `a g´en´erer une base dont on simulera la croissance par la suite, audel`a de cette limite D’autre part, comme nous le verrons en 1.2.2, certains projetsignorent cette ´etape pour faire grandir une ville sans limites d´efinies
Le r´eseau routier La technique la plus couramment utilis´ee pour g´en´erer desroutes est de caract´eriser les villes selon des sch´emas connus : damiers, radio-centriques,branchements Il est cependant impossible de caract´eriser l’ensemble des villes decette fa¸con Certains projets de g´en´eration de villes bas´es sur les SMA d´efinissentdes agents sp´ecialis´es dans la cr´eation de routes, qui cr´eeront selon leur degr´e delibert´e des r´eseaux de type damiers ou organiques
La plupart des ´etudes portant sur la g´en´eration de r´eseaux routiers utilisent les System, une grammaire g´en´eratrice de formes Cette m´ethode permet de g´en´erer desroutes en respectant de nombreuses contraintes environnementales, topographiques,etc
L-Les r´eseaux routiers peuvent ˆetre enregistr´es sous forme de donn´ees SIG torielles ou raster), ce qui facilite leur lecture par des logiciels standards, ou biensous forme de graphes, permettant ainsi d’appliquer des algorithmes aujourd’huimaˆıtris´es comme la recherche du plus court chemin ou bien la d´etection de cycles
(vec-Les blocs ou quartiers La g´en´eration des blocs1se fait de mani`ere quasi tique lors de la g´en´eration du r´eseau routier Il est cependant int´eressant de consacrer
automa-1 Bloc : surface connexe entour´ ee de routes
Trang 151.2 La g´en´eration automatique de zones urbaines
Figure 1.3 – Exemple de r´eseau routier g´en´er´e `a partir de donn´ees topographiques[Y Parish 01]
Trang 16une ´etape au raffinement des blocs (fusion des blocs de faible taille, caract´erisationdes blocs ).
Les parcelles La cr´eation de parcelles consiste `a red´ecouper chaque bloc en zonesplus petites, correspondant chacune `a une adresse postale Il existe deux m´ethodesprincipales pour cr´eer des parcelles La premi`ere consiste simplement `a diviser lesblocs en deux, `a partir de leur plus long cˆot´e, et ainsi de suite tant que les parcellesobtenues sont d’une taille suffisante Cette m´ethode est simple et rapide, mais nepermet de cr´eer que des sch´emas d’habitations en damier
La seconde m´ethode, illustr´ee par la figure 1.4, utilise des diagrammes de Voronoipour diviser le bloc, avec un algorithme permettant de sp´ecifier les largeur, longueur
et surface minimales, maximales et moyennes des parcelles Cette m´ethode fournitdes r´esultats plus r´ealiste mais n´ecessite un post-traitement syst´ematique car elleconduit a des parcelles aberrantes (parcelles tr`es fines, triangles tr`es ferm´es)
Figure 1.4 – Exemple de division de blocs par les diagrammes de Voronoi [Perret 06]
Ext´erieurs de bˆatiments La description donn´ee par [Larive 08] s’int´eresse `aune g´en´eration des villes pour un rendu 3D C’est pourquoi cette ´etape int`egre
le placement de l’embase des bˆatiments, mais aussi leur mod´elisation 3D et leurtexturisation L’aspect qui nous int´eresse ici se limite `a l’embase des bˆatiments2, unaspect qui n’est pas ´enorm´ement d´ecrit par les ´etudes actuelles, qui se focalisent sur
2 Embase (ou empreinte) : intersection du bˆ atiment avec le terrain
Trang 171.2 La g´en´eration automatique de zones urbaines
le rendu des mod`eles 3D et des fa¸cades des bˆatiments La m´ethode la plus simple
et r´epandue consiste `a faire une ´erosion de la parcelle, jusqu’`a obtenir une taillesatisfaisante pour placer le(les) bˆatiment(s), de fa¸con plus ou moins al´eatoire
Les param`etres `a consid´erer lors du placement de l’embase d’un bˆatiment sontles suivantes :
– Distance aux fronti`eres de la parcelle– Orientation du bˆatiment
– distance par rapport aux autres bˆatiments et aux autres objets (mare parexemple)
1.2.2 Travaux existants
Cette section pr´esente quelques travaux int´eressant en cours dans le domaine de
la g´en´eration automatique de zones urbaines
Antonia Mavroudi et la ville de Salonica [Mavroudi 07]
Antonia Mavroudi, de l’University College of London, a pr´esent´e en 2007 uneth`ese portant sur la simulation de l’´evolution de la ville de Salonica, en Gr`ece
Cette ´etude se base sur l’utilisation d’automates cellulaires Le but est de pr´edirel’´evolution de la ville (modifications internes et agrandissement) pour les ann´ees `avenir Pour d´evelopper son ensemble de r`egles, Antonia Mavroudi a proc´ed´e a unecomplexification progressive du ”Jeu de la vie” Les r´esultats obtenus (figure 1.5)par cette simulation sont cr´edibles, mais ne sont pas comparables `a donn´ees r´eellespuisqu’ils repr´esentent l’´etat de la ville dans le futur, il est donc difficile de jugerleur pertinence
Evolution de la ville de Rouen [Edwige Dubos-Paillard 06]
Edwige Dubos-Paillard et Patrice Langlois ont publi´e en 2006 les r´esultats detravaux men´es autour de la ville de Rouen, dont le but ´etait ´egalement de pr´edirel’´evolution de la ville A la diff´erence des travaux de [Mavroudi 07], les auteurs ontici utilis´e des donn´ees pass´ees comme base, afin de pouvoir comparer leurs r´esultatsavec l’´etat actuel de la ville Ces travaux utilisent ´egalement un automate cellulaire,g´erant trois couches de donn´ees diff´erentes, comme indiqu´e par la figure 1.6 :– Occupation des sols
– Zones de forte pente– InfrastructuresLes donn´ees utilis´ees pour ces simulation datent de 1950, 1966 et 1994 L’objectifprincipal est de lancer une simulation `a partir des donn´ees de 1950 et d’obtenir uneversion de Rouen en 1994 conforme `a la r´ealit´e A partir de l`a, l’automate pourraˆ
etre utilis´e pour pr´edire l’´evolution de la ville dans l’avenir Les r´esultats obtenus aufinal sont tr`es proches de la r´ealit´e (figure 1.7), et l’automate est aujourd’hui utilis´ecomme moyen d’aide `a la d´ecision pour un projet de construction de rocade dans laville de Rouen
Trang 18Figure 1.5 – Exemple de r´esultat de la simulation sur Salonica
Trang 191.2 La g´en´eration automatique de zones urbaines
Figure 1.6 – Cr´eation des couches de donn´ees pour la ville de Rouen
Figure 1.7 – Comparaison de la simulation avec la r´ealit´e
Trang 20Procedural City Modeling [Thomas Lechner 03]
Un groupe de recherche de l’Illinois Institute of Technology a publi´e en 2003 lesr´esultats de leurs travaux sur un g´en´erateur automatique de villes Ce g´en´erateurutilise une approche multi-agents Cette simulation se base sur des donn´ees d’entr´eeconcernant uniquement le terrain (´el´evation et hydrographie) La g´en´eration de laville est divis´ee en deux principales tˆaches : la g´en´eration des routes et la g´en´erationdes bˆatis Les routes sont g´en´er´ees grˆace `a deux types d’agents : les ”extenders” quis’occupent d’´etendre la route `a de nouvelles zone non desservies, et les ”connectors”
qui s’occupent de consolider le r´eseau routier Les bˆatis disposent quant `a eux d’untype d’agent pour chaque type de zone (industrielle, commerciale, r´esidentielle )
Ces agents ont pour but premier de convertir les terrains inoccup´es, mais peuvent
´egalement augmenter la densit´e d’une zone existante Les simulations pr´esent´ees dans[Thomas Lechner 03] ne comportent que deux types de zones, r´esidentielle et com-merciale, et les agents poss`edent des comportements quasi-identiques Des exemples
de r´esultats sont pr´esent´es en figure 1.8
L’un des points int´eressants de cette ´etude est la possibilit´e de d´efinir un niveau
de ”libert´e” dans la cr´eation des routes, permettant d’obtenir des trac´es tr`es lignes ou au contraire tr`es organiques Les m´ethodes pr´esent´ees sont ´egalement tr`esint´eressantes car elles pourraient ˆetre facilement impl´ement´ees sous GAMA
recti-Figure 1.8 – Evolution d’une ville simul´ee par syst`eme multi-agents
CityGen [Cabe 07]
CityGen est un projet de l’Institute of Technology Blanchardstown, dont jectif est de r´ealiser un logiciel interactif de cr´eation de villes virtuelles r´ealistes,principalement pour une utilisation dans le domaine du jeu vid´eo Ce logiciel estaujourd’hui fonctionnel et a ´et´e pr´esent´e lors de la conf´erence Game Design andTechnology Workshop de 2007 Le projet ne semble cependant plus connaitre d’´evo-lution depuis d´ebut 2008
l’ob-CityGen ne se base sur aucune donn´ee r´eelle et g´en`ere ses villes de fa¸con proc´
Trang 21e-1.2 La g´en´eration automatique de zones urbaines
durale Le logiciel se voulant interactif, l’utilisateur est invit´e `a dessiner le sch´emaroutier primaire de sa ville manuellement CityGen se charge alors de g´en´erer les r´e-seaux routiers secondaires et les bˆatiments La ville g´en´er´ee n’est absolument pas fixe
et l’utilisateur peut d´eplacer en temps r´eel les ´el´ements la constituant, la g´en´erationdes blocs et bˆatiments s’adaptant `a la nouvelle forme de la ville
Malheureusement, les d´etails sur le fonctionnement de ce logiciel sont maigres, lelogiciel n’´etant plus disponible en t´el´echargement, et mes tentatives de contact avecdes personnes ayant particip´e au projet n’ayant pas abouties
Figure 1.9 – Une ville en construction sous CityGen
City Engine [Pro 09]
City Engine 1.10 est sans contexte le logiciel de g´en´eration de villes le pluscomplet existant City Engine permet de g´en´erer enti`erement des villes virtuelles `apartir d’espaces vides ou bien de donn´ees existantes (tel que des r´eseaux routiers),
City Engine est aujourd’hui impliqu´e dans plusieurs projets de grande envergure,tels que ”Rome Reborn 2.0”, ”Procedural Pompei”, ou bien une campagne publicitairepour la Toyota Prius
Trang 22City Engine, pr´esent´e `a la convention Siggraph 2009 dans sa nouvelle version,est `a ce jour le logiciel le plus abouti en mati`ere de g´en´eration automatique de villes,mais est bien trop complet et complexe pour avoir un r´eel int´erˆet dans ce stage.
Figure 1.10 – Session de travail du projet Rome Reborn 2.0 sous City Engine
Trang 23Chapitre 2
Ce chapitre pr´esente l’approche propos´ee pour d´evelopper le g´en´erateur de lages Cette approche sera discut´ee de mani`ere g´en´erale en partie 2.1, puis la partie2.2 reviendra sur les r`egles de g´en´eration d’un village, et enfin la partie 2.3 pr´esenterales algorithmes de g´en´eration des villages
vil-2.1 Approche g´ en´ erale
La r´ealisation du g´en´erateur de villages a d`es le d´epart ´et´e conduite avec l’id´ee defaire un programme facile `a reprendre et `a modifier pour une utilisation dans d’autresprojets que GAMAVI C’est pourquoi la d´ecision a ´et´e prise d`es le d´epart d’en faire
un programme ind´ependant de GAMA, mˆeme si une des approches int´eressantes dud´eveloppement de g´en´erateurs automatiques est l’utilisation des SMA
Afin de pouvoir utiliser les donn´ees SIG du CIRAD, il est indispensable liser une biblioth`eque capable de manipuler ce type de donn´ees Le choix de cettebiblioth`eque s’est port´ee sur GeoTools, biblioth`eque utilis´ee par la future version
d’uti-de GAMA, et l’une d’uti-des r´ef´erences en mati`ere de biblioth`eques open-source pour lesSIG La d´ecision a ´et´e prise d’utiliser la version de GeoTools la plus r´ecente, mˆeme
si elle diff`ere de la version en cours d’int´egration dans GAMA, la volont´e de l’´equipe
de d´eveloppement de GAMA ´etant de mettre `a jour sa biblioth`eque SIG d`es quepossible
Les donn´ees provenant des SIG peuvent se pr´esenter sous deux formes diff´erentes :vectorielle ou raster3, la biblioth`eque GeoTools ´etant d’ailleurs capable de g´erer cesdeux types de donn´ees L’utilisation de donn´ees au format vectoriel permet uneplus grande pr´ecision, mais implique un degr´e de complexit´e bien sup´erieur, parexemple si les mˆemes ´el´ements d’un village doivent ˆetre modifi´es plusieurs fois aucours de la g´en´eration, le besoin en nombre de calculs est tr`es important pour desdonn´ees vectorielles4 L’utilisation d’une grille permet en revanche d’appliquer desalgorithmes simples et connus, tels que le calcul de composantes connexes Cetteapproche semble ´egalement appropri´ee pour la g´en´eration de zones (quartiers, blocs,habitations, mares), et facilite des traitements comme la fusion ou la division de
3 Les donn´ ees raster sont en fait des donn´ ees exprim´ ees sous forme de grilles ou de matrice Ces donn´ ees sont g´ en´ eralement stock´ ees sous forme de fichiers image.
4 Cela est en partie dˆ u ` a l’utilisation de la biblioth` eque JTS par GeoTools Cette biblioth` eque est appr´ eci´ ee pour sa robustesse, mais demande par cons´ equent un nombre de traitements important
Trang 24zones Reste ensuite `a d´eterminer le type de grille `a utiliser Si l’utilisation d’unegrille carr´ee vient imm´ediatement `a l’esprit, le choix d’une grille hexagonale offre descaract´eristiques int´eressantes (conservation des distances, approximation optimaled’une g´eom´etrie complexe) malgr´e une complexit´e sup´erieure.
La solution retenue pour la mod´elisation du village est l’utilisation d’un d´page hexagonal La taille des cases unitaires de la grille sera discut´ee plus tard
ecou-D’autre part, on peut ´egalement distinguer deux types d’algorithmes pour g´en´rer des objets :
e-– Algorithme g´en´erateur : ce type d’algorithme utilise un espace de d´epart vide,sur lequel les objets sont ajout´es jusqu’`a obtenir le r´esultat souhait´e
– Algorithme organisateur : ce type algorithme consiste `a placer sur l’espacevide tous les objets de fa¸con al´eatoire, puis `a les r´eorganiser jusqu’`a obtenir
un r´esultat satisfaisant
La philosophie du g´en´erateur est d’essayer d’avoir une m´ethode suffisammentsimple pour ˆetre port´ee facilement vers un autre projet, mais assez r´ealiste pouroffrir des r´esultats cr´edibles C’est donc un algorithme g´en´erateur qui sera utilis´e,pour essayer de retranscrire le mode de construction r´eel des villages
Enfin, certains projets comme le projet de simulation de l’´evolution de la ville deRouen, utilisant une repr´esentation des donn´ees sous forme de grille, ont rencontr´e
un probl`eme d’´echelle tr`es important : les premi`eres versions de leur programmeutilisaient une grille unique, sur laquelle ´etaient repr´esent´es `a la fois l’utilisationdes sols, les routes et les pentes Etant donn´e leur ´echelle (une cellule repr´esentant2,25 hectares), les r´esultats obtenus ´etaient peu r´ealistes puisqu’une route mesuraitalors au minimum 150 m`etres de large, sans possibilit´e de raffiner les donn´ees enaffectant plusieurs types `a une mˆeme cellule Pour la g´en´eration des villages, ceprobl`eme est beaucoup moins important, car l’´echelle est tr`es diff´erente Les villagessont de dimension suffisamment restreinte pour utiliser des cellules dont la largeurcorrespond `a la largeur d’une route ou d’un chemin
Le g´en´erateur n’utilise donc pas plusieurs couches de donn´ees, mais l’algorithmeg´en`ere cependant les diff´erents ´el´ements en respectant la hi´erarchie ´enonc´ee par[Larive 08] : zone urbaine, puis routes, quartiers, blocs et enfin habitations
2.2 R` egles de cr´ eation de villages
Comme vu dans la section 1.1, les r`egles communes `a tous les types de villages, etapplicables `a ceux de la zone d’´etude, sont assez peu nombreuses, mais essentiellespour obtenir un village dont la topologie est proche des villages r´eels Les r`eglesutilis´ees par le g´en´erateur sont les suivantes :
– Le village contient une ou deux routes principales (selon sa largeur), qui letraversent dans sa longueur
– Les routes principales mesurent entre 2 et 4 m`etres de large– Les agencements des routes secondaires ne respectent aucun sch´ema r´egulier :elles suivent les contours chaotiques des quartiers, sans cesse remani´es au gr`esdes partages de propri´et´e et des constructions
– La largeur des routes secondaires ne d´epasse pas 2 m`etres
Trang 252.3 Algorithmes de cr´eation des villages
– Il n’est pas garanti que chaque parcelle d’habitation ait un acc`es direct auxroutes : il peut ˆetre n´ecessaire de longer une habitation voisine pour y acc´eder– On ne trouve pas de rizi`eres `a l’int´erieur du village
– Les quartiers sont d’une longueur comprise entre 30 et 100 m`etres Les tiers longeant la route principale sont souvent privil´egi´es
quar-– Les parcelles d’habitation sont d’une longueur comprise entre 20 et 60 m`etres
de large, pour une surface moyenne de 600 m`etres carr´es– A chaque habitation est associ´ee une mare, dont la taille repr´esente entre uncinqui`eme et un quart de la parcelle
– Une parcelle comprend entre 1 et 4 bˆatiments, regroup´e au centre ou dansl’axe principal de la parcelle
2.3 Algorithmes de cr´ eation des villages
Cette section pr´esente les algorithmes mis en oeuvre par le g´en´erateur de lages L’algorithme 1 constitue la trame principale du programme Les principauxtraitements seront d´etaill´es par la suite
vil-d´ebutChargement des donn´ees d’une commune;
Cr´eation d’une carte vide;
Extraction des contours du village;
Calcul des portes du village (2.3.3);
G´en´eration des routes (2.3.4);
G´en´eration des quartiers (2.3.5);
G´en´eration des parcelles d’habitation (2.3.6);
G´en´eration de l’embase des bˆatiments (2.3.7);
Exportation des r´esultats;
fin
Algorithme 1 : Algorithme g´en´eral du programme
2.3.1 Extraction des donn´ees
Cette ´etape consiste `a copier les donn´ees existantes dans une carte en m´emoire
Chaque type de donn´ees ´etant stock´e dans un fichier diff´erent, et ces donn´ees pouvantˆ
etre stock´ees dans des formats diff´erents, il est imp´eratif de garder en m´emoire las´eparation en couches On aura ainsi un nombre de couches variables, selon les
Trang 26donn´ees disponibles pour chaque village C’est la raison pour laquelle il faut ensuitecr´eer les couches de donn´ees manquantes dans la carte en m´emoire.
Donn´ees : Fichiers de donn´eesd´ebut
pour chaque Fichier de donn´ees faireIdentification du type de donn´ees;
Cr´eation du style correspondant au type de donn´ees;
Cr´eation d’une couche de donn´ees vierge;
Copie des donn´ees existantes sur la nouvelle couche;
Ajout de la couche sur la carte;
finfin
Algorithme 2 : Extraction des donn´ees par couche
2.3.2 Peuplement de la grille
Lors de la cr´eation de la grille, on attribue aux ´el´ements de la grille un typeneutre Cette ´etape consiste `a parcourir la grille case par case pour leur attribuer letype correspondant aux donn´ees r´eelles Pour cela, il faut connaitre les coordonn´eescorrespondantes `a l’´el´ement sur la carte en m´emoire, et chercher dans chaque couche
de donn´ees si quelque chose se trouve `a ses coordonn´ees Il se peut que des objets
de plusieurs couches correspondent `a ces coordonn´ees Pour cela on d´efinit une hi´rarchie permettant de choisir le type `a attribuer `a l’´el´ement La figure 2.1 indiquequels types sont prioritaires par rapport aux autres
e-Figure 2.1 – Hi´erachie des ´el´ements pour le peuplement de la grille (de haut enbas : priorit´e maximale `a minimale)
Trang 272.3 Algorithmes de cr´eation des villages
Donn´ees : Grille vierge, Couches de donn´eesd´ebut
pour chaque Element de la grille faireCalcul des coordonn´ees r´eelles de l’´el´ement pour chaque Couche dedonn´ees faire
V´erifier si l’´el´ement correspond `a un objet r´eelfin
Attribution du type correspondantfin
fin
Algorithme 3 : Peuplement de la grille
2.3.3 Calcul des portes du village
Le calcul des portes du village permet de fixer des points de d´epart et d’arriv´eepour la g´en´eration des routes Cette ´etape est fondamentale pour la g´en´eration desroutes, car sans points de rep`ere fiables, la g´en´eration des routes principales estbien trop chaotique et al´eatoire pour acqu´erir un caract`ere r´ealiste Cet algorithmeest pr´evu pour des villages n’exc´edant pas les largeurs observ´ees dans les ´etudesd´ecrites en 1.1.2, il s’adapte alors en g´en´erant `a chaque extr´emit´e du village une oudeux portes
Donn´ees : Contours du villaged´ebut
Calcul de la dimension principale du village Calcul des extr´emit´es ducontour dans la dimension principale Placement des deux portes auxextr´emit´es si La largeur du village d´epasse deux blocs alors
Dupliquer les portes Ecarter les deux portes de chaque extr´emit´efin
fin
Algorithme 4 : Calcul des portes du village
2.3.4 G´en´eration des routes principales
La g´en´eration des routes principales s’appuie sur les portes cr´e´ees pr´ec´edemment
Le but est de cr´eer des routes r´eguli`eres, si possible droites, ou divis´ees en tron¸consdroits L’utilisation d’un algorithme simple permet d’obtenir ce r´esultat, tout enpermettant, dans le cas d’un village large, d’obtenir `a coup sˆur deux routes similaires,donc (quasi) parall`eles
Trang 28Pour guider la g´en´eration de la route, on calcule un point central par lequel elledevra passer, correspondant au centre de gravit´e des portes.
Donn´ees : Contours du village, portes du villaged´ebut
pour chaque Couple de portes faireCalcul du centre de gravit´e des deux portes pour chaque Porte faireG´en´eration de route du centre vers la porte
finfinfin
Algorithme 5 : G´en´eration des routes principales
2.3.5 G´en´eration des quartiers
La g´en´eration des quartiers se fait par propagation Pour chaque nouveau quartier
`
a g´en´erer, on choisit un point d’origine disponible parmi les cellules libres du village
Le point est choisi en fonction de sa proximit´e avec les routes, par cons´equent lespremiers quartiers seront construits au bord de la (des) route(s) principale(s) Celapermet par ailleurs de privil´egier la taille des quartiers situ´es le long de la routeprincipale, comme c’est le cas dans la r´ealit´e
Donn´ees : Villaged´ebut
tant que Il existe des cellules du village vierges faireChercher les cellules les mieux desservies par la route pour chaqueCellule choisie faire
Propager quartier `a partir de la cellulefin
finNettoyage des artefacts de g´en´erationfin
Algorithme 6 : G´en´eration des quartiers
Trang 292.3 Algorithmes de cr´eation des villages
A partir du point choisi, on applique un algorithme de g´en´eration du quartierpar propagation
Donn´ees : Village, point d’origined´ebut
Choix d’un voisin le long de la route tant que Taille du quartier < taillemaximale faire
Propagation le long de la route dans la direction du voisin choisifin
tant que Aire du quartier < Aire maximale fairepour chaque Cellule appartenant au quartier faireChoix d’un voisin dans la direction perpendiculaire `a la route si Levoisin respecte les contraintes du village alors
Ajouter le voisin au quartierfin
finfinfin
Algorithme 7 : Propagation d’un quartier
La derni`ere ´etape de g´en´eration des quartiers consiste `a effacer les artefactsissus de la g´en´eration On analyse pour cela chaque quartier, principalement parrapport au nombre de cellules le composant Si le quartier est trop petit, il peut ˆetretransform´e en mare, route, ou rattach´e `a un quartier existant
2.3.6 G´en´eration des parcelles d’habitation
La g´en´eration des parcelles utilise le mˆeme principe que la g´en´eration des tiers On essaie de choisir un point correspondant `a un coin du quartier (nombre de
Trang 30quar-voisins de type ”route” maximal), `a partir du quel on fait grandir la parcelle Unefois la parcelle cr´e´ee, on en transforme une partie en mare.
Donn´ees : Villaged´ebut
pour chaque Quartier fairetant que Il reste des cellules libres faireChoisir la cellule ayant le plus de voisins de type ”route” G´en´ererune parcelle par propagation
finpour chaque Parcelle faire
si La taille de la parcelle est insuffisante alors
si Une parcelle voisine est suffisamment grande alorsAnnexer une partie de la parcelle voisine
sinonFusionner la parcelle avec la plus petit parcelle voisinefin
finfinpour chaque Parcelle faireTransformer une partie de la parcelle en marefin
finfin
Algorithme 8 : G´en´erations des parcelles
2.3.7 G´en´eration de l’embase des bˆatiments
Placer l’embase d’un bˆatiment peut se faire simplement en attribuant un type
”bˆatiment” `a une ou plusieurs cellules de la parcelle, selon la r´esolution de la grille Lechoix des cellules concern´ees se fait de mani`ere al´eatoire, en essayant au maximum deconserver les bˆatiments au centre de la parcelle La taille des bˆatiments est relative `a
la taille de la parcelle Il en est de mˆeme pour les mares, `a ceci prˆet que le g´en´erateuressaye de r´eunir les mares voisines, ce qui explique la pr´esence de tr`es grandes maresdans certains quartiers Ces mares repr´esentent les anciennes mares communes duvillages, divis´ees au fil du temps entre les propri´etaires des terrains voisins
Trang 31Chapitre 3
Mise en oeuvre de l’approche
Cette partie est consacr´ee `a la mise en oeuvre de l’approche pr´esent´ee en 2 Lasection 3.1 pr´esentera les d´etails de l’impl´ementation, et la partie 3.2 mettra en avantles exp´erimentations r´ealis´ees et les r´esultats obtenus
3.1 Impl´ ementation
Le programme d´evelopp´e est con¸cu pour fonctionner ind´ependamment de la teforme GAMA Le d´eveloppement s’est fait sous Eclipse, avec l’utilisation de labiblioth`eque GeoTools 2.5.4
pla-L’architecture globale du programme suit le mod`ele MVC, ce qui garantie lapossibilit´e de reprendre facilement les traitements effectu´es pour les int´egrer `a unautre projet Le projet se compose de trois paquets, comme l’illustre la figure 3.1
Figure 3.1 – Diagramme de paquets du programme
Le paquet GUI a pour seule tˆache d’assurer l’affichage des cartes `a l’´ecran, que
ce soit la carte vectorielle ou la grille hexagonale Le paquet ShapeTools contient lesfonctions n´ecessaires `a la lecture/´ecriture des fichiers de donn´ees, et divers traitementcomme le d´ecoupage de cartes Les traitements sp´ecifiques `a la g´en´eration des village
se trouvent dans le paquet Generator, d´etaill´e dans la figure 3.2 La grille est en faitune liste d’´el´ements (ou cellules) Le village lui-mˆeme est la jonction des quartiers,des routes et des mares (communes) qui le composent Les quartiers sont compos´es
de parcelles, elles-mˆemes compos´ees de mares, de cultures et d’habitations Tous les
´el´ements ext´erieurs au villages non assimil´es `a des routes ou des cours d’eau existantspeuvent ˆetre assimil´es `a des rizi`eres, travers´ees r´eguli`erement par des petits chemins
de terre, g´en´eralement de seulement quelques dizaines de centim`etres de large Lafigure 3.3 donne un diagramme de s´equence du d´eroulement du programme La
Trang 32section 3.2 pr´esente des r´esultats de g´en´eration `a diff´erentes ´etapes, et les principalesdifficult´es rencontr´ees.
3.2 Etapes de la g´ en´ eration des villages
3.2.1 Lecture et traitement des donn´ees
Les donn´ees fournies par le CIRAD se pr´esentent sous forme de fichiers Shapefile
La biblioth`eque GeoTools contient les outils n´ecessaires `a la lecture de ce type defichiers La lecture des donn´ees renvoie une liste des objets d´ecrits dans le shapefile,ainsi que leur position Cette ´etape a soulev´e deux probl`emes d´ecrits ci-dessous
La projection des donn´ees La projection des donn´ees fournit un r´ef´erentielterrestre aux objets d´ecrits dans le shapefile, ainsi qu’une unit´e de mesure Dans lecas des donn´ees concernant le Vietnam, la plupart des fichiers ne comportaient pas
de projection, et les projections existantes ´etaient inexploitables (longueurs donn´ees
en degr´e par exemple) Il a donc fallu dans un premier temps identifier les projectionsexistantes, puis cr´eer des projections exploitables pour l’ensemble des donn´ees
Les donn´ees utilis´ees au final utilisent la projection EPSG :3405, standard deprojection pour cette zone du globe
Donn´ees incoh´erentes Certains fichiers de donn´ees, en particulier celui nant les routes, contenait quelques donn´ees incoh´erentes En effet, certaines routes,d’apr`es ce fichier, reliaient le Vietnam `a un point du globe situ´e `a plusieurs cen-taines voire milliers de kilom`etres, en ligne droite Les cartes 3.4 et 3.5 illustrent cesdonn´ees aberrantes
concer-Pour corriger ces donn´ees, une fonction particuli`ere a ´et´e ´ecrite, conserv´ee dans
le code final en cas de besoin d’un traitement similaire La figure 3.6 montre la carte3.4 apr`es correction
La g´en´erateur utilise la hi´erarchie de fichier illustr´ee par la figure 3.7 Le dossier
”shapefile” contient l’ensemble des donn´ees utilis´ees `a l’´echelle du pays Pour rendre
le traitement plus pratique, les communes concern´ees par le projet ont ´et´e extraites
`
a l’avance Le dossier ”Communes” contient un r´epertoire pour chaque commune,chacun contenant un fichier shapefile par type de donn´ees Les fonction utilis´eespour extraire les communes sont conserv´ees dans le code final en cas de besoin d’untraitement similaire Des cartes dessin´ees `a partir des donn´ees de chaque communesont donn´ees en annexe B
Bien que la version finale du g´en´erateur se contente de lire les donn´ees situ´ees
de le r´epertoire ”Communes”, les fonctions utilis´ees pour lire et extraire les donn´eessont toujours disponibles dans le code Ainsi, le g´en´erateur contient les fonctionscapables de lire n’importe quel fichier shapefile, d’en modifier la projection, d’enextraire une partie des donn´ees `a partir de n’importe quel attribut des objets d´ecritdans le shapefile, d’enregistrer ces donn´ees dans un nouveau fichier, et de filtrer lesdonn´ees les donn´ees par rapport `a leurs coordonn´ees
Trang 333.2 Etapes de la g´en´eration des villages
Figure 3.2 – Diagramme de classes du paquet Generator
Trang 34Figure 3.3 – Diagramme de s´equence du programme
Trang 353.2 Etapes de la g´en´eration des villages
Figure 3.4 – Routes incoh´erentes quittant le Vietnam
Trang 36Figure 3.5 – Routes incoh´erentes vues en entier
Trang 373.2 Etapes de la g´en´eration des villages
Figure 3.6 – Carte routi`ere du Vietnam apr`es correction