将纬度和经度映射到国家、州或城市

主要观点:开发了用于根据坐标确定所在州的 JavaScript 库coord2state,通过简化美国州边界的几何数据来减小文件大小并保持一定精度,适用于大多数客户端场景,但在精度评估等方面仍有可改进之处。
关键信息

  • 最初公司使用谷歌地图 API 进行反向地理编码,每年花费数千美元,后作者开发此库以避免该费用。
  • 利用美国人口普查局的边界数据,通过 Python 库处理后获取州边界信息,再用 Shapely 库简化边界顶点,经测试不同精度下的准确性和文件大小。
  • 库可在客户端运行,最小化后约 260KB,在 0.01°精度下能较好平衡准确性和文件大小。
    重要细节
  • 下载 2024 年的州边界二进制文件,如得克萨斯州有 62855 个顶点,简化到 0.1°精度时顶点数大幅减少但面积误差小于 1%。
  • 用 Geopandas 库将几何数据转换为 JSON 格式并注入 JavaScript 模板,形成可运行的库。
  • 精度评估有限,可基于人口密度图扩展测试,目前库在大多数普通使用场景下已足够,可在 GitHub 和 NPM 上获取。
阅读 10
0 条评论