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); 在查找()之前;查看显示问题所在的数组值

于 2013-02-12T04:16:48.970 回答