1

构建一个 LAMP 服务应用程序,该应用程序将有 10000 个供应商向客户提供送货服务,并且在客户输入他们的地址后,我们需要生成一个可以向该位置提供服务的供应商送货列表。每个供应商都有一个交付边界,该边界将由以下三个标准之一定义:

  • A. 邮政编码列表
  • B. 交货点与供应商的距离(以英里 (X) 为单位)(点对点)
  • C. 在 GME 中绘制(最有可能)定义的多边形并导入为 KML(多边形中的点)

A 是直截了当的,但经过广泛的研究,我们不确定什么是处理 B 和 C 的最有效和可扩展的方法。我们应该使用 MySQL 来存储数据并使用代码/类/库计算结果,还是应该设置一个像 PostGIS 这样的空间数据库来处理所有地理存储和计算,以及一些或全部的 API 解决方案等呢?

以下是我们目前的大致思路:

  1. 存储多边形数据(作为 KML?)
  2. 将供应商地址转换为经过验证的纬度/经度坐标
  3. 将 B 和 C 边界转换为邮政编码数组以生成可能匹配的子集
  4. 将客户地址转换为经过验证的纬度/经度坐标

然后,该算法将包含 3 个部分来返回主交付列表:

(a) 部分:

  • 查询所有送货到客户的送货邮政编码的A Vendors

(b) 部分:

  • 在可能的匹配数组中过滤掉所有没有客户 zip 的 B 供应商
  • 查询坐标距离小于指定的B Vendors子集

(c) 部分:

  • 在可能的匹配数组中过滤掉所有没有客户 zip 的 C 供应商
  • 查询客户坐标在多边形内的 C 供应商子集

寻求关于最佳实践的建议以及使用什么工具/技术/API,对于从地址验证开始的每个步骤,已验证地址的长/纬度,基于 B 和 C 的空间数据自动生成 zip 数组,计算点到-点、创建多边形、存储/转换多边形数据、使用 KML 或什么?以及计算多边形中的点。非常欢迎指向帖子/研究/资源的指针!

4

0 回答 0