st_force2d

Platí pro:check označený ano Databricks Runtime 18.1 a novější

Důležité

Podpora hodnot GEOGRAPHY je ve verzi Public Preview. Podpora hodnot GEOMETRY je obecně dostupná.

Vrátí 2D projekci vstupní hodnoty Zeměpis nebo Geometrie .

Hodnota SRID výstupní hodnoty Zeměpis nebo Geometrie se rovná hodnotě vstupní hodnoty.

Funkce vrátí hodnotu None, pokud je vstup none.

Odpovídající funkci SQL Databricks vizte funkcest_force2d.

Syntaxe

from pyspark.databricks.sql import functions as dbf

dbf.st_force2d(col=<col>)

Parametry

Parametr Typ Description
col pyspark.sql.Column nebo str Hodnota Geografie nebo Geometrie.

Poznámky

Pokud vstup obsahuje souřadnice Z a/nebo M, ve výstupu budou vynechány.

Pokud je vstup již 2D, vrátí se tak, jak je.

Příklady

Odstraňte souřadnici M z bodové geografie:

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

Přetažení souřadnic Z a M z vícebodové geografické oblasti:

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

Odstraňte souřadnici Z z polygonové geografie.

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

Přesuňte souřadnici Z z geometrie bodu:

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

Zahoďte souřadnice Z a M z geometrie spojnic:

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

Vrátí vstupní 2D geometrii tak, jak je:

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

Zachovejte SRID vstupní geografie.

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

Zachování SRID vstupní geometrie:

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

Vrátit None při zadání 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)]