1

用例示例:客户 A 来请求销售信息,输入他们的邮政编码并被定向到代表 X。

由于实际上存在无限数量的邮政编码,因此不会为每个邮政编码分配一个代理,然后将其转移到县级,然后进入县级区域,最后在州级结束。

哪种类型的关系最适合对这种情况进行建模?

有没有办法消除需要专门定义邮政编码可以近似于分配代表的最近县的区域,如果是这样,只有通过完整的地理位置查找才能进行距离比较以找到最近的代表或也许邮政编码本身可以用来近似距离?

澄清: 这个问题的真正意图是如何解决区域近似而不需要维护县与区域的完美关联表,或者这个问题的解决方案是否如此复杂以至于手动维护关系的成本不那么令人望而却步?

4

2 回答 2

1

您可以获得便宜或免费的 (Census.gov) 邮政编码信息,其中至少包含邮政编码所在的州。如果您需要更多粒度,您甚至可以获取 Zip to County 信息。此时,您可以简单地获取与邮政编码所在的州或县相匹配的代表。

使用人口普查局提供的 TIGER 数据,您可以使用邮政编码边界和您的代表的已知区域填充空间数据库。然后,一个简单的查询可以检索最接近给定邮政编码的代表。我对PostGIS有很好的体验,并且我知道OracleSqlServer空间扩展。

于 2010-01-11T15:19:50.427 回答
1

好吧,您可以轻松地从 Google 或 Yahoo API 获取 Lat/Long(在我的上一个项目中,我们遇到了 Google 在 NJ 中找不到 Yahoo 找到的某个邮政编码的问题,仅供参考)。

因此,如果您使用代表缓存每个邮政编码的纬度/经度(我可能建议也缓存客户输入的每个邮政编码的纬度/经度,这样您就不必每次都访问 Web 服务),然后您可以获取用户邮政编码的纬度/经度,并计算每个代表的距离。这确实具有n 时间复杂度的顺序(n 个代表的 O(n))

于 2010-01-11T15:46:12.807 回答