Pretty sure this is going to be an easy one, but looking for the most efficient way to take a multipoint layer from a public feature service where there is ever only one point in each feature, and convert it to point when loading a dataframe.
url = "https://services6.arcgis.com/GB33F62SbDxJjwEL/arcgis/rest/services/Vicmap_Features_of_Interest/FeatureServer/1"
query = "feature_subtype = 'aged care'"
aged_care_df = spark.read.format("feature-service").load(url)\
.withColumn("shape", ST.transform("shape", 4326)) \
.filter(query)This returns a points geometry object:

I have tried using ST_GeometryN to then convert this to a point geometry type.
attempt1 = aged_care_df.select(ST.geometry_n("shape", 1)) But this returns a series of nulls:

Would like to avoid doing any string manipulation in python, and looking for the best way to convert these into point geometry types.
Longer term goal is to end up with a dataframe with an array of points for the setStops parameter in the Create Routes tool.