Adatbázis rendszerek 8. előadás Térinformatikai adatbázisok és gyakorlati ötletek Molnár Bence
Téradat szerver programok —
—
Kereskedelmi szoftverek —
ArcGIS Server (Oracle, SQL Server, PostgreSQL) (korábban ArcSDE)
IBM
—
Oracle Spatial (Oracle)
—
MS SQL Server 2008+
—
Geomedia + MS Access
—
SyBase SQL Anywhere (mobil eszközökre is)
—
...
DB2,
Nyílt forráskódú —
PostGIS (PostgreSQL)
—
SpatiaLite (SQLite)
—
...
http://www.gita.hu/e2013/b3/teradat_workshop.pdf
PostGIS —
PostgreSQL kiegészítő —
C++ és plpgsql nyelven íródott
—
Tárolt eljárások
—
Minden adatbázishoz hozzá kell adni, amiben használni szeretnénk Új adattípusok
—
Új összehasonlító operátorok
—
Új összegző függvények
—
Új elemzési lehetőségek
—
—
Geometriát a megjeleníteni
DBMS
rendszerek
nem
tudnak
Pár infó — http://wiki.hup.hu/index.php/PostGIS — http://www.agt.bme.hu/gis/postgis/ — http://workshops.boundlessgeo.com/postgis
-intro/geometries.html — http://www.gita.hu/e2013/b3/teradat_work shop.pdf
Megoldandó feladatok — Adat
séma definíció
— Adattárolás —
Helyhez kötött adatok
— Keresés
– indexelés
— Elemzések — Vetületek
átszámítása
— Geometriai
adatfelvitel?
Séma definíció —
OGC: Simple Feature SQL
—
A geometriai adatok egy mezőben kerülnek ábrázolásra
—
Kódolt forma
—
Nem csak koordináta, hanem teljes poligon is is lehet egy mezőben
CREATE TABLE alappontok ( pid integer NOT NULL DEFAULT nextval('alappontok_pid_seq'::regclass), nev character(5), coord geometry(Point,23700), CONSTRAINT pk_pid PRIMARY KEY (pid) )
Típusok — Point — Linestring — Polygon — Polygonwithhole,
Multipoint, MultiLinestring, MultiPolygon, GeometryCollection
— SRID:
Vetület megadása
Adattárolás - WKT Well Known Text – szöveges adatmegadás egyszerű elemek (2D) —
POINT (30 10) pont,
—
LINESTRING (30 10, 10 30, 40 40) törtvonal,
—
POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10)) felület,
—
POLYGON ((35 10, 10 20, 15 40, 45 45, 35 10), (20 30, 35 35, 30 20, 20 30)) felület lyukkal
több azonos típusú részből —
MULTIPOINT ((10 40 32), (40 30 41), (20 20 22)) 3D
—
MULTIPOINT (10 40 32, 40 30 41, 20 20 22)
—
MULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10))
—
MULTIPOLYGON (((30 20, 10 40, 45 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5)))
—
MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), ((20 35, 45 20, 30 5, 10 10, 10 30, 20 35), (30 20, 20 25, 20 15, 30 20)))
több eltérő típusú részből (nem minden kliens támogatja) —
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10))
—
POINT ZM (1 1 5 60)
http://www.gita.hu/e2013/b3/teradat_workshop.pdf
Adattárolás - WKB Well Known Binary – bináris adatmegadás — 01040000000100000001010000009239006
4507D1C412F1B85CA03BD0F41
— MULTIPOINT(466772.10 — PostGIS
EWKT/EWKB tartalmazza —
260000.47) –
vetületet
is
"SRID=23700;POINT((466772.09765710 8 260000.473886692))"
http://www.gita.hu/e2013/b3/teradat_workshop.pdf
Keresés — Geometriai
kapcsolatok elemzése
— Megjelenítés — Indexelés —
GIST
— CREATE
INDEX vez_geom_idx vezetekek USING GIST ( geom );
ON
Elemzéső függvények —
ST_Equals(GEOMETRY,GEOMETRY)
—
ST_Contains(GEOMETRY,GEOMETRY)
—
ST_Within(GEOMETRY,GEOMETRY)
—
ST_Intersects(GEOMETRY,GEOMETRY)
—
ST_Crosses(GEOMETRY,GEOMETRY)
—
ST_Disjoint(GEOMETRY,GEOMETRY)
—
ST_DWithin(GEOMETRY,GEOMETRY,DISTANCE)
—
ST_Relate((GEOMETRY,GEOMETRY)
—
ST_Intersection(GEOMETRY,GEOMETRY)
—
ST_Union(GEOMETRY,GEOMETRY)
—
ST_Buffer(GEOMETRY,DISTANCE)
—
ST_ConvexHull(GEOMETRY)
—
ST_Transform(GEOMETRY,SRID)
Lekérdező függvények —
ST_Area(POLYGON)
—
ST_Perimeter(GEOMETRY)
—
ST_Distance(GEOMETRY,GEOMETRY)
—
ST_Dimension(GEOMETRY)
—
ST_AsText(GEOMETRY)
—
ST_X(POINT)
—
ST_Y(POINT)
—
ST_NumPoints(GEOMETRY)
—
ST_PointN(GEOMETRY,integer)
—
ST_NumGeometries(GEOMETRY)
—
ST_GeometryN(GEOMETRY,integer)
—
ST_GeometryType(GEOMETRY)
Operátorok — <->
Távolság
—~
Tartalmaz
—@
Benne van
— ~=
Azonos
— http://postgis.refractions.net/documentati
on/manual-2.0/reference.html
Vetületek — Proj
függvénykönyvtár
— SRID —
EOV: 23700
—
WGS84: 4326
—
Google mercator: 900913 vagy 3857
Adatfelvitel —
DBMS —
Geometriai (WKT)
adatot
csak
—
Külső adatforrások (import)
—
Grafikus program —
QGIS
—
Geomedia
—
ArcGIS
—
Web
—
...
szövegesen
lehet
Kérdés — Miért
különül megjelenítéstől?
el
az
adatháttér
a
—
Mert az adatháttér több alkalmazás számára is használható lehet, felesleges többször tárolni
—
Egy alkalmazásban ugyanaz többször is megjelenhet, kinézettel.
az de
adat más
WebGIS —
Weboldal (html, javascript, java, flash...) —
Webserver (Apache, Tomcat, Lighthttpd, IIS) —
Térképszerver (Geoserver, Mapserver) — WMS raszteres, georeferált adat — Web Map Service — Képek (tif) — WFS vektoros, georeferált adat — Web Feature Service — Adatbázis (PostGIS, shapefile, csv...) — WPS — Web Processing Service — Elemzések a szerveren futnak
Szótár I. —
Proj —
—
GDAL —
—
Képek átalakítására, georeferálására, készítésre használható függvénykönyvtár
képpiramis
WKT —
—
Vetületi számításokért felelős függvénykönyvtár, megtalálható benne a legtöbb vetületi rendszer
Well Known Test – geometriai objektumok szöveges leírása
WKB —
Well known Binary - geometriai objektumok bináris leírása
Szótár II. —
OpenStreetMap (OSM) —
—
Ajax —
—
Ajax segítségével továbbított jól struktúrált adat
ExtJS, GeoExt, OpenLayers —
—
Aszinkron kommunikáció a böngésző és a szerver közt (Oldal egyes részeinek megváltoztatása a teljes újratöltés nélkül)
JSON, GeoJSON —
—
Ingyenes, közösségi vektoros térkép
Böngészőben használható javascript függvénykönyvtárak, megkönnyítik a megjelenítés megvalósítását
Pmapper —
Komplex megvalósítás
QGIS — Ingyenes — PostGIS
térinformatikai software
adatokat olvas
— Rengeteg
fajta ki és bemeneti adatok
— Digitalizálásra — Saját
is alkalmas
geometriai elemző funkciók
WebGIS
Gyakorlati ötletek
Adat generálás —
Pilot projekthez (vagy HF)
—
Teszteléshez – váratlan adatok
—
Excel —
RAND() / VÉL()
—
RANDBETWEEN() / VÉLETLEN.KÖZÖTT()
—
Webes generátorok
—
Máshonnan szerzett adatok
Adat beolvasás —
Excel CSV
—
Elválasztó — Idézőjel — Karakter kódolás – különleges karakterek — Sorvége — Üres mezők PDF —
—
Copy - Paste
—
Text to columns (Szövegből oszlopok)
—
—
OCR —
Optikai karakter felismerés
Elemzések Excel-ben —
Ctrl+F
—
Filter
—
VLOOKUP() / FKERES() —
Rendezett vagy rendezetlen lista
—
Összetett kulcs?
—
HLOOKUP() / VKERES()
—
CONCATENATE() / ÖSSZEFŰZ()
—
TRIM() / KIMETSZ()
Mintavideók — OCR:
http://www.youtube.com/watch?v=mR7E7 -VAWTQ — VLOOKUP: http://www.youtube.com/watch?v=VYOSU iRGmuA — Text to Columns: http://www.youtube.com/watch?v=K7urf2 cKPF8 —
ZH megtekintés
Köszönöm a figyelmet! Adatbázis rendszerek