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

GeoArt med SAP HANA och DBeaver

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;


  1. Hur hämtar man data från SQL Server baserat på nedanstående exempel?

  2. DBeaver 22.0

  3. Hur uppdaterar man automatiskt ett MYSQL-kolumnvärde med hjälp av formel och data från andra kolumner i samma rad?

  4. Oanvänd variabeldetektering i SQL Server