Delen via


st_force2d

Van toepassing op:aangevinkt ja Databricks Runtime 18.1 en hoger

Belangrijk

Deze functie bevindt zich in openbare preview-versie.

Retourneert de 2D-projectie van de ingevoerde geografie - of geometriewaarde .

De SRID-waarde van de uitvoer geografie - of geometriewaarde is gelijk aan die van de invoerwaarde.

De functie retourneert Geen als de invoer Geen is.

Voor de overeenkomstige Databricks SQL-functie, zie de st_force2d functie.

Syntaxis

from pyspark.databricks.sql import functions as dbf

dbf.st_force2d(col=<col>)

Parameterwaarden

Kenmerk Typ Beschrijving
col pyspark.sql.Column of str Een geografie of geometriewaarde.

Aantekeningen

Als de invoer Z- en/of M-coördinaten heeft, worden deze verwijderd in de uitvoer.

Als de invoer al 2D is, wordt deze als zodanig geretourneerd.

Examples

Laat de M-coördinaat weg uit een geografisch punt.

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

Z- en M-coördinaten verwijderen uit een geografie met meerdere locaties:

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

Verwijder de Z-coördinaat uit een geografie met veelhoeken:

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

Haal de Z-coördinaat weg uit een puntgeometrie.

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

Verwijder Z- en M-coördinaten uit een lijnenstring-geometrie.

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

Retourneer de invoer 2D-geometrie zoals het is.

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

Behoud de SRID van de invoergeografie:

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

Behoud de SRID van de invoergeometrie:

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

Retourneer None met een invoer van 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)]