我试图评估一个点的坐标x,y是否在一个多多边形中,这个多多边形是通过R中的osmdata库中的API获得的。
在dat1中,我从OSM中获取多面。在ptCoord中,我输入要评估的点并设置crs。
这两个变量都是sfc对象,但是我似乎不能使用sf::st_contains来评估点是否在多面中
任何帮助将不胜感激,我花了2个多小时浏览在线文档和资源不成功。
dat1 <- opq_osm_id (type = "relation", id = 1237758) %>%
opq_string () %>%
osmdata_sf ()
ptCoord <- ptCoord = st_sfc(st_point(c(10.713097, 47.54761)), crs = 4326)
sf::st_contains(dat1$osm_multipolygons, ptCoord)
#Sparse geometry binary predicate list of length 1, where the predicate
#was `contains'
#1: (empty)
1条答案
按热度按时间igetnqfo1#
结果似乎是对的,点不在多边形中,请参见:
图中显示
ptCoord
不在poly
中,因此结果为空。看看如果我们选择多边形中的一个点会如何表现(我用st_sample()
对此进行了采样)因此,在这种情况下,结果是
alt
包含在对象poly
的多边形1
中创建于2023-04-18带有reprex v2.0.2