Sql server 如何获取美国邮政编码的边界坐标?

Sql server 如何获取美国邮政编码的边界坐标?,sql-server,geocoding,geospatial,Sql Server,Geocoding,Geospatial,是否有一个服务/API可以接受邮政编码/邮政编码并返回边界(周长)坐标,以便我可以在MS SQL数据库中构建几何体对象 通过边界坐标,我的意思是我想检索一个GPS坐标列表,这些坐标构成一个定义美国邮政编码的多边形 您要求的是提供“免费邮政编码地理编码”的服务。有一些质量参差不齐。由于以下几个原因,您自己编写这样的代码会很糟糕: 邮政编码可以分配给单个建筑或邮局 邮政编码不被视为多边形区域。将邮政编码投影到多边形区域需要您根据知识猜测一个邮政编码和下一个邮政编码之间的边界 邮政编码地址数据仅指定邮

是否有一个服务/API可以接受邮政编码/邮政编码并返回边界(周长)坐标,以便我可以在MS SQL数据库中构建几何体对象


通过边界坐标,我的意思是我想检索一个GPS坐标列表,这些坐标构成一个定义美国邮政编码的多边形

您要求的是提供“免费邮政编码地理编码”的服务。有一些质量参差不齐。由于以下几个原因,您自己编写这样的代码会很糟糕:

  • 邮政编码可以分配给单个建筑或邮局
  • 邮政编码不被视为多边形区域。将邮政编码投影到多边形区域需要您根据知识猜测一个邮政编码和下一个邮政编码之间的边界
  • 邮政编码地址数据仅指定邮政编码的中心位置。邮政编码数据提供地址的大致范围。存在于一个zipcode和另一个zipcode之间的邮件地址可能会对其实际所在的zipcode存在争议
  • 邮寄地址在物理上可能更接近zipcode 11111,但其官方邮政编码是更遥远的邮政编码点11112
  • 谷歌地图有一个地理编码API:

    GoogleMapsAPI是客户端javascript。您可以使用http请求直接从php查询地理编码系统。然而,谷歌地图只给你美国邮政服务给他们的东西。表示zipcode中心的点

    关于将zipcode投影到其横向/长边界框的想法

    美国大约有43000个邮政编码。根据所做更改的数量,该数字每月波动。USPS使用的Zipcode不表示为多边形,也没有硬边界和快速边界

    USPS(美国邮政服务)是定义每个邮政编码lat/long的机构。任何将zipcode解析为地理位置的软件都需要每周更新。一家名为alignstar的公司提供zipcodes()的人口统计和GIS数据

    给定一个物理(邮寄)地址,找到地理坐标,以便在地图上显示该位置。

    如果您想可靠地预测zipcode的形状,您需要对其进行暴力攻击,并询问:“通过zipcode给我每个街道地址”,然后在这些形状错误的斑点周围绘制方框。然后,您可以大致了解zipcodes覆盖的地理区域

    如果将数百万个邮件地址点放入一个将每个地址点解析为lat/long的算法中,您可能能够构建该zipcode的基本blob边界框。你必须重新运行这个算法,理论上,只要zipcode数字移动,它就会自行修复

    其他想法


    我对邮政编码不是多边形的评论进行了详细阐述

    我们经常将邮政编码视为区域(多边形),因为我们会说,“哦,我住在这个邮政编码中…”,这给人一种包含区域的印象,也许ZIP代表“区域改进计划”这一事实有助于与多边形的错误关联

    实际上,从某种意义上说,邮政编码是代表邮递路线的线条。几何上,直线没有面积正如直线是坐标平面上的点串一样,邮政编码线是USPS指定地址抽象空间中的交付点串。

    它们与地理坐标无关。然而,你会发现,它们似乎是以地理为导向的,因为运营商拥有一条与距离和位置完全无关的路线是低效的

    “USPS指定地址的抽象空间”是什么?这就是我描述美国邮政局维护的大型神秘的可交付地点数据库的方式。地址分配不是基于地理位置,而是基于运营商的路线,通常与街道和可通行性有关

    一些5位数的邮政编码仅为一栋建筑,或建筑群,甚至是一栋建筑的一层(是的,多个邮政编码可以位于一个坐标,因为它们的交付点是垂直分层的)。其中一些——以及其他——是“独特的”拉链。公司和大学经常有自己的邮政编码用于营销或组织目的。例如,在纽约州的斯克内克塔迪。(编辑:在谷歌地图的早期版本中,当您点击该链接时,您会注意到位置标记正在悬停,因为它指向的是一个邮政编码,而不是坐标。虽然大多数美国邮政编码用于在谷歌地图上显示一个地区,但这些类型无法显示,因为可以说,美国邮政局不“拥有”它们,而且它们没有区域。)

    为了好玩,让我们尝试验证一个地址在一个唯一的邮政编码。前往12345输入一个虚假地址,如:

    街道:999自卫队

    邮政编码:12345

    当您尝试验证时,请注意。。。这是有效的!为什么?USPS将为这个独特的邮政编码提供一块到插座上,但在这一点上,由GE来分发它。几乎所有邮政编码内部的内容都与USPS无关,包括街道地址(技术上称为“送货线1”)。许多大学以类似的方式运作

    现在,尝试使用相同的伪造地址,但没有邮政编码,而是使用城市/州:

    街道:999自卫队

    城市:Schenectady

    州:NY

    它无法验证。这是因为即使Schenectady包含12345,其中地址是“有效的”,但它在几何上与“re”相交