Take Your Time

仕事や研究、コンピューターとの付き合い方

行政区域データをbigqueryに入れる

分析のために行政区域データと緯度経度があるcsvファイルを空間結合したかった。 頼みのQGISはローカルだとおそすぎて無理。

こうなると空間データ対応のbigquery一択になる。

geojson対応だということでそのまま突っ込んでみるが、フォーマットエラー。

中身はこんな感じ。

{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::6668" } },
"features": [
{ "type": "Feature", "properties": { "N03_001": "北海道", "N03_002": "オホーツク総合振興局", "N03_003": null, "N03_004": "北見市", "N03_007": "01208" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 144.08143547296879, 44.125060386827442 ], [ 144.08142697797268, 44.12505705393994 ], [ 144.08140771719243, 44.125058359755542 ], [ 144.08139907920417, 44.125065108268188 ], [ 144.08139883279, 44.125071864874712 ], [ 144.08140364506221, 44.125092586153983 ], [ 144.08141955856581, 44.125165666862074 ], [ 144.08142379976857, 44.125202054331403 ], [ 144.08143380022977, 44.125253802221266 ], [ 144.08145983110637, 44.125327468388036 ], [ 144.08153007805072, 44.125313802290179 ], [ 144.08146282674807, 44.125145387149928 ], [ 144.08143547296879, 44.125060386827442 ] ] ] } },
{ "type": "Feature", "properties": { "N03_001": "北海道", "N03_002": "オホーツク総合振興局", "N03_003": null, "N03_004": "北見市", "N03_007": "01208" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 143.78333333266721, 44.184525108247215 ], [ 143.78280805394854, 44.183368613370874 ], [ 143.78274722380536, 44.183381107652053 ], [ 143.78272647194922, 44.183333332966981 ], [ 143.78234999955293, 44.182466945892884 ], [ 143.78193250278287, 44.181506666899224 ], [ 143.78213194633236, 44.181299170820125 ], [ 143.78239277580599, 44.181013612688105 ], [ 143.78261389121815, 44.180794721299378 ], [ 143.78280805394854, 44.180620838281129 ], [ 143.78307221810849, 44.180408892356525 ], [ 143.78317250330849, 44.180337774868462 ], [ 143.78324138777987, 44.18029583768

どうやらgeojsonへの対応は完全ではなくfeatureCollectionに対応していない。 ここで方法は、.geojsonファイルをいじって形式を合わせるか、諦めてWKTにするか。 前者を試したがだめ。

QGIS経由でWKTにして読ませるのが良さそう。

まず、QGISに読み込ませる。このとき、エンコーディングSJISにして文字化けを起こさないようにする。

https://gis.stackexchange.com/questions/43129/creating-csv-with-geometry-as-wkt-in-qgis-with-choosing-field-delimiter

utf-8変換した上でGCSに送る。

あとはcsvにしてカラムを自動認識にして読み込ませれば終わり。