Deze modelleerstap waarbij voor iedere schaal een UML- klassediagram is vervaardigd op basis van huidige product specificaties, was bedoeld om de inhoud per afzonderlijke schaal weer te geven. Maar ook om aan te geven aan welke eisen een specifieke schaal als generalisatie-output moet voldoen. Deze eisen zijn in het huidige handmatige gene ralisatieproces vastgelegd in generalisatiespecificaties [Ka daster, 2005], bijvoorbeeld minimale dimensies van een gebouw. Om inzicht te krijgen in het modelleren van het gencralisatieproces, is een aantal van deze generalisatiespe cificaties als geldigheidscondities in OCL-constraints (voor waarden) gemodelleerd. OCL-constraints kunnen aan een LlML-lclassediagram (of toestandsdiagram) worden toegevoegd om extra semantiek aan een informatiemodel te geven. Wat de OCL-constraints voor de valide toestand van een dataset betreft hebben we in ons onderzoek vier typen constraints onderscheiden: 1. constraints op ieder object van een bepaalde objectklasse (bijvoorbeeld minimale oppervlak van een gebouw); 2. constraints op twee objecten van eenzelfde objectklasse (bijvoorbeeld minimale afstand tussen twee gebouwen); 3. constraints op twee objecten van verschillende object klassen (bijvoorbeeld minimale afstand tussen gebouw en weg); 4. constraints op een groep van objecten van een bepaalde objectklasse (bijvoorbeeld maximale bedekkingsgraad voor gebouwen op terreinvlakken van type 'overig' op schaal 1:50.000). Fig. 2 laat zien hoe deze OCL-constraints er in een UML-klas sediagram uitzien. Om deze constraints te modelleren zijn conceptionele relaties (in UML 'associaties') nodig. In IMTOP hebben we deze relatie 'ruimtelijke relatie' genoemd, in fig. 2a aangeduid met Al en A2. Stap 2: Integreren van informatiemodellen op de verschillende schalen Het 'domweg' samenvoegen van de afzonderlijke UML-in- formatiemodellen door relaties te leggen tussen dezelfde objectklassen op verschillende schalen was geen optie voor het vervaardigen van een overkoepelend UML-model, omdat hierbij niet duidelijk wordt gemaakt wat er gebeurt met ob jectklassen hij schaalovergangen. Soms gaat het hierbij zelfs om introductie van nieuwe informatie, zoals 'rotonde', als Fig. 2. Voorbeeld van OCL-constraints in UML-klassediagram voor ohjectklassen gebouw en weg ('building' en 'road'). mogelijke attribuutwaarde voor een wegdeel (kruising) met als geometrie 'punt' op schaal 1:50.000. Voor de inte gratie van de inlbrmatiemodellen op de verschillende schalen hebben we in ons onderzoek drie alternatieven na der bekeken, waarvan er nu twee ver der worden beschreven. In het eerste alternatief (waarvan de principes zijn uitgewerkt in fig. 3 voor de objectklasse wegdeel) wordt voor iedere objectklasse een abstracte su perklasse gemodelleerd, die de attribu ten en attribuutwaarden bevat die in principe geldig zijn voor alle schalen (overgenomen uit de grootste schaal; TOP10NL in ons geval). Vervolgens wordt er voor iedere schaal eenzelfde objectklasse gedefinieerd die alle ei genschappen overerft van de abstracte objectklasse. Bovendien wordt tussen objectklassen op de kleinere schalen een 'is afgeleid van -relatie gelegd met de objectklassc van de schaal erboven. De schaalspecifieke objectklassen heb ben drie soorten attributen: a) afgeleide attributen (aangeduid met in UML) om aan te geven dat het attribuut is afgeleid van een grotere schaal. Hoewel dit met expressies mogelijk zou zijn, is op dit moment nog niet aangegeven hoe deze aflei ding plaatsvindt. b) op een schaal nieuw ingevoerde at tributen en attribuutwaarden, zoals 'afrit' in TOP50NL in fig. 3. c) attributen uit de superklasse die vanaf deze schaal niet meer voorko men. Dit wordt aangeduid met de notatie 'attribuutnaam: Type[0j', zo als 'verhardingsBreedte' in TOP50N1. en TOP100NL in fig. 3. In het tweede alternatief is het onder liggende meta-model van UML uitge breid met het multi-schaal-concept Een «MultiScale» stereotype is gede finieerd om aan te geven dat een attri buut verschillende representaties heeft op verschillende schalen. Vervolgens kan worden aangegeven welke repre sentatie op welke schaal geldig is met behulp van 'minScale' en 'maxScale' tags op attribuutniveau (zie tig. 4). In tig. 4 zijn alle attributen onder «MultiScale» aangeduid als multi- schaal-attribuut. Voor het attribuut 'geometrySurface' zijn de 'tagged' waarden getoond. Dit alternatief heeft nadelen. Ten eerste zijn de 'tagged' waarden alleen zichtbaar in de GUI class Imtop «FeatureTyp... +bd +rd «FeatureTyp,., +bd1 top50nl::Building top50nl::Road h..* 1..* +bd2 A2 ifi' Association Properties fSc| Gtnoud C«wMir« f. «pst Rota CemtrroK. TOK-X-01 T yt*. MS v coMwt iooW 8uW^j ;~Mininwdifl#K«betv«i«eotK^ j ObJ O fliTl a. UML-klassediagram voor objectklasse gebouw (building) en weg (road) b. Verschijningsvorm van OCL constraint in UML-modelleersoftware context top 50::Building inv: - - Minimum distance between buildings - - is 0.2 mm in the map Distance (self.Geometry,bd2.Geomctry)>-0.2 context top 50::Building inv: - - Building and Road should - - be disjoint Disj oint (self.Geometry,rd .Geometry) c. Voorbeeld van OCL constraint op twee objecten van dezelfde klasse (op associatie A2) d. Voorbeeld van OCL constraint op twee objecten van verschillende klasse (op associatie Al) GEO-INFO 2008-10

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

Geo-Info | 2008 | | pagina 20