gpt4 book ai didi

c# - 如何按距纬度/经度的距离对大量(可能是部分)地址进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:24 24 4
gpt4 key购买 nike

我有一个包含 10,000 多个地址的数据库,我想根据与单个纬度/经度的距离对这些地址进行排序。

地址有时是完整的街道地址,有时只是邮政编码,有时是城市/州。

我不知道 google geolocation api 是否适用于大量地址,但如果可行,请告诉我。

另一种可能性是在将地址添加到数据库之前获取每个地址的纬度/经度,并且可以使用 SQL 地理数据类型。这将允许按距离排序(我认为)。是否有免费服务允许获取地址的纬度/经度并将该信息存储在数据库中?我知道 Google 的服务条款不允许这种用途(存储从其服务中检索到的信息)。

是否有任何其他想法能够对这个列表进行排序?

最佳答案

关于如何根据纬度和经度计算距离,这里有一个很好的链接: Calculating Distance between two Latitude and Longitude GeoCoordinates

此链接将以 double 形式返回距离,然后您可以对其进行排序。我认为地理编码器可能是您正在寻找的: http://geocoder.us/

编辑:您可以使用上面的链接查询地理编码器以获取每个地址的纬度和经度,然后使用上面的 stackoverflow 帖子了解如何计算距离,然后根据 double 列表进行排序。例如,如果您已经预先计算了纬度/经度。数据库中的每个地址,然后当新地址进入时使用服务器获取纬度/经度,然后编写一个存储过程来计算距离并按降序返回行。

关于c# - 如何按距纬度/经度的距离对大量(可能是部分)地址进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16409527/

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