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

GeoArt med SAP HANA og DBeaver

Ja, jeg ved, at det i dag er fredag, men jeg kan ikke vente til næste uge med at dele disse #GeospatialTuesday-indlæg! Det er hvor begejstret jeg er efter at have læst Mathias Kemeters Good Things Come Together:DBeaver, SAP HANA Spatial &Beer.

Et minuts svaghed...

Det var ikke kun øl, der begejstrede mig i hans indlæg, men... Ja, jeg kan bekræfte, at München er den tyske destination for en øl. Jeg var der kun én gang i mit liv - for at mødes med vores team (her med Thomas Grassl, Maximilian Streifeneder, Eshanno Byam, Myles Fenlon, Marius Obert og Kevin Muessig) i sommeren 2018...

…og nyde bayerske øl?

...men nu:tilbage til sagen

Det, der virkelig opmuntrede mig i det, Matthias delte, var den indbyggede forhåndsvisning af rumlige data i DBeaver og det faktum, at det nu også understøtter SAP HANA-resultater!

Du har set i mine tidligere blogs, at jeg var nødt til at kopiere rumlige resultater fra HANA SQL og indsætte dem i eksterne webvisualizere eller endda skrive min egen visualisering ved hjælp af ASCIIart.

Ikke længere!

Det tog mig kun et par minutter at installere DBeaver, at forbinde den til min SAP HANA Express-instans og at affyre de første forespørgsler, der straks viser resultaterne i en form for rumlige visualiseringer eller på kortet!

I mit tidligere indlæg indlæste jeg geodatasæt WORLD_BOARDERS , så lad os lege med det for at lave noget 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;

Skifter nu til Spatial preview i DBeaver.

Lad mig nu skifte Spatial Reference System fra Simple til EPSG:4326 og … boom!! Jeg fik forhåndsvisningen af ​​resultatet på kortet!

Jeg ved ikke, om du kan læse hvor begejstret jeg er! Og jeg er!! JEG ER!!!

Lad os bruge nogle nye SPS04 geospatiale funktioner fra 2.0

I det forrige indlæg brugte jeg allerede nye sekskantede grid-klynger. Lad os kombinere det med forespørgslen ovenfor og hylde 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;

Lad os nu kombinere det med den forbedrede ST_Buffer metode, som får det nye number_of_interpolation_points parameter i 2.0 SPS04.

Lad os bruge number_of_interpolation_points parameter lig med 3 for at få et kort over Australien lavet af trekanter.

--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. Datoen bliver ikke sendt over til mysql

  2. Sådan får du FIO til at afspille et spor med flere tråde

  3. Fremmednøgle som primærnøgle

  4. Mere sikker og produktiv database- og kodeudvikling i opdateret SQL Complete