Codering van een polyhedron Literatuur De polyhedron wordt gedefinieerd met sdo_gtype d008 (d=3 voor 3D of d=4 voor 4D). (In analogie met het 2D- model wordt de multigeometrie variant gecodeerd met sdo_gtype=d009. Deze wordt hier verder buiten beschou wing gelaten). De meer gedetailleerde codering van het polyhedron wordt gerealiseerd door de elementtypen sdo_etype. Het voorstel is om sdo_etype=xxx6 te gebruiken voor een grenselement, xxx=100 kan daarbij gebruikt worden voor een buitenring van een buitenvlak en xxx=200 voor de bui tenring van een binnenvlak (voorbeeld 5d). De binnenringen van buitenvlakken (voorbeeld 5c) code ren we met etype=1106. Binnenringen van binnenvlakken worden op dezelfde wijze gecodeerd met etype=2106. De sdo_interpretationcode vertelt nu hoe de coördinaten in de coördinatenlijst geïnterpreteerd moeten worden. Voor de polyhedron stellen we de volgende sdo_interpre- tation codes voor: 3 voor 3D-blokken (vergelijk met de rechthoek in 2D), en 1 voor polyhedrons met platte vlak ken (vergelijk met de polygoon met rechte lijnsegmenten in 2D). De voorgestelde nummers voor gtype, etype en de interpretatiecode zien er misschien wat vreemd uit, maar deze zijn in analogie met het geometriemodel in 2D, waar bij we de bolvormige en cilindrische delen voor dit mo ment overslaan. Het vullen van de coördinatenlijst (sdo_ordinate_array) is niet triviaal. Om te voorkomen dat coördinaten van twee aangrenzende vlakken dubbel worden genoemd, begint de lijst eerst met het noemen van alle voorkomende coör dinaten, die impliciet genummerd zijn van 1 tot N. Het startpunt van elk vlak is gegeven in de sdo_elem_info_ar- ray. Een vlak wordt gespecificeerd door het noemen van alle puntnummers. Deze codering zorgt voor een interne topologie van de 3D-primitieve. Nu het meest eenvoudige voorbeeld van fig. 5a: de tetrahe dron met de volgende vier coördinaten: 1=(0,0,0), 2=(1,0,0), 3=(0,1,0) en 4=(0,0,1): insert into geom3d (shape, TAG) values mdsysSD0_GE0METRY(3008NULL, NULL, -- polyhedron, zonder ref. point en srid mdsysSD0_ELEM_INE0_ARRAY 13,1006,1 - - eerste platte vlak begint op offset 13, - - eerste 13 posities zijn gebruikt voor de coördinaten 16,1006,1, 19,1006,1, 22,1006,1), - - de ander vlakken op 16,19 en 33 mdsysSD0_0RDINATE_ARRAY (0,0,0, - - coördinaat triplet van punt 1 1,0,0, 0,1,0, 0,0,1, -- en van punt 2,3 en 4 1,2,3, 1,2,4, 1,3,4, 2,3,4)), - - de vlakken referenties naar de punten 1- - TAG van voorbeeld 1 De coördinaten van het blok in fig. 5b zijn: 1=(0,0,0), 2=(5,0,0), 3=(5,5,0), 4=(0,5,0), 5=(0,0,5), 6=(5,0,5), 7=(5,5,5) en 8=(0,5,5). Het coderen in Oracle ziet er als volgt uit: insert into geom3d (shape, TAG) values mdsys.SDO_GEOMETRY(3008, NULL, NULL, mdsysSD0_ELEM_INE0_ARRAY (251006,1 - eerste vlak op offset 25 29,1006,1, 33,1006,1, 37,1006,1, 41,1006,1, 45,1006,1), mdsysSD0_0RDINATE_ARRAY (0,0,0, - - coördinaten triplet van punt 1 5,0,0, 5,5,0, 0,5,0, 0,0,5, 5,0,5, 5,5,5, 0,5,5, 1.2.3.4, 5,6,7,8,4,3,7,8, - - onder, boven, rechter vlak 1.2.6.5, 1,4,8,5, 2,3,7,6)), - - linker, achter en voor vlak vestigde rechten (en beperkingen en belemmeringen) die kenbaar zijn uit de Openbare Registers en de kadastrale re gistratie te visualiseren. In dit artikel hebben we beschre ven hoe beschikbare geo-informatie in 2D gecombineerd lean worden met 3D geo-informatie om aan deze informa tiebehoefte te voldoen. We hebben ook een uitbreiding van het huidige geometrische datamodel in DBMSs voorgesteld om de ondersteuning van 3D volume-objecten mogelijk te maken. Volledig 3D-support in DBMSs zal echter nog wel even op zich laten wachten. In de tussentijd zijn we bezig om binnen de huidige technieken de mogelijkheid te im plementeren om 3D geo-objecten te beheren in het DBMS en deze te combineren met de bestaande 2D-data (de perce len). Op deze manier kunnen verschillende vragen worden beantwoord en gevisualiseerd: 'tot welke hoogte en diepte geldt het opstalrecht op dit perceel', 'wordt de ondergrond van dit perceel ook doorsneden door de pijpleiding', 'welke percelen zijn belast met een beperking in het recht van eigendom ten gevolge van een tunnel' en 'hoe is deze be perking gedefinieerd in 3D' worden beantwoord en gevisu aliseerd. Dit alles moet op termijn voor een meer duurzame oplossing zorgen in een wereld met een toenemende druk op het ruimtegebruik. De registratie wordt eenvoudiger en eenduidiger, maar ook meer toegankelijk en in zichtelijk omdat deze beter aansluit bij de werkelijkheid. [1] Stoter, J. E., M.A. Salzmann, P.J.M. van Oosterom en P. van der Molen, Op naar een 3D-Kadaster? Registratie van multi-functioneel ruimtegebruik. Geodesia 2002 no. 3, p. 88-93. [2] OGC, OpenGIS Simple Features Specifi cation for SQL. Revision 1.1. OpenGIS Project Document 99-049. [3] Oracle, Oracle Spatial User's Guide and Reference Release 9.0.1 Part Number A88805-01. Juni 2001. GEODESIA 2002-7/8

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

(NGT) Geodesia | 2002 | | pagina 26