1
6
许多地理空间框架将帮助您解决这一问题。在地理空间世界中,邮政编码只是一个“多边形”,它只是地图上定义清晰边界的一个区域(而不是数学意义上的多边形)。例如,在SQL 2008 Spatial中,可以基于原始多边形创建新的多边形。因此,您可以动态地创建一个多边形,它是您的邮政编码,在每个点上扩展了一定的距离。它考虑到了邮政编码的怪异形状。有了地址,就很容易了,因为你只需要创建一个多边形,它是一个围绕一个点的圆。然后,您可以执行查询,为您提供在任一方法中创建的新多边形中的所有点。 很多网站基本上都是这样做的。它们给你一个5英里长的多边形内的所有点,然后可能是一个10英里长的多边形,等等。他们实际上并不计算距离。网络上的大多数材料都不复杂。 你可以看到一些基本的例子 here 了解我在说什么。 |
2
4
有一个标准的Zipode/位置数据库可用。 Here is one version in Access format 包括邮政编码的lat/long和其他信息。然后,您可以使用PostgreSQL GIS扩展来搜索位置,例如。 (当然,假设您提取access db并插入到更友好的数据库(如postgresql)中) |
3
1
首先,对地址进行地理编码,将其转换为(通常)纬度和经度。然后,在数据库中对感兴趣的点进行最近的邻居查询。 大多数空间索引不直接支持最近邻查询,因此这里通常的方法是在一个合理大小的边界框上查询,并将地理编码点放在中心,然后在内存中对结果进行排序,以选择最近的结果。 |
4
0
就像你说的。将地址/zip转换为二维世界坐标,并将其与其他已知位置进行比较。选择最近的。:)我认为有些数据库(Oracle,MSSQL2008)甚至提供了一些可以帮助的功能,但我从未使用过它们。 |
5
0
我认为这是相当普遍的。他们获取地址或邮政编码并将其转换为“地图坐标”(根据实现情况而不同,可能是lat/long),然后使用数据库中事物的“地图坐标”,很容易计算距离。 注意,一些糟糕的实现将zipcode转换为表示zipcode区域中心的坐标,这有时会产生糟糕的结果。 |
6
0
你对如何做这件事的想法可能就是我该怎么做的。你可以对邮政编码,然后以此为基础进行计算。我知道SQLServer2008有一些特殊的新功能,可以帮助您根据这些地理编码的lon/lat坐标进行查询。 |
7
0
实际的几何算法和/或数据结构支持对点、线和/或区域数据进行较低的O(…)最近位置查询。 见 this book 例如:沃罗诺伊图、四叉树等。 然而,我认为在大多数情况下,您在软件中发现的其他答案是正确的:
|
8
0
我有一个每6个月编译一个数据库表的表,它包含3列,我在澳大利亚的一些客户机中使用它,它包含大约4万行,运行查询非常轻量级。 这很快,如果只是想为一个客户做些事情的话
为了加快查询速度,可能需要进行大量的优化!. |
Wall-E · 数组中满足条件的映射位置 6 年前 |
Leth · 字符串串联functoid不将映射值返回到目标记录 6 年前 |
Lonewolf · 探索在R中编写代码的更好方法 6 年前 |
Jim.W · 来自多个列的网络映射? 6 年前 |
JimminyCricket · 绘制坐标ggmap的问题 6 年前 |
Jason Strimpel · 三个列表压缩成一个目录列表 6 年前 |
Igal · 从数组创建对象[关闭] 6 年前 |
John U · 使用mapdist函数计算R中邮政编码之间的距离 6 年前 |
user9196877 · 根据状态需要填充图标? 6 年前 |