Да, знам, че днес е петък, но нямам търпение до следващата седмица, за да споделя тези #GeospatialTuesday публикации! Колко съм развълнуван, след като прочетох „Добрите неща идват заедно“ на Матиас Кеметр:DBeaver, SAP HANA Spatial &Beer.
Минута на слабост...
Не само бирата ме развълнува в публикацията му, но... Да, мога да потвърдя, че Мюнхен е германската дестинация за бира. Бях там само веднъж в живота си — за да се срещна с нашия екип (тук с Томас Грасл, Максимилиан Щрайфенедер, Ешано Биам, Майлс Фенлон, Мариус Оберт и Кевин Мюсиг) през лятото на 2018 г.…
…и да се насладите на баварски бири?
...но сега:обратно към въпроса
Това, което наистина ме развълнува в това, което Матиас сподели, бяха вградената визуализация за пространствени данни в DBeaver и фактът, че вече поддържа и SAP HANA резултати!
Видяхте в предишните ми блогове, че трябваше да копирам пространствени резултати от HANA SQL и да ги поставя във външни уеб визуализатори или дори да напиша своя собствена визуализация с помощта на ASCIIart.
Вече не!
Отне ми само няколко минути, за да инсталирам DBeaver, да го свържа с моя SAP HANA Express екземпляр и да задействам първите заявки незабавно, визуализирайки резултатите под формата на пространствени визуализации или на картата!
В предишната си публикация заредих набор от пространствени данни WORLD_BOARDERS
, така че нека поиграем с него, за да направим малко 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;
Сега преминаваме към пространствена визуализация в DBeaver.
Сега ми позволете да превключя пространствената референтна система от Simple
до EPSG:4326
и ... бум!! Получих предварителен преглед на резултата на картата!
Не знам дали можете да прочететеколко съм развълнуван! И аз съм!! АЗ СЪМ!!!
Нека използваме някои нови геопространствени функции на SPS04 от 2.0
В предишната публикация използвах вече ново клъстериране с шестоъгълна мрежа. Нека го комбинираме със заявката по-горе и да отдадем почит на Австралия сега.
--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;
Сега нека го комбинираме с подобрения ST_Buffer
метод, който получава новия number_of_interpolation_points
параметър в 2.0 SPS04.
Нека използваме number_of_interpolation_points
параметър равен на 3
за да получите карта на Австралия, направена от триъгълници.
--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;