0
mongodb
に$geointersects
を使用して、ポイントが位置するポリゴンを探しています。 php
でそのために
私はテストデータを作成しました:
$collection = $db->selectCollection('countries');
$result = $collection->insertMany([
[
'c' => 'rus',
'n' => 'Russia',
'loc' => [
"type" => "Polygon",
"coordinates" => [
[-109.95117, 39.77477],
[-100.23926, 46.70974],
[-94.41608, 37.78902],
[-104.67541, 32.70375],
[-109.95117, 39.77477]
]
]
],[
'c' => 'can',
'n' => 'Canada',
'loc' => [
"type" => "Polygon",
"coordinates" => [
[-100.15137, 46.83013],
[-84.31555, 47.89965],
[-82.39746, 37.78808],
[-94.28467, 37.8228 ],
[-100.15137, 46.83013]
]
]
]
]);
結果は次のとおりです。
デシベル:
はその後
Robomongo
に私が選択を作っています。 getCollection( 'countries')。find({"loc":{$ geoIntersects: {$ジオメトリ:{ "タイプ": "ポイント"、 "座標":[-88.、41.8333926 ]}}}})
そして何行が返されません!ここで何が問題になるのでしょうか?シェルで
同じ:ここ
が、私は反対テストしていたポリゴンです:
:ここはポイント(41.8333926、-88.)locationです
mongodbの最新バージョンを使用しています:3.2.9。