[英]How to import CSV with locations in BigQuery
我想在 BigQuery 表中导入一个 CSV 文件。
在我的 CSV 中,我有两列:一列是纬度,另一列是经度。
像这样:
id,name,lat,lng
1234,"Mario",12.12414,88.123141
4124,"Luigi",72.12415,1.123513
如何将 BigQuery 识别的点位置格式化为 GEOGRAPHY 类型?
我在这里的文档中找不到答案: https://cloud.google.com/bigquery/docs/gis-data
我试过这种格式但没有成功:
POINT(<lng> <lat>)
POINT(<lng>, <lat>)
(<lat> <lng>)
(<lat>, <lng>)
您需要手动创建模式并将列的类型设置为“GEOGRAPHY”,如下例所示,将 csv 导入为 POINT(lng lat)
[
{
"description": "Outlet Code",
"mode": "REQUIRED",
"name": "outlet_code",
"type": "STRING"
},
{
"description": "Outlet Name",
"mode": "REQUIRED",
"name": "outlet_name",
"type": "STRING"
},
{
"description": "Location",
"mode": "REQUIRED",
"name": "location",
"type": "GEOGRAPHY"
}
]
您只需要按原样将 CSV 文件加载到 BigQuery 中,然后您就可以使用地理函数从数据中获取地理对象,如下例所示
#standardSQL
SELECT ST_GEOGPOINT(longitude, latitude)
FROM your_table
这不容易找到。 但是关于加载 CSV 的答案在这里。有一个关于地理类型的部分。 https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv
以下列表显示了有效数据的示例:
WKT: POINT(1 2) GeoJSON: { "type": "Point", "coordinates": [1, 2] } 十六进制编码 WKB: 0101000000feffffffffffef3f0000000000000040
您尝试的 POINT(1,2) 应该根据此工作。 但我想知道 GeoJSON 是否更好? 似乎这种格式很受此类数据的欢迎。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.