AccueilDemarcheLogicielApplicationsBiblioFormationReseaux

 

 

 

 

 

Test Spatial Entities : TSE

Test des entités spatiales agrégatives de Cormas

Christophe Le Page, Pierre Bommel, Cirad

(Voir aussi la page Demo_aggregates)

Ce modèle illustre les principes d'utilisation des entités spatiales agrégatives de Cormas. Dans l'arbre d'héritage des entités spatiales génériques de Cormas, l'entité spatiale composée "SpatialEntity_Set" se spécialise en :

  • "SpatialEntityAggregate", dont les composants respectent une contrainte de contiguïté
  • "SpatialEntityNotConnex", dont les composants peuvent être disjoints.

 

La première (Spreading of 3 forests: initForests & stepForests) consiste à définir les composants (Groves) comme des ensembles de cellules contigües partageant une même condition. On commence par charger une grille de 50*50 cellules de type "Plot" dont l'attribut "tree" est un booleén. La création des entités spatiales composées "Grove" est soumise à une contrainte supplémentaire sur le nombre minimum (fixé à 25) de composants contigüs vérifiant la condition d'agrégation.

Faire co-exister dans le même modèle des entités spatiales définies à différents niveaux offre une grande souplesse pour écrire les méthodes de dynamique de la végétation. Certains processus seront plus facilement décrits au niveau cellulaire, d'autres au niveau agrégé. Ainsi, dans cet exemple théorique simpliste,

  • chaque cellule a une probabilité fixée (très faible) de changer d'état #trre (newState).
  • Une dynamique d'expansion par la lisière des agrégats (expand) est écrite de la façon suivante: un certain nombre (correspondant au centième du total des cellules composants l'entité forestière) de cellules en lisière vont être intégrées à la forêt. Dans le but de garder une certaine compacité aux entités forestières, on choisit en priorité les cellules de la lisière qui sont entourées du plus grand nombre de cellules déjà agrégées.

Un deuxième niveau d'agrégation (FragmentedEntity) est également modélisé. Ces agrégats de deuxième ordre sont composés d'agrégats de premier niveau dont la taille est supèrieure à 50. Nous obtenons alors une hiérarchie d'agrégation, depuis le niveau élémentaire jusqu'aux agrégats de deuxième niveau.

First level point of view
(Cell => povTree)
Second level point of view
(Aggregate => povId)
Third level point of view
(FragmentedEntity => povTree)

La seconde (setSingletonAggregatesFromRandomSeeds  & swellForests) consiste à partir de 30 cellules "graines"et à créer autant d'agrégats initialement constitués d'un seul composant: une graine. Le processus itératif de construction des agrégats repose sur l'intégration, parmi les cellules en lisière, de toutes celles qui n'appartiennent pas encore à un autre agrégat. Il y a deux façons de construire les agrégats à partir des "graines" :

  • une façon progressive (init= setSingletonAggregatesFromRandomSeeds and control = swellForests:) :

  • Expansion progressive (swellAggregates)

  • et une façon rapide (la partition de l'espace est complète en un seul coup) :
    • [init=setAggregatesFromRandomSeeds] construit 30 groves faites 80 (max) plots à partir de 30 graines aléatoires. La taille de chaque agrégate doit suivre une distribution de taille (#(30 80)) =  30 bois de taille 80 :


    • ou une distribution de type sizeDistribution: #(#(1 800) #(5 30) #(4 3) #(20 10)) = 1 bois de 800 cells,  5 de 30 cells , 4 bois de 3 cells et 20 bois de 10 cells :
    • ou [init=setAggregatesFifthFourth] construit une partition complète de l'espace en segmentations régulières: 4 lignes et 5 colonnes.

How to run this model...

 

 


Le Cirad Centre de coopération internationale en recherche agronomique pour le développement
Informations légales © Copyright Cirad 2001-2015 cormas-webmaster@cirad.fr