24
Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu Bc. Martin Kalivoda Katedra kartografie, geoinformatiky a DPZ, Prírodovedecká fakulta UK, Bratislava

Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

  • Upload
    hachi

  • View
    40

  • Download
    2

Embed Size (px)

DESCRIPTION

Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu. Bc. Martin Kalivoda Katedra kartografie, geoinformatiky a DPZ, Prírodovedecká fakulta UK, Bratislava. Obsah. Prečo modelovať georeliéf pomocou TIN? Predstavenie extenzie pg3angles - PowerPoint PPT Presentation

Citation preview

Page 1: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Tvorba nástrojov na optimalizáciu nepravidelných

trojuholníkových sietí pre modelovanie georeliéfu

Bc. Martin Kalivoda

Katedra kartografie, geoinformatiky a DPZ, Prírodovedecká fakulta UK,

Bratislava

Page 2: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Obsah

Prečo modelovať georeliéf pomocou TIN?

Predstavenie extenzie pg3angles Realizácia praktických úloh pomocou

pg3angles

Page 3: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Prečo nepravidelné trojuholníkové siete pre modelovanie georeliéfu?

Výhody TIN:Nenáročnosť na pamäťový priestorInformačná robustnosťTvarová flexibilita

Využitie TIN:Morfometrická analýza georeliéfu (výpočet sklonov, orientácií, krivostí atď.)3D vizualizácie a animácie georeliéfuVýpočet 3D výmer a objemov

Vektorová formaRastrová forma

Digitálne modely georeliéfu

Nepravidelnétrojuholníkové

siete(TIN)

vs.

Page 4: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Zásuvný modul (extenzia) pg3angles

Rozširujúce riešenie pre:• PostgreSQL

• PostGIS

Balík funkcií na prácu s TIN:• Riešenie topológie TIN

• Morfometrická analýza TIN

• Optimalizácia TIN

Page 5: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Motivácia k tvorbe pg3angles

Bakalárska práca týkajúca sa modelovania georeliéfu na báze TIN (rok 2012)

PostGIS podporujúci geometrické typy TRIANGLE a TIN (od verzie 2.0 vypustenej 3.4.2012)

Implementovaná funkcia na generovanie TIN Delaunayovou trianguláciou v PostGIS (od verzie 2.1 vypustenej 17.8.2013)

Doteraz oficiálne nevyšla žiadna knižnica s funkciami na prácu s TIN v PostGIS

Page 6: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

pg3angles v hierarchii PostgreSQL a PostGIS

Page 7: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Geometrický dátový typ TRIANGLE ZM WKT kľúč pre tzv. 4D-trojuholník Základný prvok údajovej štruktúry TIN v pg3angles Umožňuje uchovávať topologické charakteristiky v rámci

jedného záznamu v databáze Možnosť zapuzdrenia trojuholníkov typu TRIANGLE ZM do

štruktúry TIN ZM predstavujúcej jeden záznam v databáze

TRIANGLE ZM ((1 8 6 7,3 4 5 3.2,4 7 4 1.1,1 8 6 7))

Názov geometrického

typu

Informácia, že ide o 4D

geometrický typ.

X 1. bodu

Y 1. bodu

Z 1. bodu

M 1. bodu

2. bod 3. bod

Podľa štandardu WKTje potrebné uzavrieť

polygón prvým bodom.

Page 8: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Uchovávanie topologických charakteristík v TRIANGLE ZM

tid = 10 ntid2 = 8

ntid1 = 9BOD 2

BOD 1

BOD 3ntid

3 = -1 => tro

juholník neexis

tujeTRIANGLE ZM ((10 12 2 9,4.34 8 4.9 8.1,8 9 4.1 -1.2,10 12 2 9))

M1, M2, M3

BOD 1 BOD 2 BOD 3

M1 => ntid1 = 9

M2 => ntid2.tid = 8.1

M3 => ntid3.dgt = -1.2

Určenie tid: 0.tid x 10dgt = 0.1 x 102 = 10

Nejednoznačnosť v určení tid? Nech M2 = ntid2.1 dgt upresní, či ide o trojuholník 1, 10, 100 atď. Ak dgt = 1 => tid = 1; Ak dgt = 2 => tid = 10; Ak dgt = 3 => tid = 100

Page 9: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Funkcie v pg3angles 1.0 25 funkcií Identifikácia funkcie pg3angles podľa predpony TIN_,

napr. TIN_Area3D Rôzne hľadiská klasifikácie funkcií:

1. Podľa použitého programovacieho jazyka• Jazyk C (19 funkcií)• Jazyk PL/pgSQL (6 funkcií)

2. Podľa potreby počtu trojuholníkov ako vstupných parametrov funkcie• Žiadny trojuholník (1 funkcia)• 1 trojuholník (11 funkcií)• Viac ako 1 trojuholník (9 funkcií)• Celá TIN (4 funkcie)

Page 10: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Funkcie v pg3angles 1.0

Najdôležitejšia klasifikácia funkcií vychádza z hľadiska ich zložitosti a hlavného účelu:

I. Základné funkcie (20 funkcií)• Topologické funkcie (5)

• Analytické funkcie (12)

• Funkcie generujúce novú geometriu (3)

II. Kompozitné funkcie (5 funkcií) Kompozitné funkcie sú funkcie volajúce vo svojom

tele aspoň jednu inú základnú alebo kompozitnú funkciu. Predstavujú sled SQL príkazov za účelom uľahčenia práce užívateľovi.

Page 11: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Pravidlá práce s pg3angles TIN ≡ databázová tabuľka so všeobecným názvom tintable 1 riadok ≡ 1 trojuholník tabuľka tintable nutne obsahuje atribúty s názvami geom a tid

• geom je priestorového dátového typu geometry obsahujúci geometriu trojuholníka

• tid je dátového typu integer – predstavuje jedinečný identifikátor každého riadku/trojuholníka

trojuholníky v geom sú modifikovaného geometrického typu TRIANGLE ZM vrcholové body trojuholníkov TIN sú usporiadané v tabuľke so všeobecným

názvom tintable_points (tvorená v iniciálnej fáze práce s TIN funkciami pg3angles)

tabuľka tintable_points nutne obsahuje stĺpce s názvami pid, point a triangles,• pid je dátového typu integer – predstavuje jedinečný identifikátor každého

riadku/bodu• point je priestorového dátového typu geometry obsahujúci geometriu bodu• triangles je dátového typu integer[] obsahujúci pole identifikátorov tid

trojuholníkov, ktorým jednotlivé (vrcholové) body patria

Page 12: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

pg3angles v praxi

Úloha 1Tvorba TIN z podrobného diskrétneho bodového poľa (PDBP) a jej iniciálna úprava pre používanie v pg3angles

Poznámka k úloheK dispozícii máme vrstvu (tabuľku) podrobného diskrétneho bodového poľa s názvom pdbp, ktorej jeden riadok zodpovedá jednému bodu. Geometria každého bodu je typu POINT Z a je uložená v atribúte s názvom geometria. Meno vrstvy obsahujúcej trojuholníky bude tin.

SQLSELECT TIN_CreateFromPointsDT ('tin', 'pdbp', 'geometria');SELECT TIN_EditNeighboursInfo('tin');

Page 13: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu
Page 14: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Charakteristika funkcií pg3angles využitých v úlohe 1TIN_CreateFromPointsDTPríznaky: kompozitná funkcia, jazyk PL/pgSQLVnorené funkcie pg3angles: TIN_GrantTinBehaviourPrototyp:

void TIN_CreateFromPointsDT (text tintablename, text pntstable, text pntsgeomcol);

Charakteristika:Funkcia vytvára tabuľku s názvom tintablename, do ktorej vkladá trojuholníky typu TRIANGLE Z vygenerované Delaunayovou trianguláciou bez známych topologických charakteristík. Trojuholníková sieť je generovaná z podrobného diskrétneho bodového poľa nachádzajúceho sa v tabuľke pntstable, ktorá musí spĺňať podmienku riadok ≡ bod. Funkcii sa predáva aj názov geometrického stĺpca tabuľky pntstable. Počas výpočtového procesu je generovaná tabuľka so všeobecným názvom tintablename_points, v ktorej sú uložené vrcholové body trojuholníkov TIN s priradenými identifikátormi tid trojuholníkov, ktorým patria.

Page 15: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Charakteristika funkcií pg3angles využitých v úlohe 1

TIN_EditNeighboursInfoPríznaky: kompozitná funkcia, jazyk PL/pgSQLVnorené funkcie pg3angles: TIN_GetTid,

TIN_EditNeighboursInfo (základná funkcia)Prototyp:

void TIN_EditNeighboursInfo (text tintable);

Charakteristika:Funkcia zabezpečí modifikáciu M-hodnôt trojuholníkov v tabuľke tintable v súlade s koncepciou pg3angles.

Page 16: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

pg3angles v praxi

Úloha 2Výpočet výmery modelovaného územia

Poznámka k úloheK dispozícii máme vrstvu tin, ktorá je výsledkom úlohy 1.

SQL:SELECT Sum(TIN_Area3D(geom)) AS vymera FROM tin;

Page 17: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu
Page 18: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Charakteristika funkcií pg3angles využitých v úlohe 2

TIN_Area3DPríznaky: základná funkcia, jazyk C, analytická funkciaPrototyp:

double precision TIN_Area3D (geometry triangle);

Charakteristika:Funkcia vracia rozlohu trojuholníka triangle v plošných jednotkách definovaných súradnicovým systémom, v akom sú reprezentované súradnice vrcholových bodov trojuholníka.

Page 19: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

pg3angles v praxi Úloha 3

identifikácia svahov so sklonom nad 5° orientovaných na juh a ich export do novej vrstvy (tabuľky). Vygenerovanie vrstevníc.

Poznámka k úloheK dispozícii máme vrstvu tin, ktorá je výsledkom úlohy 1. Úloha 3 spočíva vo vytvorení novej tabuľky juznesvahy, ktorá bude pozostávať z jedného atribútu typu geometry s názvom geometria. Následne bude táto tabuľka naplnená výsledkom selekcie trojuholníkov spĺňajúcich zadané kritériá. Pre sprehľadnenie topografie územia pristúpime k tvorbe vrstevníc pre celé územie.

SQLCREATE TABLE juznesvahy (geometria geometry);INSERT INTO juznesvahy

SELECT geom FROM tin WHERE TIN_SlopeOfTriangle(geom) > 5 AND (TIN_AspectOfTriangle(geom) > 315 OR TIN_AspectOfTriangle(geom) < 45);SELECT unnest(TIN_Contours(geom, 5)) AS geom INTO vrstevnice FROM tin;

Page 20: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu
Page 21: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Charakteristika funkcií pg3angles využitých v úlohe 3TIN_SlopeOfTrianglePríznaky: základná funkcia, jazyk C, analytická funkciaPrototyp:

double precision TIN_SlopeOfTriangle (geometry triangle);Charakteristika:

Funkcia vracia sklon roviny trojuholníka triangle v stupňoch.

TIN_AspectOfTrianglePríznaky: základná funkcia, jazyk C, analytická funkciaPrototyp:

double precision TIN_AspectOfTriangle (geometry triangle);Charakteristika:

Funkcia vracia orientáciu roviny trojuholníka triangle voči svetovým stranám v stupňoch z intervalu <0°; 360°), kde 0° predstavuje orientáciu totožnú s orientáciou zápornej poloosi y a 180° predstavuje orientáciu totožnú s orientáciou kladnej poloosi y. Obdobne, 90° predstavuje orientáciu totožnú s orientáciou zápornej poloosi x a 180° predstavuje orientáciu totožnú s orientáciou kladnej poloosi x.

Page 22: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Charakteristika funkcií pg3angles využitých v úlohe 3

TIN_ContoursPríznaky: základná funkcia, jazyk C, funkcia generujúca novú

geometriuPrototyp:

geometry TIN_Contours (geometry triangle, double precision deltaz);

Charakteristika:Funkcia vracia vrstevnice s výškovým intervalom deltaz ako geometrický typ LINESTRING Z prechádzajúce plochou trojuholníka triangle. Základnou výškou je vždy 0. Súradnice okrajových bodov línií vrstevníc sú lineárne interpolované zo súradníc dvojíc vrcholových bodov trojuholníka triangle, čiže okrajové body vždy ležia na hranici trojuholníka.

Page 23: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Záver alebo čo ďalej s pg3angles?

Používatelia a vývojári

GNU General Public License

GitHub

https://github.com/KaliGIS/pg3angles1.0

pg3angles

Webová aplikácia QGIS plugin

Page 24: Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu

Ďakujem za pozornosť

Referencia

KALIVODA, M. 2014. Tvorba nástrojov na optimalizáciu nepravidelných trojuholníkových sietí pre modelovanie georeliéfu : diplomová práca. Bratislava : Prírodovedecká fakulta, Univerzita Komenského, 2014. 114 s.