メインコンテンツまでスキップ

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

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または str

地理または幾何学の値。

注意

入力に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)]