line oid shape quality tmin tmax 1023 (0,0),(4,0),(6,2) 1 12jan 20feb 1023 (0,0),(4,0) 1 20feb l4apr 1268 (4,0), (6,2) 1 20feb MAX_T 1023 (0,0),(4,0) 2 I4apr MAX_T de lock-tabel. Dit is alleen mogelijk in het geval dat er geen andere werkbestanden het opgevraagde gebied overlappen voor wat betreft de thema's die ter mutatie zijn geselec teerd. De database wordt van de ene (topologisch gezien) consistente toestand naar de andere gebracht gedurende een check-in (mutatie). Het is belangrijk dat alle verande ringen binnen eenzelfde check-in dezelfde tijdsmarkerin- gen krijgen toebedeeld in tmin/tmax. Deze architectuur heeft ook het voordeel dat een annuleer operatie (rollback) op hoog niveau eenvoudig mogelijk is. Wat moet worden geblokkeerd wanneer een gebruiker een rechthoekig werkgebied specificeert? Natuurlijk alle rele vante gegevens die geheel binnen de rechthoek vallen. Ob jecten die de grenzen van het werkgebied overschrijden, kunnen ook worden geblokkeerd, maar dit zou dan een groot deel van de database kunnen beïnvloeden. Andere gebruikers zullen voor een verrassing komen te staan bij de check-out van een nieuw niet-over- lappend gebied (rechthoek). Dit kan zelfs onmogelijk blijken door langge rekte objecten die reeds geblokkeerd zijn. Daarom is het concept van ge deeltelijke blokkering geïntroduceerd: de coördinaten van het lijnsegment dat de grens van het werkgebied over schrijdt, mag wel worden geselecteerd maar niet worden veranderd. Samen met het feit dat rechthoekige werkge bieden elkaar nooit mogen overlap pen, impliceert dit dat de verande ringen van de edges en faces, die de grenzen van twee werkgebieden over schrijden, in de database moeten wor den samengevoegd. Daarom behoeven deze objecten niet te worden geblok keerd, maar moeten worden inge- checked met extra voorzichtigheid. Het is mogelijk dat twee check-ins Fig. 4. De „line" 1023 wordt in twee delen gesplitst. Fig. 5. Een lastige check-in van twee werkgebieden. hetzelfde object willen veranderen (fig. 5). Als men niet oplet en beide check-ins vervangen het object, dan wordt alleen de tweede versie opge slagen en gaat de eerste verloren. Om deze reden moeten de volgende stap pen in acht worden genomen voor elk veranderd object dat de grens van het desbetreffende werkgebied passeert: haal het betreffende object opnieuw uit de database op en leg een „write lock"op dit object; als er andere veranderingen hebben plaatsgevonden, vermeng deze dan met de veranderingen in versie van het object in het huidige werkge bied; voer de nieuwe samengevoegde ver sie van het betreffende object op in de database en hef de write lock op. De oplossing om eventuele deadlocks te voorkomen, is om alle check-ins in volgorde te verwerken (check-in wachtrij). Fouten uit het verleden als gevolg van het verzamelen of invoeren van ge gevens is een lastig probleem. Zouden we deze fouten moeten corrigeren door de historie te veranderen (tmin/ tmax)? Vanwege eventuele consisten tieproblemen is besloten dit niet te doen. Een alternatief is om foutobjec- ten te markeren door er een additio neel attribuut aan toe te kennen: error- 3 yJ Ey 266 1997-6 GEODESIA NIEUW splitsing Blokkeren van een werkgebied Fouten en verbeteringen Splits X en Vervang V door W rechthoekig werkgebied 1 (out) rechthoekig werkgebied 2 (out) X NIEUW rechthoekig werkgebied 1 (in) rechthoekig werkgebied 2 (in)

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

(NGT) Geodesia | 1997 | | pagina 18