Description Usage Arguments See Also Examples
View source: R/spatial_queries.R
Given a spatial RDD, a query object x
, and an integer k, find the k
nearest spatial objects within the RDD from x
(distance between
x
and another geometrical object will be measured by the minimum
possible length of any line segment connecting those 2 objects).
1 2 3 4 5 6 7 | sedona_knn_query(
rdd,
x,
k,
index_type = c("quadtree", "rtree"),
result_type = c("rdd", "sdf", "raw")
)
|
rdd |
A Sedona spatial RDD. |
x |
The query object. |
k |
Number of nearest spatail objects to return. |
index_type |
Index to use to facilitate the KNN query. If NULL, then
do not build any additional spatial index on top of |
result_type |
Type of result to return.
If "rdd" (default), then the k nearest objects will be returned in a Sedona
spatial RDD.
If "sdf", then a Spark dataframe containing the k nearest objects will be
returned.
If "raw", then a list of k nearest objects will be returned. Each element
within this list will be a JVM object of type
|
Other Sedona spatial query:
sedona_range_query()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | library(sparklyr)
library(sparklyr.sedona)
sc <- spark_connect(master = "spark://HOST:PORT")
if (!inherits(sc, "test_connection")) {
knn_query_pt_x <- -84.01
knn_query_pt_y <- 34.01
knn_query_pt_tbl <- DBI::dbGetQuery(
sc,
sprintf(
"SELECT ST_GeomFromText(\"POINT(%f %f)\") AS `pt`",
knn_query_pt_x,
knn_query_pt_y
)
)
knn_query_pt <- knn_query_pt_tbl$pt[[1]]
input_location <- system.file(
file.path("extdata", "polygon.json"), package = "sparklyr.sedona"
)
rdd <- sedona_read_geojson_to_typed_rdd(
sc,
location = input_location,
type = "polygon"
)
knn_result_sdf <- sedona_knn_query(
rdd, x = knn_query_pt, k = 3, index_type = "rtree", result_type = "sdf"
)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.