st_force2d
S'applique à : Databricks Runtime 18.1 et versions ultérieures
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
from pyspark.databricks.sql import functions as dbf
dbf.st_force2d(col=<col>)
parameter
parameter | Type | Description |
|---|---|---|
|
| 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 :
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()
[Row(result='SRID=4326;POINT(1 2)')]
Supprimer les coordonnées Z et M d'une géographie multipoint :
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()
[Row(result='SRID=4326;MULTIPOINT(EMPTY,(0 0),(1 1))')]
Supprimer la coordonnée Z d'une géographie de polygone :
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()
[Row(result='SRID=4326;POLYGON((0 0,1 0,0 1,0 0))')]
Supprimez la coordonnée Z d'une géométrie ponctuelle :
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()
[Row(result='SRID=4326;POINT(1 2)')]
Supprimer les coordonnées Z et M d'une géométrie de type LineString :
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()
[Row(result='SRID=4326;LINESTRING(0 0,1 1)')]
Renvoyer la géométrie 2D d'entrée telle quelle :
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()
[Row(result='SRID=4326;POINT(1 2)')]
Conserver le SRID de la géographie d'entrée :
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()
[Row(result=4326)]
Préservez le SRID de la géométrie d'entrée :
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()
[Row(result=4326)]
Renvoyer None avec une entrée de None:
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()
[Row(result=None)]