• Aucun résultat trouvé

C.5. Un modèle formel de contraintes de généralisation

C.5.3. Proposition de modèle formel de contraintes de généralisation

Nous proposons donc dans CollaGen de formaliser les contraintes de généralisation dans un modèle orienté objet (comme dans AGENT) qui reprend, formalise et complète le formulaire issu du projet EuroSDR (Figure C-27). Ainsi, une contrainte de généralisation est un objet de la classe Contrainte de Généralisation, caractérisé par son nom, son importance, le concept de l’ontologie concerné, le caractère sur lequel elle porte, un type d’expression, un critère de sélection et enfin un espace d’application. Afin d’expliquer et d’illustrer ce modèle, nous allons utiliser cinq contraintes :

(C1). L’aire des bâtiments doit être supérieure ou égale à 0.2 mm² carte.

(C2). Un bâtiment presque parallèle à une route (angle < 15°) doit être rendu parfaitement parallèle.

(C3). En zone de montagne, les bâtiments doivent garder leur altitude à 20 m près. (C4). Les alignements de bâtiments doivent être maintenus.

Figure C-27. Vue générale du diagramme de classe UML de notre modèle formel de contraintes de

généralisation.

Tout d’abord, Contrainte de Généralisation est une classe abstraite et une contrainte est donc un objet d’une des quatre classes qui en héritent, Contrainte Micro, Contrainte Meso, Contrainte Relationnelle et Contrainte Macro. Si l’on reprend nos quatre exemples, (C1) est une contrainte micro, (C2) et (C3) sont des contraintes relationnelles (relation d’orientation relative entre bâtiment et route et relation d’altitude entre bâtiment et relief), (C4) est une contrainte meso et (C5) est une contrainte macro. Le nom de la contrainte doit désigner si possible sans ambiguïté la contrainte. Par exemple, le nom de (C1) pourrait être « aire minimum des bâtiments ». L’importance donne une évaluation de l’importance de la contrainte dans le résultat final (définition reprise de (Ruas, 1999)) : si une contrainte peu importante est non satisfaite après la généralisation, cela n’influencera que peu l’évaluation de la généralisation. L’importance, comme le proposait (Ruas, 1999) est un entier compris entre 1 (peu important) et 5 (très important).

Le concept géographique fait directement référence à un concept de l’ontologie. Dans le cas des contraintes relationnelles, ce concept est une relation géographique de l’ontologie à laquelle nous ajoutons les deux concepts concernés par la contrainte. Le caractère de la contrainte est également tiré de l’ontologie, il s’agit d’un des caractères définis dans l’ontologie sur le concept. Pour (C1), le concept est « bâtiment » et le caractère « aire ». Pour (C2), le concept est « relation d’orientation relative » entre les concepts « bâtiment » et « route » et le caractère « différence d’orientation principale » (qui traduit l’idée de parallélisme) ; ce cas montre comment le modèle force (et aide) à formaliser des contraintes dont l’intitulé est flou. Pour (C3), le concept est « relation d’altitude » entre les concepts « bâtiment » et « champ relief » et le caractère « altitude ». Pour (C4), le concept est « alignement de bâtiments », concept meso de l’ontologie et il n’y a pas de caractère concerné puisqu’il ne s’agit pas d’une propriété de l’alignement mais de son existence même après la généralisation. Enfin, pour (C5), le concept est « tronçon de cours d’eau » mais la contrainte concerne la population des objets de ce concept et le caractère est une propriété de population, la « quantité de longueur ». Les caractères macro ne sont pas issus de l’ontologie : un choix restreint est proposé en fonction du type de géométrie de la population (par exemple, « quantité en surface » et « quantité en nombre d’objets » pour les populations surfaciques et seulement « quantité en nombre d’objets » pour les populations de géométrie ponctuelle).

Le Type d’expression de la contrainte

Le corps de la contrainte réside principalement dans son type d’expression. La Figure C-28 montre plus précisément le modèle que nous avons adopté pour les types d’expression de contrainte de généralisation. Les contraintes de différents types s’expriment à l’aide d’un opérateur, sur une propriété d’un type d’objet, exprimée dans une unité. En nous appuyant sur les contraintes exprimées durant le projet EuroSDR et sur l’expérience des recherches passées au laboratoire, nous avons recensé cinq types d’expression différents pour les contraintes de généralisation :

− Seuil : caractère.valeur() motClévaleurunité ( (C1) : aire.valeur() >=0.2mm² carte)

− Marge : caractère.valeur() motClé caractère.valeurInitiale() à valeur% près ( (C3) : altitude.valeur() = altitude.valeurInitiale() à 15% près)

− Configuration : conceptMeso motClé ((C4) : alignement de bâtiment maintenu)

− Contrôle : caractère.valeur() (motClé valeur unité) = faux (par exemple pour les routes, empâtement.valeur() ne doit pas être >0sans unité)

− Réduction : caractère.valeur() motClé caractère.valeurInitiale() * valeur / 100 ((C5) : quantité longueur.valeur() = quantité longueur. valeurInitiale () * 80 / 100)

Figure C-28. Diagramme UML plus détaillé du type d’expression d’une contrainte.

On peut noter sur la Figure C-28 que l’énumération des valeurs possibles de mots clés ne se limite pas aux simples =, >, <. D’autres mots clés ont été ajoutés pour plus d’expressivité. Ainsi, similaire peut être utilisé dans les expressions de marge pour des contraintes volontairement floues (sans marge précise) comme par exemple « la forme de la forêt doit être similaire à la forme initiale ». L’utilisateur peut ainsi exprimer des contraintes avec deux niveaux de spécialisation suivant ses connaissances du résultat qu’il souhaite. S’il sait précisément comment doit être contraint son résultat, il peut contraindre la forme par des contraintes de type Marge sur l’élongation ou la concavité ; s’il n’a qu’une connaissance floue de ce qu’il souhaite, il peut utiliser le mot clé similaire sur le caractère de forme (l’élongation est une propriété de forme dans l’ontologie). Les quatre autres mots clés sont réservés aux expressions de configuration : maintenu signifie que le concept meso est maintenu quand il existe à l’état initial ; interdit signifie que le concept meso ne doit pas apparaître dans les données généralisées (par exemple, les carrefours complexes type rond-point ou patte d’oie sont interdits signifie qu’il ne doivent plus être visibles de manière implicite ou explicite sur la carte finale) ; doit être évité est une version plus nuancée de interdit, car certaines exceptions sont

tolérées ; enfin doit être forcé concerne les concepts meso qui n’existent pas à l’état initial et que l’on veut voir apparaître de manière explicite dans la carte finale.

On peut noter également que nous proposons une formalisation des unités pour permettre ensuite des conversions automatiques simples dans le paramétrage des processus. Les valeurs de l’expression peuvent être sans unité, en unité carte (mm ou mm²), en unité terrain (m ou m²) ou en unité angulaire (degrés).

Ce modèle de type d’expression permet de couvrir un panel assez exhaustif des contraintes, du moins dans notre cas d’application des cartes topographiques. Une perspective serait d’essayer d’exprimer encore plus de contraintes dans ce modèle pour tester sa flexibilité et d’éventuellement l’enrichir le cas échéant. En effet, (Bard, 2004) propose, dans le cadre de l’évaluation de la généralisation par ses contraintes, d’exprimer le comportement attendu de la contrainte sous la forme d’une fonction d’évaluation. Cette fonction d’évaluation donne la valeur attendue du caractère contraint en fonction de sa valeur initiale. Ces fonctions d’évaluation sont donc un moyen plus fin pour modéliser le type d’expression d’une contrainte. Si nous prenons l’exemple de (C1), une fonction d’évaluation permet d’en exprimer une version plus fine qui va permettre de maintenir au mieux les différences initiales d’aire (Figure C-29). Un enrichissement de ce modèle serait donc de laisser la possibilité à l’utilisateur de saisir une fonction d’évaluation comme type d’expression de sa contrainte quand il souhaite en faire une description avancée.

Figure C-29. Exemple de fonction d’évaluation décrivant plus finement l’expression de la contrainte (C1).

Critère de sélection et restriction

Par ailleurs, notre modèle formel de contraintes comprend également un critère de sélection associé à chaque contrainte qui correspond au champ « condition for object being concerned by constraint » du formulaire EuroSDR. Ce critère de sélection permet de ne définir une contrainte que sur une partie des objets correspondant à un concept. Nous avons modélisé ce critère de sélection comme une suite de requêtes spatiales et/ou attributaires sur les objets du concept. Par exemple, le critère de sélection de la contrainte « les bâtiments à moins de 0,5 mm carte d’une route et parallèle à 15° près de cette route doivent être adjacents » est composé de deux requêtes sélectionnant les relations d’orientation relative bâti-route dont le caractère distance est inférieur à 0,5 mm carte et les relations d’orientation relative bâti-route dont le caractère différence d’orientation est inférieur à 15°. La modélisation de la requête est faite sur le même modèle que les expressions de contrainte de type seuil avec en plus une tolérance possible autour de la valeur. Des cinq exemples de contraintes, seule (C2) présente un critère de sélection qui s’exprime par une requête sur les relations d’orientation relative bâti-route dont le caractère différence d’orientation est inférieur à 15°. Pour

toutes les autres contraintes, tous les objets correspondant au concept de la contrainte sont contraints. Le critère de sélection est utilisé quand CollaGen cherche les objets concernés par la contrainte : ne sont gardés que les objets correspondant au concept de la requête dont le caractère vérifie la requête.

Figure C-30. Diagramme UML plus détaillé des critères de sélection d’une contrainte.

Enfin, une contrainte de généralisation est liée à un dernier élément de modélisation, l’espace d’application. En effet, une contrainte peut n’être définie qu’à l’intérieur de certains espaces géographiques et pas ailleurs. Cela peut être dû au fait que la contrainte n’a pas de sens ailleurs que dans l’espace géographique. Par exemple, la contrainte relationnelle « un bâtiment sur un sommet doit rester sur le sommet » n’a pas de sens en dehors des espaces de montagne car il n’y a pas de sommet en dehors de ces espaces (cette affirmation dépend toutefois de la définition admise d’un sommet et d’un espace de montagne). La notification d’un espace d’application peut aussi être due à une limitation opérationnelle : la contrainte a un sens partout mais chercher à la satisfaire partout n’a pas de sens, car cela rendrait plus difficile de trouver une solution satisfaisant toutes les contraintes, tout en n’améliorant que peu la qualité de la carte. (C3) est la parfaite illustration de ce fait, car maintenir l’altitude d’un bâtiment a un sens partout sur la carte, mais quel est l’intérêt de satisfaire cette contrainte dans une zone plate où les courbes de niveau sont très espacées et peu visibles (d’autant que les procédures mises en œuvre pour le calcul de cette contrainte sont gourmandes en temps et en volume) ? Nous nous contentons donc dans ce cas de restreindre cette contrainte aux espaces pour lesquels sa violation fait baisser la qualité de la carte généralisée. Il peut exister un autre cas pour lequel nous pouvons restreindre l’espace d’application, celui d’une contrainte dont nous savons par avance que le système n’arrivera jamais à la satisfaire dans certains espaces donc elle est appliquée seulement aux autres espaces. Pour illustrer ce cas, nous pouvons prendre l’exemple de la contrainte de positionnement relatif d’un bâtiment par rapport à une impasse. Cette contrainte peut être satisfaite dans les zones moyennement ou peu denses en bâtiments et routes comme les espaces périurbains, ruraux ou de montagne mais elle ne serait satisfaite qu’exceptionnellement en espace urbain où la priorité est la gestion des contraintes de taille et de proximité des objets.

En résumé, nous proposons un modèle formel orienté objet des contraintes de généralisation basé sur la classification micro/meso/macro/relationnel. Une contrainte de généralisation porte sur un concept et un de ses caractères, s’exprime formellement sous une des cinq formes proposées, peut posséder un critère de sélection et peut porter sur un espace d’application restreint. Ce modèle permet de formaliser une grande partie des spécifications existantes d’une carte topographique généralisée. Le formalisme peut être étendu si on se rend compte qu’il n’est pas suffisant pour l’expression de nouvelles contraintes.