Aller au contenu principal

st_force2d

S'applique à : coché oui Databricks Runtime 18.1 et versions ultérieures

info

Aperçu

La prise en charge des valeurs GEOGRAPHY est en aperçu public. La prise en charge des valeurs GEOMETRY est généralement disponible.

Renvoie la projection 2D de la valeur d'entrée Geography ou Geometry.

La valeur SRID de la valeur de sortie Géographie ou Géométrie est égale à celle de la valeur d'entrée.

La fonction renvoie None si l’entrée est None.

Pour la fonction Databricks SQL correspondante, consultez la fonctionst_force2d.

Syntaxe

Python
from pyspark.databricks.sql import functions as dbf

dbf.st_force2d(col=<col>)

parameter

parameter

Type

Description

col

pyspark.sql.Column OU str

Une valeur de géographie ou de géométrie.

parameter

Type

Description

col

pyspark.sql.Column OU str

Une valeur de géographie ou de géométrie.

Notes

Si l'entrée a des coordonnées Z et/ou M, celles-ci sont supprimées dans la sortie.

Si l'entrée est déjà en 2D, elle est renvoyée telle quelle.

Exemples

Supprimez la coordonnée M d'une géographie de points :

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

Supprimer les coordonnées Z et M d'une géographie multipoint :

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

Supprimer la coordonnée Z d'une géographie de polygone :

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

Supprimez la coordonnée Z d'une géométrie ponctuelle :

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

Supprimer les coordonnées Z et M d'une géométrie de type LineString :

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

Renvoyer la géométrie 2D d'entrée telle quelle :

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

Conserver le SRID de la géographie d'entrée :

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

Préservez le SRID de la géométrie d'entrée :

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

Renvoyer None avec une entrée de 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)]