gpt4 book ai didi

java - 查找具有给定地理点的最近 50 个项目

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:57 24 4
gpt4 key购买 nike

我已经集成了来自 Amazon 的这个 java 库,它可以处理基于位置的查询。它将需要一个长和纬度,并从中生成一个地理点编号,并将其存储在 DynamoDB(一个 NoSql 数据库)中。

我需要做的是查询数据库并获取距给定地理点最近的 50 个位置。该库有一个 queryRadius() 方法,它将获取给定 radiusInMeters 内的所有地理点,但我不确定如何在不限制半径的情况下获取最近的地理点。

这里是queryRadius();他们给出的方法。

    private void queryRadius(JSONObject requestObject, PrintWriter out) throws IOException, JSONException {

GeoPoint centerPoint = new GeoPoint(requestObject.getDouble("lat"), requestObject.getDouble("lng"));
double radiusInMeter = requestObject.getDouble("radiusInMeter");

List<String> attributesToGet = new ArrayList<String>();
attributesToGet.add(config.getRangeKeyAttributeName());
attributesToGet.add(config.getGeoJsonAttributeName());

QueryRadiusRequest queryRadiusRequest = new QueryRadiusRequest(centerPoint, radiusInMeter);
queryRadiusRequest.getQueryRequest().setAttributesToGet(attributesToGet);
QueryRadiusResult queryRadiusResult = geoDataManager.queryRadius(queryRadiusRequest);

printGeoQueryResult(queryRadiusResult, out);
}

我已经从高到低搜索了答案,我发现(我认为)最好的答案是发布在该库的 github 存储库上的答案。有人在 github 页面上问了同样的问题。有人可以帮助我理解这些人的回答吗?这可能是一个简单的解决方案,由于某种原因我可怜的大脑不理解这一点。

https://github.com/awslabs/dynamodb-geo/issues/3

最佳答案

据我所知,Amazon DynamoDB 的地理库不起作用。相反,请寻找 CloudSearch 或 ElasticSearch 等替代方案来查询地理点位置。

ElasticSearch 会做得非常出色。

关于java - 查找具有给定地理点的最近 50 个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38387172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com