DBeaver
 sql >> Base de Dados >  >> Database Tools >> DBeaver

GeoArt com SAP HANA e DBeaver


Sim, eu sei que hoje é sexta-feira, mas mal posso esperar até a próxima semana para compartilhar esses posts #GeospatialTuesday! É como estou emocionado depois de ler Good Things Come Together:DBeaver, SAP HANA Spatial &Beer, de Mathias Kemeter.

Um minuto de fraqueza…


Não foi só a cerveja que me empolgou no post dele, mas… Sim, posso confirmar que Munique é o destino alemão para uma cerveja. Eu estive lá apenas uma vez na minha vida – para encontrar nossa equipe (aqui com Thomas Grassl, Maximilian Streifeneder, Eshanno Byam, Myles Fenlon, Marius Obert e Kevin Muessig) no verão de 2018…

…e para desfrutar de cervejas bávaras?

…mas agora:de volta ao ponto


O que realmente me empolgou no que Matthias compartilhou foi a visualização integrada de dados espaciais no DBeaver e o fato de que agora ele também suporta os resultados do SAP HANA!

Você viu em meus blogs anteriores que eu tive que copiar resultados espaciais do HANA SQL e colá-los em visualizadores externos da web, ou até mesmo escrever minha própria visualização usando ASCIIart.

Não mais!

Levei apenas alguns minutos para instalar o DBeaver, conectá-lo à minha instância SAP HANA Express e disparar as primeiras consultas, visualizando imediatamente os resultados em uma forma de visualizações espaciais ou no mapa!

Na minha postagem anterior, carreguei o conjunto de dados espaciais WORLD_BOARDERS , então vamos brincar com ele para fazer um pouco de 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;

Agora alternando para a visualização espacial no DBeaver.



Agora deixe-me mudar o Sistema de Referência Espacial de Simple para EPSG:4326 e … boom!! Consegui a prévia do resultado no mapa!



Eu não sei se você pode ler como estou animado! E eu sou!! EU SOU!!!

Vamos usar alguns novos recursos geoespaciais do SPS04 da versão 2.0


No post anterior eu já usei o novo agrupamento de grade hexagonal. Vamos combiná-lo com a consulta acima e prestar homenagem à Austrália agora.
--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;



Agora vamos combiná-lo com o ST_Buffer aprimorado método, que obtém os novos number_of_interpolation_points parâmetro em 2.0 SPS04.

Vamos usar number_of_interpolation_points parâmetro igual a 3 para obter um mapa da Austrália feito de triângulos.
--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;