使用 astroquery 搜索列表

问题描述

我在下面有从 https://astroquery.readthedocs.io/en/latest/gaia/gaia.html 获得的以下代码。 当 const googleAuthProvider = new firebase.auth.GoogleAuthProvider(); br一个数字时,我得到 ra。但是,我不仅有一个数字,而且还有 ra 和 dec 的列表。当我尝试在下面的代码中为 decra 放入一个列表时,我收到一个错误消息,显示 dec。有没有办法使用 Error 500: nullbr 的列表找到 ra

dec

我是 astroquery 的新手,所以我们将不胜感激。

解决方法

嗨,恭喜你提出第一个 StackOverflow 问题。据我了解,Astroquery 是社区的成果,在许多情况下,用于查询单个在线目录的模块与在线查询系统并排开发和维护,通常由相同的开发人员开发。因此,Astroquery 中的不同模块有时由不同的团队开发,并且在界面中具有不同程度的功能完整性和一致性(我希望看到改进但很难协调)。

Gaia.query_object_async 的情况下,文档并不完全清楚,但它甚至支持数组 public function carBook() { $car_books = Car::join('car_books','car_books.car_id','=','cars.id')->latest()->get(); return view('admin.car_book',compact('car_books')); } 并不明显。它应该,或者至少如果它不应该给出一个更好的错误。

为了仔细检查,我深入研究了 the code 并发现了我怀疑的东西:它根本不允许这样做。它正在使用字符串替换(通常被认为是一个坏主意)构建 SQL 查询并将该 SQL 查询传递给基于 Web 的服务。因为 SkyCoordra 值是数组,它只是盲目地将这些数组表示传递到 SQL 查询的模板中,导致查询无效:

dec

服务器,而不是返回提示查询格式错误的错误消息,而是仅返回一般服务器错误。基本上它崩溃了。

长话短说,您可能应该针对 astroquery 打开一个关于此的错误报告,看看它是否在 Gaia 维护者的关注范围内:https://github.com/astropy/astroquery/issues/new

与此同时,听起来最好的办法是在循环中进行多个查询并将它们的结果连接在一起。由于它返回 SELECT TOP 50 DISTANCE( POINT('ICRS',ra,dec),POINT('ICRS',[99.00000712 87.00000767],[24.99999414 24.99999461]) ) as dist,* FROM gaiadr2.gaia_source WHERE 1 = CONTAINS( POINT('ICRS',BOX( 'ICRS',[24.99999414 24.99999461],0.005,0.005 ) ) ORDER BY dist ASC ,您可以使用 Table:

astropy.table.vstack