gpt4 book ai didi

c# - 在 STRtree 中找到最近的位置

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:45 40 4
gpt4 key购买 nike

我正在使用 nettopologysuite (JTS Topology Suite 的端口)。我正在使用 SRTtree 实现来存储时区列表和相应的坐标(基于此 suggestion )。我从 geonames 中获取了城市列表,提取了城市的时区和坐标,并将它们存储在 STRtree 中。我遇到的问题是此实现不提供“最近”功能。为了进行查询,我必须提供起点和圆周。目前,我在循环中将周长增加 .1,直到找到一些结果,然后我取第一个。有更好的方法吗?

这是我正在做的:

    public static SRTtree Cities { get; set; }

public static string GetTimezone(double lat, double lng)
{
var envelope = new Envelope(new Coordinate(lat, lng));

IList results;

do
{
envelope.ExpandBy(.1);
results = Cities.Query(envelope);
} while (results.Count == 0);

return results[0] as string;
}

最佳答案

JTS 1.13 提供了 STRTree.nearestNeighbour执行此操作的方法。我不知道它是否已经移植到 NTS,但如果没有,也许你可以请求它。

关于c# - 在 STRtree 中找到最近的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6258751/

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