是否有服务/ API将采用邮政编码/邮政编码并返回bounding(perimeter)坐标,以便我可以在MS SQL数据库中构建Geometry对象?
通过界定坐标,我的意思是我想检索一个GPS坐标列表,该列表构成一个定义美国邮政编码的多边形。
最佳答案
详细说明一下,邮政编码不是多边形...。
我们经常将邮政编码视为区域(多边形),因为我们说“哦,我住在这个邮政编码中……”,这给人留下了一个包含区域的印象,也许这个事实也代表着ZIP代表“区域改进计划”帮助与多边形的错误关联。
实际上,邮政编码是从某种意义上代表 postman 路线的线。在几何上,线没有面积。 正如线是沿坐标平面的点的字符串一样,邮政编码线是USPS指定地址的抽象空间中的传递点的字符串。
它们与地理坐标无关。但是,您会发现它们似乎是按地理方向定位的,因为对于承运人而言,拥有完全与距离和位置无关的路线效率不高。
什么是“USPS指定地址的抽象空间”?这就是我描述美国邮政局维护的庞大而神秘的可交付地点数据库的方式。地址不是根据地理位置来分配的,而是根据承运人的行进路线分配的,通常与街道和可行驶性有关。
某些5位邮政编码仅是一栋建筑物,一栋建筑物或一栋建筑物甚至是一栋楼的地板(是的,由于邮政编码的传递点是垂直分层的,所以多个邮政编码可以位于一个坐标上)。其中一些(尤其是其中的一些)是“唯一的” ZIP。公司和大学经常出于营销或组织目的而获得自己的邮政编码。例如,位于纽约州斯克内克塔迪(Schenectady)的the ZIP code "12345" belongs to General Electric up。 (编辑:在以前的Google Maps版本中,当您点击该链接时,您会注意到位置标记处于悬停状态,因为它指向的是邮政编码,而不是坐标。大多数美国邮政编码用于显示在Google map 上的某个区域中,这些类型不能,因为可以说,美国邮政局没有“拥有”它们,并且它们没有区域。)
只是为了好玩,让我们尝试验证唯一邮政编码中的地址。转到SmartyStreets并在12345中输入虚假地址,例如:
当您尝试验证时,请注意...它是有效的!为什么? USPS将为该唯一的邮递区号向接收器发送一个邮件,但是在那时,GE才可以分发它。邮政编码内部几乎所有与USPS都不相关的信息,包括街道地址(技术上为“送货路线1”)。许多大学以类似的方式运作。 Here's more information regarding that.
现在,尝试使用相同的伪造地址,但没有邮政编码,而是使用城市/州:
它没有验证。这是因为即使Schenectady包含地址为“有效”的12345,它也与Schenectady的“真实”邮政编码在几何上相交。
再举一个例子:军事。某些海军舰船有自己的邮政编码。军事地址是使用相同 namespace 的完全不同的地址类别。船舶移动。地理坐标没有。
ZIP精度是另一个有趣的功能。 5位数的邮政编码是最不精确的(尽管术语“特定”在这里可能更有意义,因为邮政编码无法查明任何内容)。 7位数和9位数的邮政编码是最具体的,通常在市区内达到街区或街区级别。但是,由于每个邮政编码的大小不同,因此很难说出您在说什么实际距离。
9位数的邮政编码可能会分配到建筑物的地板上,因此您可能有数百个地址的邮政编码重叠。
底线:与普遍的看法相反,邮政编码不提供地理或边界数据。 它们相差很大,除非您要传递邮件或包裹,否则它们实际上是无济于事的……但是USPS的工作是设计有效的承运人路线,而不是将人口过多地划分为协调区域。
这更多的是人口普查局的工作。由于可以方便地使用邮政编码,因此他们已经编译了list of cartographic boundaries。为此,他们将一堆地址分成人口普查区。然后,他们汇总了USPS邮政编码数据,以查找其人口普查区块(其中包含一些粗略的坐标数据)与邮政编码之间的关系。因此,我们用近似来表示将一条线绘制为多边形。 (显然,他们通过根据其内容将2D多边形转换为适合线性数据的方式将1D线转换为2D多边形,以适应每个非唯一的常规邮政编码。)
从他们的网站(上面的链接):
USCB的数据集不完整,有时不准确。 Google的数据仍然有漏洞(12345是一个很好的例子),但是Google最终将通过手工检查每个地址和邮政编码来修补它。他们已经这样做了,但是还没有使他们的所有 map 数据都完美无缺。自然地,对这些数据的访问仅限于API术语,并且提出这些术语非常昂贵。
ew我被打了我希望这有助于澄清问题。免责声明:我曾经是SmartyStreets的开发人员。 More information on geocoding with address data.
Even more information about ZIP codes。