はい、今日が金曜日であることは知っていますが、これらの#GeospatialTuesdayの投稿を共有するのは来週まで待ちきれません! MathiasKemeterのGoodThingsCome Together:DBeaver、SAP HANA Spatial&Beerを読んだ後、私はとてもワクワクしています。
1分間の弱点…
彼のポストで私を興奮させたのはビールだけではありませんでしたが…はい、ミュンヘンがドイツのビールの目的地であることを確認できます。私は人生で一度だけそこにいました— 2018年の夏に私たちのチーム(ここではトーマスグラスル、マクシミリアンストライフェンダー、エシャンノビャム、マイルズフェンロン、マリウスオベール、ケビンミューシグ)と会うために…
…そしてバイエルンビールを楽しむには?
…しかし今:要点に戻る
Matthiasが共有したことで私を本当に興奮させたのは、DBeaverに組み込まれた空間データのプレビューと、SAPHANAの結果もサポートするようになったという事実です。
以前のブログで、HANA SQLから空間結果をコピーして、外部のWebビジュアライザーに貼り付けるか、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
へ そして…ブーム!! マップ上で結果のプレビューを取得しました!
私がどれほど興奮しているかを読んでいただけるかどうかわかりません。そして、私は!!私は!!!
2.0からのいくつかの新しいSPS04地理空間機能を使用しましょう
前回の投稿では、すでに新しい六角形のグリッドクラスタリングを使用しました。上記のクエリと組み合わせて、今すぐオーストラリアに敬意を表しましょう。
--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.0SPS04のパラメータ。
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;