st_force2d
対象: Databricks Runtime 18.1以降
備考
プレビュー
この機能は パブリック プレビュー段階です。
入力された地理情報または幾何学情報の2次元投影図を返します。
出力される地理情報またはジオメトリ値のSRID値は、入力値のSRID値と等しい。
入力がNoneの場合、この関数はNoneを返します。
対応する Databricks SQL 関数については、 st_force2d関数を参照してください。
構文
Python
from pyspark.databricks.sql import functions as dbf
dbf.st_force2d(col=<col>)
パラメーター
注意
入力にZ座標やM座標、あるいはその両方が含まれている場合、それらは出力から削除されます。
入力が既に2次元の場合、そのまま返されます。
例
地点地理情報からM座標を削除する:
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT M (1 2 3)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geogfromtext('wkt'))).alias('result')).collect()
Output
[Row(result='SRID=4326;POINT(1 2)')]
複数地点の地理情報からZ座標とM座標を削除する:
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('MULTIPOINT ZM (EMPTY,0 0 10 20, 1 1 11 21)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geogfromtext('wkt'))).alias('result')).collect()
Output
[Row(result='SRID=4326;MULTIPOINT(EMPTY,(0 0),(1 1))')]
ポリゴン地理情報からZ座標を削除する:
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POLYGON Z ((0 0 2,1 0 3,0 1 4,0 0 5))',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geogfromtext('wkt'))).alias('result')).collect()
Output
[Row(result='SRID=4326;POLYGON((0 0,1 0,0 1,0 0))')]
点ジオメトリからZ座標を削除する:
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT Z (1 2 3)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geomfromtext('wkt', 4326))).alias('result')).collect()
Output
[Row(result='SRID=4326;POINT(1 2)')]
ラインストリングジオメトリからZ座標とM座標を削除する:
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('LINESTRING ZM (0 0 10 20, 1 1 11 21)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geomfromtext('wkt', 4326))).alias('result')).collect()
Output
[Row(result='SRID=4326;LINESTRING(0 0,1 1)')]
入力された2Dジオメトリをそのまま返します。
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT(1 2)',)], ['wkt'])
df.select(dbf.st_asewkt(dbf.st_force2d(dbf.st_geomfromtext('wkt', 4326))).alias('result')).collect()
Output
[Row(result='SRID=4326;POINT(1 2)')]
入力地理情報のSRIDを保持する:
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT(1 2)',)], ['wkt'])
df.select(dbf.st_srid(dbf.st_force2d(dbf.st_geogfromtext('wkt'))).alias('result')).collect()
Output
[Row(result=4326)]
入力ジオメトリのSRIDを保持する:
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('POINT(1 2)',)], ['wkt'])
df.select(dbf.st_srid(dbf.st_force2d(dbf.st_geomfromtext('wkt', 4326))).alias('result')).collect()
Output
[Row(result=4326)]
入力がNoneの場合、 None返します。
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(None,)], ['wkt'])
df.select(dbf.st_force2d(dbf.st_geogfromtext('wkt')).alias('result')).collect()
Output
[Row(result=None)]