This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
git_prostorove_databaze [2018/05/28 15:34] efox |
git_prostorove_databaze [2018/05/28 17:24] (current) efox [funkce třídy geometry] |
||
---|---|---|---|
Line 104: | Line 104: | ||
====== geometrický objektový model dle OGC ====== | ====== geometrický objektový model dle OGC ====== | ||
- | {{:: | + | {{:: |
+ | * třída geometry je ADT - každý geometrický objekt je asociován se souřadnicovým systémem, ve kterém je definován | ||
+ | * point (0D), curve (1D), surface (2D) | ||
+ | * GeometryCollection: | ||
+ | * Curve: sekvence bodů | ||
+ | * OGC 1.1. definuje podtřídu LineString odpovídající lineární interpolaci | ||
+ | * Line: linestring se dvěma body | ||
+ | * linearring: linestring odpovídající jednoduché (neprotíná se) a je uzavřená křivka | ||
+ | * surface: libovolný 2D geometrický objekt | ||
+ | * povrch je jednoduchý, | ||
+ | * multigeometrické typy:více geom typů stejné dimenze | ||
+ | * multipoint, multilinestring, | ||
+ | * každá třída má definované svoje metody | ||
+ | * pro geometry: dimension, geometrytype, | ||
+ | * empty: definuje prázdnou geometrii | ||
+ | ===== funkce třídy geometry ===== | ||
+ | * dimension | ||
+ | * envelope: lomená čára typu BoundingBox | ||
+ | * MBR (minimal bounding rectangle) | ||
+ | * operace: MBRcontains, | ||
+ | * určuje nejmenší obdélník, do kterého lze daný geometrický útvar vepsat | ||
+ | * geometrytype: | ||
+ | * srid | ||
+ | |||
+ | ===== funkce objektu linestring ===== | ||
+ | * glenght | ||
+ | * isclosed (1 nebo 0, shodnost koncového bodu a výchozího bodu) | ||
+ | * numpoints | ||
+ | * strrtpoint, endpoint, point(g, | ||
+ | |||
+ | ===== funkce objektu polygon ===== | ||
+ | * area | ||
+ | * exteriorring (vnější kružnice polygonu jako typ linestring) | ||
+ | * interiorring (vnitřní blabla) | ||
+ | * numinterrings (počet vnitřních kružnic - děr) | ||
+ | |||
+ | ===== funkce objektu geometryCollection ===== | ||
+ | * geometry(g, | ||
+ | * numgeometries(g) | ||
+ | |||
+ | ===== přehled ===== | ||
+ | * point: x(), y(),m() | ||
+ | * curve: lenght, startpoint, endpoint, isclosed, isring | ||
+ | * linestring: numpoints, pointn | ||
+ | * multicurve: isclosed, lenght | ||
+ | * surface: area: centroid, pointonsurface | ||
+ | * polygon: exterioring, | ||
+ | * TIN: numpatches, patchn, boundingpolygon, | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== uložení dat v geodatabázi ====== | ||
+ | * OGC simple features | ||
+ | * specifikuje uložení geografických dat v digitální podobě | ||
+ | * založen na 2D geometrii s možností interpolace mezi lomovými body | ||
+ | * prvek je považován za jednoduchý, | ||
+ | * definuje třeba envelope | ||
+ | * WKT | ||
+ | * textový značkovací jazyk pro popis vektorové geometrie geografických objektů prostorových referenčních systémů | ||
+ | * objekty jsou reprezentovány pomocí ascii | ||
+ | * body, linie, polygony, tin, polyhedrony | ||
+ | |||
+ | ====== prostorová doména ====== | ||
+ | * přidá se tam doméne " | ||
+ | * pro zajištění vysoké úrovně abstrakce prostorových dat | ||
+ | * atribut z domény " | ||
+ | * spatial_0 až 3 (pro dimenze) | ||
+ | * v PC zachytím číslo jenom s omezenou přesností, | ||
+ | * simplexy: | ||
+ | * skládání složitějších entit z jednodušších | ||
+ | * simplelx = nejmenší nevyplněný objekt dané dimenze, 0-simplex je bod, 2-simplex je trojuhelník, | ||
+ | * úplné deskriptory: | ||
+ | * komplexní popis modelované oblasti | ||
+ | * množina bodů, úseček a případně vyyšších celků s následujícími vlastnostmi: | ||
+ | * každý (i koncový) bod je bodem sítě | ||
+ | * žádný vnitřní bod není zaznamenán v síti | ||
+ | * žádní dvě úsečky nemají průsečík a ani se nepřekrývají | ||
+ | |||
+ | ====== prostorové predikáty ====== | ||
+ | * relace mezi dvě prostorovými objekty | ||
+ | * výsledek je 1 nebo 0 | ||
+ | * můžu na objekty dvou libovolných dimenzí | ||
+ | * disjoint, meet, overlap, inside/ | ||
+ | * predikáty: left/right, north/ | ||
+ | |||
+ | ====== prostorové operace ====== | ||
+ | * unární: jedna prostorová položka prostorové relace | ||
+ | * topologické operátory: | ||
+ | * dimension | ||
+ | * boundary | ||
+ | * interior - všechny části objektu, které nejsou v jeho hranici, boundingNodes a boundingEdges (určí ohraničující body a úsečky ploch), pro 1D a 2D je boundary, boundingNodes, | ||
+ | * aritmetické operátory: | ||
+ | * lenght, area, volume | ||
+ | * složené operátory: | ||
+ | * perimetr (obvod) pro mnohoúhelník | ||
+ | * extreme coordinates | ||
+ | * complement (doplněk) | ||
+ | * convex hull (konvexní obal) | ||
+ | * binární prostorové operátory (počítají hodnotu ze dvou položek) | ||
+ | * distance | ||
+ | * direction (úhel udávající azimut) | ||
+ | |||
+ | ====== geometrické funkce ====== | ||
+ | * převod geom formátů: astext, asbinary, geomgromtext, | ||
+ | * i point-linestrin-polygon as text apod | ||
+ | |||
+ | ====== prostorové analytické funkce ====== | ||
+ | * všechny funkce přidávají dvě geometrie | ||
+ | * výsledek je boolean | ||
+ | * contains (pokud leží BB úplně) | ||
+ | * within (jako contains ale opačně) | ||
+ | * crosses (BB se nekříží) | ||
+ | * equals (stejné geometrie) | ||
+ | * intersects (BB se dotýkají nebo překrývají) | ||
+ | * overlaps (BB se překrývají) | ||
+ | * touches (BB se dotýkají) | ||
+ | * disjoint (BB se ani nedotýkají ani nepřekrývají) | ||