【问题标题】:Resolving Country + State via lat/lng通过 lat/lng 解析国家 + 州
【发布时间】:2019-12-07 22:12:24
【问题描述】:

我希望能够通过纬度和经度 GPS 值解析国家和州。 它应该在毫秒内工作!

我想过使用 geonames db 和以下 C# lib: https://github.com/RobThree/NGeoNames

它确实有效,但是存储“allCountries”数据库所需的内存非常昂贵=> 大约 10GB(当然初始化加载时间也很长)。 我试图缩小这个数据库并创建我自己的数据库,同时只采用 lat、lng、国家和管理代码(对于州)以及只采用适合国家、州、地区特征代码的项目>,从这里:https://www.geonames.org/export/codes.html

它似乎可以工作,并且 db 在磁盘上非常小,大约 10 mb。 但我担心通过特征代码过滤可能会损害准确性。 我怎样才能确定它足够准确? 任何其他已经准备好的数据库?

或者除了地理名称数据库之外的其他解决方案?

另外,调用 Google API 作为替代方案对我来说可能会很昂贵。

【问题讨论】:

    标签: geolocation geo geonames


    【解决方案1】:

    如果每日请求限制为 2500,您可以使用免费 api,例如 OpenCage API .它与谷歌API相同 或根据您的要求,Loc2Country 可以使用(非常快)。如果您愿意,还有反向地理编码器:locationIQArcGis

    【讨论】:

    • 由于粗略的要求,每次这样的解析最多不超过100ms。对任何服务的 api 调用都不会以这样的速率工作(延迟等等......)。所以对我们来说最好的解决方案是在内部维护这样的解决方案,例如使用 geonames dbs
    猜你喜欢
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2011-01-14
    相关资源
    最近更新 更多