Bor*_*ris 7 json load geojson google-bigquery
在 Google Big Query 中加载以下 geojson 文件的最佳方式是什么?
http://storage.googleapis.com/velibs/stations/test.json
我在 Google Storage 上有很多这样的 json 文件(更大),我无法下载/修改/上传它们(这将需要很长时间)。请注意,该文件不是换行符分隔的,所以我猜它需要在线修改。
谢谢大家。
2019年一步一步:
如果您收到错误“读取数据时出错,错误消息:从位置 0 开始的行中出现 JSON 解析错误:不允许嵌套数组。”,您可能有一个 GeoJSON 文件。
使用 将 GeoJSON 转换为换行符分隔的 JSON jq,并将其作为 CSV 加载到 BigQuery 中:
jq -c .features[] \
san_francisco_censustracts.json > sf_censustracts_201905.json
bq load --source_format=CSV \
--quote='' --field_delimiter='|' \
fh-bigquery:deleting.sf_censustracts_201905 \
sf_censustracts_201905.json row
Run Code Online (Sandbox Code Playgroud)
在 BigQuery 中解析加载的文件:
CREATE OR REPLACE TABLE `fh-bigquery.uber_201905.sf_censustracts`
AS
SELECT FORMAT('%f,%f', ST_Y(centroid), ST_X(centroid)) lat_lon, *
FROM (
SELECT *, ST_CENTROID(geometry) centroid
FROM (
SELECT
CAST(JSON_EXTRACT_SCALAR(row, '$.properties.MOVEMENT_ID') AS INT64) movement_id
, JSON_EXTRACT_SCALAR(row, '$.properties.DISPLAY_NAME') display_name
, ST_GeogFromGeoJson(JSON_EXTRACT(row, '$.geometry')) geometry
FROM `fh-bigquery.deleting.sf_censustracts_201905`
)
)
Run Code Online (Sandbox Code Playgroud)
替代方法:
使用 ogr2ogr:
使用 Node.js:
| 归档时间: |
|
| 查看次数: |
3847 次 |
| 最近记录: |