0

境界ボックス ((ra_min,dec_min),(ra_max,dec_max)) 内のデータを取得したい。以下の何が問題なのか誰か教えてもらえますか?

php コードとデータの構造は次のとおりです。ありがとう......

構造 :

    {
        "filter": "E", 
        "loc": {
            "dec": 130, 
            "ra": 15
        }, 
        "path": "00015+00130E.jpeg"
    }, 
    {
        "filter": "Z", 
        "loc": {
            "dec": 130, 
            "ra": 15
        }, 
        "path": "00015+00130Z.jpeg"
    },

コード :

$lowerLeft = array("ra"=>$RA_min - $ra_offset, "dec"=>$DEC_min - $dec_offset);
$upperRight= array("ra"=>$RA_max + $ra_offset, "dec"=>$DEC_max + $dec_offset);

$cond = array("loc" => array('$within' => array('$box' => $lowerLeft, $upperRight)));
$cursor = $collection->find($cond);
4

1 に答える 1

0

問題は $box の使用法にあると思います

$box 使用例:

$cursor = $collection->find( array( 'loc'=>array('$within'=> array('$box'=>array(array(0,0), array(100,100) ) ) ) ));

これにより、ポイントが [0,0]、[0,100]、[100,0]、および [100,100] のボックス内にあるすべてのドキュメントが返されます。

print_r($cond); を使用します。find() の前に; 問題がどこにあるかを示す配列値を参照してください

于 2013-02-12T04:16:48.970 に答える