Ja, jag vet att det är fredag idag, men jag kan inte vänta till nästa vecka med att dela dessa #GeospatialTuesday-inlägg! Det är hur glad jag är efter att ha läst Mathias Kemeters Good Things Come Together:DBeaver, SAP HANA Spatial &Beer.
En minut av svaghet...
Det var inte bara öl som gjorde mig upphetsad i hans inlägg, utan... Ja, jag kan bekräfta att München är den tyska destinationen för en öl. Jag var där bara en gång i mitt liv — för att träffa vårt team (här med Thomas Grassl, Maximilian Streifeneder, Eshanno Byam, Myles Fenlon, Marius Obert och Kevin Muessig) sommaren 2018...
…och att njuta av bayersk öl?
...men nu:tillbaka till saken
Det som verkligen gladde mig i det Matthias delade var den inbyggda förhandsgranskningen av rumslig data i DBeaver och det faktum att den nu också stöder SAP HANA-resultat!
Du har sett i mina tidigare bloggar att jag var tvungen att kopiera rumsliga resultat från HANA SQL och klistra in dem i externa webbvisualiserare, eller till och med skriva min egen visualisering med ASCIIart.
Inte längre!
Det tog mig bara några minuter att installera DBeaver, att ansluta den till min SAP HANA Express-instans och att skicka de första frågorna som omedelbart förhandsgranskar resultaten i form av rumsliga visualiseringar eller på kartan!
I mitt tidigare inlägg laddade jag rumslig datamängd WORLD_BOARDERS
, så låt oss leka med det för att göra lite 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;
Byter nu till Spatial förhandsvisning i DBeaver.
Låt mig nu byta Spatial Reference System från Simple
till EPSG:4326
och … boom!! Jag fick förhandsgranskningen av resultatet på kartan!
Jag vet inte om du kan läsa hur exalterad jag är! Och jag är!! JAG ÄR!!!
Låt oss använda några nya SPS04 geospatiala funktioner från 2.0
I förra inlägget använde jag redan nya hexagonala rutnätsklustringar. Låt oss kombinera det med frågan ovan och hylla Australien nu.
--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;
Låt oss nu kombinera det med den förbättrade ST_Buffer
metod, som får den nya number_of_interpolation_points
parameter i 2.0 SPS04.
Låt oss använda number_of_interpolation_points
parameter lika med 3
för att få en karta över Australien gjord av trianglar.
--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;