用例示例:客户A来请求销售信息,输入他们的邮政编码并被定向到代表X.
由于邮政编码的数量实际上是无穷无尽的,因此每个邮政编码都不会分配一个代理,然后移动到县级,然后进入县的一个区域,最后到达州水平。
哪种类型的关系最适合建模此方案?
有没有办法消除专门定义区域的需要,邮政编码可以近似到最近的县指定一个代表,如果是这样,只有完整的地理位置才能查找距离比较找到最近的代表或者也许可以使用邮政编码本身来近似距离?
澄清:这个问题的真正意图是如何解决区域近似而不需要维护一个完美的县域关联表,或者解决这个问题如此复杂以至于成本高手动维护关系不那么令人望而却步?
答案 0 :(得分:1)
您可以获得便宜或免费(Census.gov)至少包含邮政编码所在州的邮政编码信息。如果您需要更多粒度,您甚至可以获得Zip到县信息。此时,您只需抓住与邮政编码所在的州或县匹配的代表即可。
使用TIGER data available from the Census Bureau,您可以使用邮政编码边界和代表的已知区域填充空间数据库。然后,简单查询可以检索最接近给定邮政编码的代表。我对PostGIS获得了良好的体验,并且我了解Oracle和SqlServer空间扩展。
答案 1 :(得分:1)
嗯,你可以很容易地从谷歌或雅虎API获得Lat / Long(在我的上一个项目中,我们遇到的问题是谷歌没有在新泽西找到雅虎找到的某个邮政编码,fyi)。
因此,如果您使用代表缓存每个邮政编码的Lat / Long(我可能会建议为客户输入的每个邮政编码缓存Lat / Long,因此您不必每次都能访问Web服务),然后你可以得到用户的拉链码的纬度/经度,并为每个代表运行距离计算。这确实具有n次复杂度的顺序(n代表为O(n))