例: Tesselate_Search UDF - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - 地理空間データ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vci1556127188517.ditamap
dita:ditavalPath
ja-JP/vci1556127188517.ditaval
dita:id
B035-1181
Product Category
Software
Teradata Vantage

Tessellate_Indexメソッドを使用して挿入されたcities_indexテーブルに含まれるデータについて考察します。

   CREATE TABLE cities_index
      (skey INTEGER
      ,cellid INTEGER);

   INSERT INTO cities_index
   SELECT skey,
      cityShape.Tessellate_Index(-180, 0, 0, 90, 500, 500, 1, 0.01, 0)
   FROM sample_cities;

次に示す文では、Tessellate_Indexで使用したものと同じ母領域の座標とグリッド指定でTessellate_Search関数を使用します。

   SELECT c.skey, c.cityName, s.streetName, s.streetShape
   FROM sample_cities c
       ,cities_index ci
       ,(SELECT streetName, skey, streetShape ,streetShape.ST_MBR_Xmin()
               ,streetShape.ST_MBR_Ymin(), streetShape.ST_MBR_Xmax()
               ,streetShape.ST_MBR_Ymax()
         FROM sample_streets)
         AS s (streetName, skey, streetShape, xmin, ymin, xmax, ymax)
       ,TABLE (SYSSPATIAL.Tessellate_Search (
                   s.skey
                   ,s.xmin, s.ymin, s.xmax, s.ymax
                   ,-180, 0, 0, 90
                   ,500,500
                   ,1, 0.01, 0)) AS t
   WHERE c.skey = ci.skey
   AND ci.cellid = t.cellid
   AND t.out_key = s.skey;