1
在此先感谢所有帮助。
我有两个重叠的复杂多边形。
我需要获取重叠区域的边框。
MongoDB:找到两个多边形的公共区域
我有这两个多边形的边界的坐标,我想找回黄色区域的边界的坐标。
我试图获得$ geoWithing协调各自在对方的,但随后的坐标是无序的,我不能正确绘制多边形。
并与$ geoIntersects我只获得边界的交点坐标,这是不足以绘制所需的区域。
有人必须这样做之前,所以我希望它达到可以帮助的人。
//Get first zone coordinates within zone 2
var zoneOneArea = db.zone.find(
{
"name":"Zone 1",
"location":
{
$geoWithin:
{
$polygon: zoneTwoCoordinatesArray
}
}
});
//Get zone 2 coordinates within zone 1
var zoneTwoArea = db.zone.find(
{
"name":"Zone 2",
"location":
{
$geoWithin:
{
$polygon: zoneOneCoordinatesArray
}
}
});
所以,这就是我都试过了,但我不能让这两个结果的有序老式阵列能够正确绘制。
MongoDB不这样做。您可以在一个聚合管道中组合两个'$ geoIntersects'来找到相交区域内的“点”,但不是相交区域本身。您需要检索数据并使用您选择的外部API工作。有一些流行的为大多数语言实施。 –
好吧,我看到,我需要做这个计算服务器端,并从数据库中直接组织。你知道PostGIS是否有这样的功能?感谢你的回答 – CriPstian