sql >> Base de Datos >  >> Database Tools >> DBeaver

GeoArt con SAP HANA y DBeaver

Sí, sé que hoy es viernes, ¡pero no puedo esperar hasta la próxima semana para compartir estas publicaciones de #GeospatialTuesday! Es lo emocionado que estoy después de leer Good Things Come Together:DBeaver, SAP HANA Spatial &Beer de Mathias Kemeter.

Un minuto de debilidad...

No fue solo la cerveza lo que me entusiasmó en su post, sino… Sí, puedo confirmar que Munich es el destino alemán para tomar una cerveza. Solo estuve allí una vez en mi vida:para reunirme con nuestro equipo (aquí con Thomas Grassl, Maximilian Streifeneder, Eshanno Byam, Myles Fenlon, Marius Obert y Kevin Muessig) en el verano de 2018...

…y para disfrutar de las cervezas bávaras?

... pero ahora:de vuelta al punto

Lo que realmente me emocionó de lo que Matthias compartió fue la vista previa integrada para datos espaciales en DBeaver y el hecho de que ahora también es compatible con los resultados de SAP HANA.

Ha visto en mis blogs anteriores que tenía que copiar resultados espaciales de HANA SQL y pegarlos en visualizadores web externos, o incluso escribir mi propia visualización usando ASCIIart.

¡Ya no!

¡Me tomó solo unos minutos instalar DBeaver, conectarlo a mi instancia de SAP HANA Express y disparar las primeras consultas inmediatamente con una vista previa de los resultados en forma de visualizaciones espaciales o en el mapa!

En mi publicación anterior, cargué un conjunto de datos espaciales WORLD_BOARDERS , así que juguemos con él para hacer algo 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;

Ahora cambiando a vista previa espacial en DBeaver.

Ahora déjame cambiar el Sistema de referencia espacial de Simple a EPSG:4326 y... ¡bum! ¡Obtuve la vista previa del resultado en el mapa!

No sé si puedes leer ¡qué emocionada estoy! ¡¡Y yo soy!! ¡¡¡YO SOY!!!

Usemos algunas características geoespaciales nuevas de SPS04 de 2.0

En la publicación anterior, utilicé un nuevo agrupamiento de cuadrícula hexagonal. Combinémoslo con la consulta anterior y rindamos homenaje a Australia ahora.

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

Ahora combinémoslo con el ST_Buffer mejorado método, que obtiene el nuevo number_of_interpolation_points parámetro en 2.0 SPS04.

Usemos number_of_interpolation_points parámetro igual a 3 para obtener un mapa de Australia hecho 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;