Google bigquery 如何使用BigQuery查找相邻zipcodes

Google bigquery 如何使用BigQuery查找相邻zipcodes,google-bigquery,gis,Google Bigquery,Gis,我有一个zipcode,比如说“94304”。我如何才能找到与其相近的邮政编码?更新:现在使用官方公共数据集: SELECT * FROM ( SELECT b.zip_code neighbor, b.city, b.county, ST_DISTANCE(a.zcta_geom, b.zcta_geom) distance FROM `bigquery-public-data.geo_us_boundaries.us_zip_codes` a, `bigquery-pu

我有一个zipcode,比如说“94304”。我如何才能找到与其相近的邮政编码?

更新:现在使用官方公共数据集:

SELECT *
FROM (
  SELECT b.zip_code neighbor, b.city, b.county, ST_DISTANCE(a.zcta_geom, b.zcta_geom) distance
  FROM `bigquery-public-data.geo_us_boundaries.us_zip_codes` a,
       `bigquery-public-data.geo_us_boundaries.us_zip_codes` b
  WHERE a.zip_code != b.zip_code
  AND a.zip_code = '94304'
)
WHERE distance < 2000 # 2 KM
ORDER BY distance

-- 5.4s elapsed, 130 MB processed
基于:


这太棒了。如果我想得到大量邮政编码(而不是一个)的结果,你知道我将如何运行它吗?如果我删除和限制器,我开始得到CPU限制错误。谢谢提出新问题please@FelipeHoffa,geo_-us_-us与utility_-us之间的区别是什么?哪一个州和县的边界更精确?作为一个新问题问起来可能更有意义:)
SELECT *
FROM (
  SELECT b.zipcode neighbor, b.city, b.county, ST_DISTANCE(a.geog, b.geog) distance
  FROM `fh-bigquery.gis.zipcodes` a,
       `fh-bigquery.gis.zipcodes` b
  WHERE a.zipcode != b.zipcode
  AND a.zipcode = '94304'
)
WHERE distance < 2000 # 2 KM
ORDER BY distance

--  Query complete (4.2s elapsed, 130 MB processed)
CREATE TABLE `gis.zipcodes`
AS
SELECT *, ST_GEOGFROMTEXT(zipcode_geom) AS geog
FROM `bigquery-public-data.utility_us.zipcode_area`