import geojson
from google.cloud import bigquery
bigquery_client = bigquery.Client()
# This example uses a table containing a column named "geo" with the
# GEOGRAPHY data type.
table_id = "my-project.my_dataset.my_table"
# Use the python-geojson library to generate GeoJSON of a line from LAX to
# JFK airports. Alternatively, you may define GeoJSON data directly, but it
# must be converted to a string before loading it into BigQuery.
my_geography = geojson.LineString([(-118.4085, 33.9416), (-73.7781, 40.6413)])
rows = [
# Convert GeoJSON data into a string.
{"geo": geojson.dumps(my_geography)}
]
# table already exists and has a column
# named "geo" with data type GEOGRAPHY.
errors = bigquery_client.insert_rows_json(table_id, rows)
if errors:
raise RuntimeError(f"row insert failed: {errors}")
else:
print(f"wrote 1 row to {table_id}")
require "google/cloud/bigquery"
require "rgeo"
require "rgeo/geo_json"
def insert_geojson dataset_id = "your_dataset_id", table_id = "your_table_id"
bigquery = Google::Cloud::Bigquery.new
dataset = bigquery.dataset dataset_id
table = dataset.table table_id
# Use the RGeo library to generate GeoJSON of a line from LAX to
# JFK airports. Alternatively, you may define GeoJSON data directly, but it
# must be converted to a string before loading it into BigQuery.
factory = RGeo::Geographic.spherical_factory
my_line = factory.line_string([factory.point(-118.4085, 33.9416), factory.point(-73.7781, 40.6413)])
row_data = [
# Convert GeoJSON data into a string.
{ geo: RGeo::GeoJSON.encode(my_line).to_json }
]
# Table already exists and has a column named "geo" with data type GEOGRAPHY.
response = table.insert row_data
if response.success?
puts "Inserted GeoJSON row successfully"
else
puts "GeoJSON row insert failed: #{response.error_rows.first&.errors}"
end
end
次のステップ
他の Google Cloud プロダクトに関連するコードサンプルの検索およびフィルタ検索を行うには、Google Cloud のサンプルをご覧ください。