有没有办法用MongoDB查询完全覆盖给定多边形的所有位置(存储为geojson的多边形列表)?
我在MongoDB中有一个作为geoJson存储的多边形列表。 其中一个多边形的示例: { “区域”:“区域123”, “边界”:{ “类型”:“多边形”, “坐标”:[[100,12]、[120,12]、[120,15]、[100,12]] } } 边界是一个二维球体索引 使用$geointen,我可以指定一个更大的多边形,并返回完全位于这个更大多边形内的Area123 是否有方法指定位于Area123内的较小多边形,并让MongoDB返回Area123?您可以使用专门查找与其他多边形相交的多边形的用户。您可以这样做:有没有办法用MongoDB查询完全覆盖给定多边形的所有位置(存储为geojson的多边形列表)?,mongodb,polygon,geospatial,geojson,Mongodb,Polygon,Geospatial,Geojson,我在MongoDB中有一个作为geoJson存储的多边形列表。 其中一个多边形的示例: { “区域”:“区域123”, “边界”:{ “类型”:“多边形”, “坐标”:[[100,12]、[120,12]、[120,15]、[100,12]] } } 边界是一个二维球体索引 使用$geointen,我可以指定一个更大的多边形,并返回完全位于这个更大多边形内的Area123 是否有方法指定位于Area123内的较小多边形,并让MongoDB返回Area123?您可以使用专门查找与其他多边形相交的多
db.<collection>.find( { Boundary :
{ $geoIntersects :
{ $geometry :
{ type : "Polygon"
coordinates : [ <coordinates of Area123> ]
} } } } )
db..find({边界:
{$GEO交叉点:
{$geometry:
{类型:“多边形”
坐标:[]
} } } } )
但是,此查询将返回即使不包含Area123
的多边形,也会返回位于内部的多边形、相交的多边形等
因此,您可以检查每个返回的多边形是否包含Area123点。非常感谢!这就是我想要的,让所有多边形都包含一点、在一点之内和相交一点$geoIntersects工作完美!