Я использую mongo для хранения геолокализованных данных с целью их восстановления с помощью $ geointersect. В частности, у меня есть этот документ, хранящийся в моем db:MongoDB geointersect не удается найти большие полигоны
{
"loc": {
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-179.875,
-89.875
],
[
179.875,
-89.875
],
[
179.875,
89.875
],
[
-179.875,
89.875
],
[
-179.875,
-89.875
]
]
]
},
"crs": {
"type": "name",
"properties": {
"name": "urn:x-mongodb:crs:strictwinding:EPSG:4326"
}
},
"type": "Feature",
"properties": {}
},
"_id": "576af8e31d41c87fa1f1d04f"
}
Который, как вы можете заметить, охватывает почти весь мир. Теперь не имеет значения, какие координаты я вводил для моего запроса $ geointersect, он никогда не будет возвращен ... Кто-нибудь знает, почему?
Пример запроса я использую может быть:
[
{
"loc.geometry": {
"$geoIntersects": {
"$geometry": {
"type": "Polygon",
"coordinates": [
[
[
13.4307861328125,
41.599013054830216
],
[
13.9801025390625,
41.599013054830216
],
[
13.9801025390625,
41.80407814427234
],
[
13.4307861328125,
41.80407814427234
],
[
13.4307861328125,
41.599013054830216
]
]
]
}
}
}
},
{
"loc": 1
}
]
Конечно координаты запроса содержатся внутри многоугольника в сохраненном документе (я имею в виду ... Это как большой, как мир, дух!), но по какой-то причине он не находит никакого совпадения ... Я немного потерян.
Тот же самый проблемный человек, вы нашли решение? –
К сожалению, я этого не сделал. Но кажется, что если вы выберете в своем запросе область, достаточно большую, она покажет. – darkpirate