Modelování geoprostorové báze dat na úrovni datového modelu KN

Modelování geoprostorové báze dat na úrovni datového modelu KN Modelování geoprostorové báze dat na úrovni datového modelu KN

27.06.2015 Views

Modelování geoprostorové báze dat na úrovni datového modelu KN podprogramů v tomto balíku vypočítat vzdálenost mezi objekty, vytvářet ze stávajících objektů nové a podobně. 3.7 Balík SDO_UTIL Tento balík obsahuje velké množství podprogramů, z nichž nejdůležitější z hlediska mé práce jsou funkce SDO_UTIL.REMOVE_DUPLICATE_VERTICES a SDO_UTIL.SIMPLIFY. 3.7.1 SDO_UTIL.REMOVE_DUPLICATE_VERTICES Primárním účelem této funkce je eliminovat duplicitní vrcholy z geometrického popisu prostorového prvku, ačkoli tyto duplicity jsem se snažil odstranit před samotným importem dat do databáze. Tato funkce jsem se pomocí vhodné volby jednoho ze vstupních parametrů snažil využít ke generalizačním účelům. Návratovou hodnotou funkce je objekt typu SDO_GEOMETRY, obsahující geometrický popis prvku bez vrcholových duplicit. Formát funkce je následující: SDO_UTIL.REMOVE_DUPLICATE_VERTICES ( geometry IN SDO_GEOMETRY, tolerance IN NUMBER ) RETURN SDO_GEOMETRY; Př.5: Formát funkce SDO_UTIL.REMOVE_DUPLICATE_VERTICES. Parametr geometry obsahuje geometrický popis prvku, u něhož chceme odstranit případné duplicity. Parametr tolerance je zde ve smyslu popsaného v kapitole 3.3.5. Vhodnou volbou atributu tolerance lze dosáhnout toho, že se tato funkce bude chovat de facto jako generalizační. Při provádění funkce dojde k odstranění všech bodů od počátečního bodu, které jsou ve vzdálenosti specifikované atributem tolerance. Obrázek 4 graficky znázorňuje chování funkce SDO_UTIL.REMOVE_DUPLICATE_VERTICES pro zvolenou hodnotu atributu tolerance. 26

Modelování geoprostorové báze dat na úrovni datového modelu KN Obr. 4: Chování funkce SDO_UTIL.REMOVE_DUPLICATE_VERTICES. 3.7.2 SDO_UTIL.SIMPLIFY Cílem funkce SDO_UTIL.SIMPLIFY je redukce počtu vrcholů ve vstupním geometrickém popisu prostorového prvku pomocí realizace Douglas- Peuckerova algoritmu. Detailní popis algoritmu lze nalézt v [8]. Základní princip je znázorněn na obrázku 5. Obr.5: Princip Douglas-Peuckerova algoritmu. 27

Modelování geoprostorové báze <strong>dat</strong> <strong>na</strong> úrovni <strong>dat</strong>ového <strong>modelu</strong> <strong>KN</strong><br />

podprogramů v tomto balíku vypočítat vzdálenost mezi objekty,<br />

vytvářet ze stávajících objektů nové a podobně.<br />

3.7 Balík SDO_UTIL<br />

Tento balík obsahuje velké množství podprogramů, z nichž<br />

nejdůležitější z hlediska mé práce jsou funkce<br />

SDO_UTIL.REMOVE_DUPLICATE_VERTICES<br />

a<br />

SDO_UTIL.SIMPLIFY.<br />

3.7.1 SDO_UTIL.REMOVE_DUPLICATE_VERTICES<br />

Primárním účelem této funkce je eliminovat duplicitní vrcholy<br />

z geometrického popisu prostorového prvku, ačkoli tyto duplicity jsem<br />

se s<strong>na</strong>žil odstranit před samotným importem <strong>dat</strong> do <strong>dat</strong>abáze. Tato<br />

funkce jsem se pomocí vhodné volby jednoho ze vstupních parametrů<br />

s<strong>na</strong>žil využít ke generalizačním účelům.<br />

Návratovou hodnotou funkce je objekt typu SDO_GEOMETRY,<br />

obsahující geometrický popis prvku bez vrcholových duplicit.<br />

Formát funkce je následující:<br />

SDO_UTIL.REMOVE_DUPLICATE_VERTICES (<br />

geometry IN SDO_GEOMETRY,<br />

tolerance IN NUMBER<br />

) RETURN SDO_GEOMETRY;<br />

Př.5: Formát funkce SDO_UTIL.REMOVE_DUPLICATE_VERTICES.<br />

Parametr geometry obsahuje geometrický popis prvku, u něhož<br />

chceme odstranit případné duplicity. Parametr tolerance je zde ve<br />

smyslu popsaného v kapitole 3.3.5.<br />

Vhodnou volbou atributu tolerance lze dosáhnout toho, že se<br />

tato funkce bude chovat de facto jako generalizační. Při provádění<br />

funkce dojde k odstranění všech bodů od počátečního bodu, které jsou<br />

ve vzdálenosti specifikované atributem tolerance. Obrázek 4 graficky<br />

znázorňuje chování funkce SDO_UTIL.REMOVE_DUPLICATE_VERTICES<br />

pro zvolenou hodnotu atributu tolerance.<br />

26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!