Gebruik van verschilbestanden
Inhoud Gebruik van verschilbestanden 1 Inhoud 2 1 Verschilbestanden 3 1.1 Inleiding 3 1.2 Bestanden en identificatoren 3 1.3 Onderzoeken waar de actuele versie verschilt van de vorige 3 1.4 Een vorige versie actualiseren 4 2 Voorbeelden 5 2.1 Voorbeeld 1: Kadastrale percelen: opsplitsing van 1 perceel in 3 percelen 5 2.2 Voorbeeld 2: Gebouwen: veranderingen aanwezigheid/verschijningsvorm van een gebouw 6 2.3 Voorbeeld 3: wijzigingen in VHA-waterloopsegmenten (VHAS) 8 3 Ondersteuning 10 2 / 10 Gebruik verschilbestanden 25/07/2014 11:06
1 Verschilbestanden 1.1 Inleiding Voor de geografische entiteiten van een aantal productdatasets worden verschilbestanden ter beschikking gesteld. De twee verschilbestanden van een productentiteit bevatten de wijzigingen of het verschil tussen de nieuwe situatie van de datasets ten opzichte van de vorige dataset-versie, op exemplaar-niveau. Je kan verschilbestanden gebruiken om: te onderzoeken waar de actuele versie van de dataset verschilt t.o.v. de vorige (welke exemplaren zijn er toegevoegd, verwijderd of zijn er gewijzigd t.o.v. de vorige versie) een vorige, gebiedsdekkende versie van een productentiteit van een dataset te actualiseren door alleen de wijzigingen t.o.v. de vorige versie door te voeren. 1.2 Bestanden en identificatoren De twee verschilbestanden zijn het delete-bestand en het add-bestand. Het delete-bestand is een lijst met de identificator van de verwijderde of vervangen exemplaren. Vervangen exemplaren zijn exemplaren waarvan een nieuwe verschijningsvorm in de nieuwe dataset-versie is opgenomen. Een nieuwe verschijningsvorm ontstaat als een niet-identificerende eigenschap van dat exemplaar is gewijzigd. In het add-bestand zijn nieuwe exemplaren of nieuwe verschijningsvormen van exemplaren opgenomen. Dit bestand heeft dezelfde datastructuur (geometrie-types en velden) als de originele productentiteit. Ten behoeve van het identificeren van nieuwe, gewijzigde of verwijderde exemplaren wordt gebruik gemaakt van de waarde van een identificator, nl. de. Deze identificator verwijst naar een verschijningsvorm van exemplaren die aanwezig zijn (of zijn geweest) in de versies van de dataset. De is de directe link naar de verschijningstoestand van een object-exemplaar. In de loop van de tijd kunnen niet-identificerende eigenschappen van een object veranderen. Wanneer deze wijziging in de databank wordt aangebracht, krijgt het exemplaar een nieuwe -waarde. Ook deze waarde is uniek binnen elke productentiteit en over versies heen. De is de directe link naar een objectexemplaar. Binnen elke entiteit heeft elk exemplaar een unieke waarde voor de. Zolang een exemplaar bestaat, blijft de waarde voor deze ID dezelfde over verschillende productversies heen. Indien in de nieuwe dataset-versie een exemplaar van een object niet meer aanwezig is, wordt het exemplaar als verwijderd beschouwd. Welke kenmerken/eigenschappen een object identificeren resp welke eigenschappen/kenmerken een verschijningsvorm van een object bepalen, verschilt van entiteit tot entiteit. In de definitie van de productentiteit is beschreven welke eigenschappen de levensloop van een exemplaar en zijn verschijningsvormen bepalen. Elke wijziging in een kenmerk van een exemplaar geeft aanleiding tot ofwel het ontstaan van een nieuw exemplaar, dan wel het ontstaan van een nieuwe verschijningsvorm van een exemplaar. 1.3 Onderzoeken waar de actuele versie verschilt van de vorige Op exemplaarniveau kunnen zich drie gevallen van verschil voordoen: Gewijzigde exemplaren (nieuwe verschijningsvorm) Exemplaren met een die zowel voorkomt in het add-bestand als in het delete-bestand, zijn gewijzigde exemplaren (exemplaren met een nieuwe verschijningsvorm). Hun identificerende kenmerken zijn ongewijzigd gebleven, maar de waarde van één of meer attributen is gewijzigd. Dergelijke exemplaren worden als vervangen beschouwd. Afgeschafte, verwijderde object-exemplaren Gebruik verschilbestanden 25/07/2014 11:06 3 / 10
Exemplaren met een die enkel voorkomt in het delete-bestand zijn verwijderd (levensloop van het exemplaar is afgesloten) uit de nieuwe dataset-versie. Nieuwe object exemplaren Exemplaren met een die enkel voorkomt in het add-bestand zijn toegevoegd, hun levensloop is gestart in de nieuwe versie. 1.4 Een vorige versie actualiseren Een vorige versie actualiseren gebeurt in drie stappen en moet voor elke productentiteit toegepast worden: Stap 1: Ga na of je over het juiste verschilbestand beschikt Alternatief A: De waarde van het attribuut in de controle-record van het delete-bestand (dit is de record waarvan de bijhorende -waarde gelijk is aan 0) moet eentje hoger zijn dan de maximum waarde van het attribuut uit de vorige dataset-versie. Als dit niet het geval is, beschikt je niet over het juiste verschilbestand en kan je het verschilbestand niet gebruiken om je data te actualiseren. In dat geval heb je waarschijnlijk 1 of meerdere verschilbestanden gemist. Gebruik je het verschilbestand toch om je data te actualiseren, dan zal dit tot foute resultaten leiden. Alternatief B: In dit geval wordt niet gewerkt met controle-records. Dit houdt in dat je zelf moet verifiëren welke de vorige dataset-versie is waarop dit verschilbestand verder gaat. De versieinformatie kan men steeds terugvinden in de naam van de folder of map waarin het bestand zit. Indien je niet de juiste verschilbestanden hanteert om een dataset-versie te actualiseren, kan dit tot foute resultaten leiden. Stap 2: Verwijderen van records Koppel de records van de entiteit van de vorige dataset-versie met het delete-bestand, via het veld ; Selecteer alle exemplaren die gekoppeld zijn; Verwijder de geselecteerde exemplaren. Stap 3: Toevoegen van records (append, merge ) Voeg alle records opgenomen in het add-bestand toe aan de productentiteit van de vorige datasetversie waaruit in stap 2 de te verwijderen records zijn verwijderd. De entiteit van de vorige dataset-versie is nu geactualiseerd tot de actuele situatie. Opmerkingen: Het is belangrijk dat eerst de records worden verwijderd aan de hand van het delete-bestand, voordat records van het add-bestand worden toegevoegd. Exemplaren met een nieuwe verschijningsvorm zijn nl. zowel opgenomen in het delete- als in het add-bestand. De oude verschijningsvorm moet eerst verwijderd worden (stap 2 hierboven), alvorens de nieuwe verschijningvormen in stap 3 wordt toegevoegd. Verschilbestanden lenen zich niet tot het historizeren (op inactief zetten van exemplaren zonder ze te verwijderen) van gegevens. 4 / 10 Gebruik verschilbestanden 25/07/2014 11:06
2 Voorbeelden Ter illustratie worden hieronder enkele fictieve typevoorbeelden gegeven om de principes waarmee verschilbestanden opgebouwd zijn, illustreren. 2.1 Voorbeeld 1: Kadastrale percelen: opsplitsing van 1 perceel in 3 percelen We beschikken over de productentiteit kadastrale percelen (Capa) van CADMAP toestand 1/1/2008. Er wordt een verkaveling uitgevoerd waarbij het oude perceel B wordt opgesplitst in 3 nieuwe percelen: D, E en F. Perceel B moet verwijderd worden en de percelen D, E en F toegevoegd. Percelen A en C blijven ongewijzigd. Grafisch: 1.1.2008 1.1.2009 A B C A D E F C splitsing Capa, toestand 1/1/2008: Capa, toestand 1/1/2009: PERCEEL PERCEEL A 1 1 A 1 1 B 2 2 C 3 3 C 3 3 D 4 4 E 5 5 F 6 6 CapaDel: Alternatief A: 0 4 Controle record in het delete-bestand 2 2 Perceel B wordt verwijderd ingevolge opsplitsing Alternatief B: 2 2 Perceel B wordt verwijderd ingevolge opsplitsing CapaAdd: Gebruik verschilbestanden 25/07/2014 11:06 5 / 10
PERCEEL D 4 4 E 5 5 Nieuwe percelen D, E, F worden toegevoegd F 6 6 2.2 Voorbeeld 2: Gebouwen: veranderingen aanwezigheid/verschijningsvorm van een gebouw We beschikken over de productentiteit kadastrale gebouwen (Cabu) van CADMAP toestand 1/1/2008. Gebouw a wordt gesloopt Gebouw b wordt omgevormd van een Gesloten gebouw tot een Open gebouw met bovenbouw. Hierbij verandert de geometrie van het gebouw niet (behoudt dezelfde ), het attribuut gebouwtype verandert van waarde: er ontstaat een nieuwe verschijningsvorm van dit gebouw (nieuwe -waarde). Gebouw c wordt niet gewijzigd Grafisch: 1.1.2008 1.1.2009 a b c b c afbraak bovenbouw verdiep Cabu, toestand 1/1/2008: Cabu, toestand 1/1/2009: GEBOUW GEBOUW a 1 1 b 2 4 b 2 2 c 3 3 c 3 3 CabuDel Alternatief A: 0 4 Controle-record 1 1 Gebouw a wordt gesloopt 2 2 Gebouw b verandert van type 6 / 10 Gebruik verschilbestanden 25/07/2014 11:06
Alternatief B: 1 1 Gebouw a wordt gesloopt 2 2 Gebouw b verandert van type CabuAdd GEBOUW b 2 4 Gebouw 2 verandert van type: nieuwe Gebruik verschilbestanden 25/07/2014 11:06 7 / 10
2.3 Voorbeeld 3: wijzigingen in VHA-waterloopsegmenten (VHAS) Door de uitbreiding van de haven wordt er een nieuw dok aangelegd (segment G). Ingevolge de netwerktopologie tussen de segmenten, wordt daarmee segment B opgesplitst in segmenten D en F. Bovendien wordt een ander, bestaand dok (segment C), vergroot. Grafisch: Toestand voor Toestand na SEGMENT A 1 1 B 2 2 C 3 3 SEGMENT A 1 1 C 3 4 D 4 5 F 5 6 G 6 7 VHASDel Alternatief A: 0 4 Controle-record 2 2 Segment B wordt verwijderd 3 3 Segment C verandert van geometrie Alternatief B: 2 2 Segment B wordt verwijderd 3 3 Segment C verandert van geometrie VHASAdd 8 / 10 Gebruik verschilbestanden 25/07/2014 11:06
SEGMENT C 3 4 Segment C is veranderd van geometrie: nieuwe D 4 5 Segment D is nieuw toegevoegd F 5 6 Segment F is toegevoegd G 6 7 Segment G is toegevoegd Gebruik verschilbestanden 25/07/2014 11:06 9 / 10
3 Ondersteuning Wanneer u problemen heeft met het gebruik van de bestanden dan kan u contact opnemen met : Agentschap voor Geografische Informatie Vlaanderen Koningin Maria Hendrikaplein 70 bus 110 9000 Gent tel: +32 9 276 15 00 fax: +32 9 276 15 05 Website: http://www.agiv.be e-mail: contactpunt@agiv.be 10 / 10 Gebruik verschilbestanden 25/07/2014 11:06