Ano, vím, že dnes je pátek, ale nemůžu se dočkat příštího týdne a sdílet tyto #GeospatialTuesday příspěvky! Po přečtení knihy Mathiase Kemetera Good Things Come Together:DBeaver, SAP HANA Spatial &Beer jsem nadšený.
Minuta slabosti…
Nebylo to jen pivo, co mě v jeho příspěvku nadchlo, ale... Ano, mohu potvrdit, že Mnichov je německou destinací na pivo. Byl jsem tam jen jednou v životě — na setkání s naším týmem (zde s Thomasem Grasslem, Maximilianem Streifenederem, Eshanno Byamem, Mylesem Fenlonem, Mariusem Obertem a Kevinem Muessigem) v létě 2018…
…a vychutnat si bavorská piva?
…ale teď:zpět k věci
Co mě opravdu pobavilo v tom, co Matthias sdílel, byl vestavěný náhled pro prostorová data v DBeaver a skutečnost, že nyní podporuje také výsledky SAP HANA!
V mých předchozích blozích jste viděli, že jsem musel zkopírovat prostorové výsledky z HANA SQL a vložit je do externích webových vizualizérů nebo dokonce napsat vlastní vizualizaci pomocí ASCIIart.
Už ne!
Nainstalovat DBeaver, připojit jej k instanci SAP HANA Express a okamžitě spustit první dotazy s náhledem výsledků ve formě prostorových vizualizací nebo na mapě mi trvalo jen pár minut!
V předchozím příspěvku jsem načetl soubor prostorových dat WORLD_BOARDERS
, tak si s tím pohrajeme a uděláme nějaké GeoArt.
WITH POINTS_GRID AS
(SELECT NEW st_point(glng.generated_period_start, glat.generated_period_start) AS point
FROM
series_generate_decimal(0.3, -88, 88 + 0.3) AS glat
CROSS JOIN series_generate_decimal(0.3, -180, 180 + 0.3) AS glng)
SELECT point FROM POINTS_GRID g, TM.WORLD_BORDERS b
WHERE
b.ISO2 = 'UA'
AND point.st_within(shape)=1;
Nyní přepínáte na prostorový náhled v DBeaver.
Nyní mi dovolte přepnout Spatial Reference System z Simple
na EPSG:4326
a … bum!! Získal jsem náhled výsledku na mapě!
Nevím, jestli dokážete číst,jak jsem nadšená! A já jsem!! JÁ JSEM!!!
Pojďme použít některé nové geoprostorové funkce SPS04 od verze 2.0
V předchozím příspěvku jsem použil již nové shlukování hexagonální mřížky. Spojme to s výše uvedeným dotazem a vzdejme nyní hold Austrálii.
--Honeycombs
WITH POINTS_GRID AS
(SELECT NEW st_point(glng.generated_period_start, glat.generated_period_start) AS point
FROM
series_generate_decimal(0.3, -88, 88 + 0.3) AS glat
CROSS JOIN series_generate_decimal(0.3, -180, 180 + 0.3) AS glng)
SELECT COUNT(*), ST_ClusterID(), ST_ClusterCell() as "Honeycomb"
FROM (SELECT point FROM POINTS_GRID g, TM.WORLD_BORDERS b
WHERE
b.ISO2 = 'AU'
AND point.st_within(shape)=1)
GROUP CLUSTER BY point
USING HEXAGON X CELLS 30;
Nyní to zkombinujme s vylepšeným ST_Buffer
metoda, která získá nový number_of_interpolation_points
parametr v 2.0 SPS04.
Použijme number_of_interpolation_points
parametr rovný 3
získat mapu Austrálie složenou z trojúhelníků.
--Buffers
WITH POINTS_GRID AS
(SELECT NEW st_point(glng.generated_period_start, glat.generated_period_start) AS point
FROM
series_generate_decimal(0.3, -88, 88 + 0.3) AS glat
CROSS JOIN series_generate_decimal(0.3, -180, 180 + 0.3) AS glng)
SELECT ST_ClusterCell().ST_Centroid().ST_Buffer(0.4, 3) as "Buffer"
FROM (SELECT point FROM POINTS_GRID g, TM.WORLD_BORDERS b
WHERE
b.ISO2 = 'AU'
AND point.st_within(shape)=1)
GROUP CLUSTER BY point
USING HEXAGON X CELLS 30;