st_force2d

Şunun için geçerlidir:onaylı olarak işaretlendi Databricks Runtime 18.1 ve üstü

Önemli

GEOGRAPHY değerleri desteği Genel Önizleme aşamasındadır. GEOMETRY değerleri için destek genel kullanıma sunulmuştur.

Giriş Coğrafya veya Geometri değerinin 2B projeksiyonunu döndürür.

Çıkış Coğrafya veya Geometri değerinin SRID değeri, giriş değerinin değerine eşittir.

Giriş Yok ise işlev None döndürür.

İlgili Databricks SQL fonksiyonu için bakınız st_force2d fonksiyonu.

Sözdizimi

from pyspark.databricks.sql import functions as dbf

dbf.st_force2d(col=<col>)

Parametreler

Parametre Türü Açıklama
col pyspark.sql.Column veya str Coğrafya veya Geometri değeri.

Notlar

Girişin Z ve/veya M koordinatları varsa bunlar çıktıya bırakılır.

Giriş zaten 2B ise olduğu gibi döndürülür.

Örnekler

Bir nokta coğrafyasından M koordinatını bırakın:

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

Çok noktalı bir coğrafyadan Z ve M koordinatlarını bırakın:

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

Z koordinatını bir çokgen coğrafyadan çıkarın.

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

Nokta geometrisinden Z koordinatını bırakın:

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

Z ve M koordinatlarını bir çizgi dizesi geometrisinden bırakın:

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

Giriş 2B geometrisini olduğu gibi geri döndür.

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

Giriş coğrafyasının SRID'sini koruyun:

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

Giriş geometrisinin SRID'sini koruyun:

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

bir girdisi için None dö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)]