DBeaver
 sql >> Database >  >> Database Tools >> DBeaver

GeoArt con SAP HANA e DBeaver

Sì, lo so che oggi è venerdì, ma non vedo l'ora che arrivi la prossima settimana per condividere questi post di #GeospatialTuesday! Sono elettrizzato dopo aver letto Good Things Come Together:DBeaver, SAP HANA Spatial &Beer di Mathias Kemeter.

Un minuto di debolezza...

Non è stata solo la birra ad entusiasmarmi nel suo post, ma… Sì, posso confermare che Monaco è la destinazione tedesca per una birra. Ci sono stato solo una volta nella mia vita, per incontrare il nostro team (qui con Thomas Grassl, Maximilian Streifeneder, Eshanno Byam, Myles Fenlon, Marius Obert e Kevin Muessig) nell'estate 2018...

…e per gustare le birre bavaresi?

… ma ora:torniamo al punto

Ciò che mi ha davvero entusiasmato in ciò che Matthias ha condiviso sono state l'anteprima integrata per i dati spaziali in DBeaver e il fatto che ora supporta anche i risultati SAP HANA!

Hai visto nei miei blog precedenti che dovevo copiare i risultati spaziali da HANA SQL e incollarli in visualizzatori web esterni, o anche scrivere la mia visualziation usando ASCIIart.

Non più!

Mi ci sono voluti solo pochi minuti per installare DBeaver, per connetterlo alla mia istanza SAP HANA Express e per attivare le prime query visualizzando immediatamente in anteprima i risultati sotto forma di visualizzazioni spaziali o sulla mappa!

Nel mio post precedente ho caricato il set di dati spaziali WORLD_BOARDERS , quindi giochiamoci per fare un po' di 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;

Ora si passa all'anteprima spaziale in DBeaver.

Ora lasciami cambiare il sistema di riferimento spaziale da Simple a EPSG:4326 e... boom!! Ho l'anteprima del risultato sulla mappa!

Non so se puoi leggere quanto sono emozionato! E io sono!! IO SONO!!!

Utilizziamo alcune nuove funzionalità geospaziali SPS04 della versione 2.0

Nel post precedente ho utilizzato già il nuovo clustering della griglia esagonale. Uniamolo alla query sopra e rendiamo omaggio all'Australia ora.

--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;

Ora combiniamolo con il ST_Buffer avanzato metodo, che ottiene il nuovo number_of_interpolation_points parametro in 2.0 SPS04.

Usiamo number_of_interpolation_points parametro uguale a 3 per ottenere una mappa dell'Australia fatta di triangoli.

--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;