首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我需要按顺序对数据库表中的邮政地址进行排序

我需要按顺序对数据库表中的邮政地址进行排序
EN

Stack Overflow用户
提问于 2011-11-29 18:28:44
回答 2查看 434关注 0票数 0

我正在开发一个Android应用程序,里面有邮政地址路由。

我们希望以这样的方式对数据库表中的每个地址进行排序,其中每个地址都可以为我们的驱动程序打印出来。我们不想花时间自己排序地址,而数据库表是最理想的。

我想以某种方式在表中创建一个主键,这个数字可以很容易地按升序排序。这将使为驱动程序创建清单变得容易。

我正在研究,发现有一种叫做WOEID (Where on Earth ID)的东西,我认为它代表了一个地区,但我不确定它是否对我们有好处,因为同一社区的两个邮政地址可以使用相同的WOEID。

例如,这3个地址具有相同的WOEID:

代码语言:javascript
运行
复制
100 Bowden St., Lowell, MA
131 Stedman St., Lowell, MA
50 Stromquest Ave., Lowell, MA

使用像WOEID这样的单个数字的概念对我们来说是完美的,但我们需要按顺序对这些地址进行排序,以便我们知道哪些地址彼此最接近。

也许我们可以使用一个网站从我们的应用程序中发送一个请求,为他们提供邮寄地址,然后网站将以我们的应用程序可以解析的格式返回代表该地址的单个数字。

也许有一种方法可以对纬度和经度数字进行地理编码或将其转换为我们可以使用的单个数字。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-03 22:05:08

我找到一个网站,允许我做一个反向地理编码。它返回一个纬度和一个经度。

我做了一点实验,发现我可以把纬度和经度加在一起得到一个数字。因为给网站一个确切的地址会给出结果,而不是我想要的结果,所以我只给了它一个街道,城市和美国的州来定位。然后,我可以使用返回的纬度和经度,然后按数字升序对房屋地址进行排序。

例如,我们有许多非常像网格的街道,所以从经度和纬度相加得到的1个数字代表了一条特定街道上的许多房屋。在一个街区外的另一条街上,我也做了同样的事情。现在我要做的就是像这样列出数据库表中的所有内容:通过下拉列表选择城市,也通过下拉列表选择美国州,然后是每条街道的地理编码号码,然后是家庭号码。

这是我用来获取地理编码的网站和一个示例街道地址:

代码语言:javascript
运行
复制
http://where.yahooapis.com/geocode?q=stedman+st,+lowell,+ma
票数 0
EN

Stack Overflow用户

发布于 2011-11-29 18:36:39

那么当多个地址共享相同的WOEID时,问题就出现了吗?我不知道有多少可用的资源,但是不能把这些数据提供给像Google Maps这样的API,然后计算从你的位置到那里的距离吗?

如果你想避开谷歌,一个非常基本的方法就是自己计算。(尽管这更多的是一种估计。)

然而,我感觉你想要找到总距离的最佳路线,所以我认为你的问题也与travelling salesman problem有关

给出了一个城市和它们的成对距离的列表,任务是找到每个城市只访问一次的最短可能的旅行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8309238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档