Skip to content

Send data to Google BigQuery

GeoJibe can write the result of a workflow straight into a BigQuery table as native GEOGRAPHY.

You need to be signed in. Download is not involved — Google BigQuery is the Destination.

This writes one spatial table. It is not schema migration, dataset administration, or a SQL editor.

Before you start

You'll need:

  • A Google Cloud project you can write to
  • A service-account JSON key
  • An existing BigQuery dataset
  • A table name for this delivery

Typical IAM roles for write:

  • roles/bigquery.jobUser on the project (load jobs)
  • roles/bigquery.dataEditor on the dataset

Save the connection once, then reuse it. Dataset, table, and write mode belong to each workflow.

CRS

BigQuery GEOGRAPHY is WGS 84 longitude/latitude (EPSG:4326). GeoJibe will not relabel coordinates as another CRS.

If the dataset is EPSG:3857 or any other CRS, add Transform → Change CRS and set the target to EPSG:4326 before you send. 3D (Z) coordinates are not written.

Supported geometries: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, and null geometry.

1. Save a Google BigQuery Destination

Open Destinations → Add Destination → Google BigQuery.

Fill in Project and choose the service-account JSON key file.

Click Test, then Save. Name it something like Analytics BigQuery.

Leave the key file empty when editing to keep the stored credential.

2. Add your data and any changes

Upload or import a vector dataset. Add Transform or Convert if you need them.

Google BigQuery is for vector data.

If you used Convert to reproject, BigQuery receives that CRS — and still requires EPSG:4326.

3. Choose Google BigQuery

Add Google BigQuery and select the saved Destination.

Then set:

Field Typical value
Dataset gis
Table neighborhoods
Write mode See below

The dataset must already exist. GeoJibe does not create or delete datasets.

4. Choose a write mode

Mode What it does
Create Creates a new table. Fails if the table already exists.
Replace Overwrites the table if it exists.
Append Adds rows to an existing table. Fails if the table is missing.

Warning

Replace mode can overwrite an existing destination table.

Schema mapping

GeoJibe maps GDAL field types to BigQuery types:

Source BigQuery
String STRING
Integer / Integer64 INT64
Real / Float FLOAT64
Numeric / Decimal NUMERIC
Boolean BOOLEAN
Date DATE
DateTime / Timestamp TIMESTAMP
JSON JSON
Geometry GEOGRAPHY

Unsupported or nested types are reported rather than silently corrupted.

5. Run

Click Run, or Send to Google BigQuery in Classic.

You should see a successful delivery to dataset.table.

What happens next?

GeoJibe loads newline-delimited JSON into that table with a GEOGRAPHY column. Open it in BigQuery or QGIS (via the BigQuery connector) to confirm.

This is a one-off unless you save a Job.

Example: PostGIS → Transform → Google BigQuery.

Credentials are resolved from the saved Destination at run time. They are never stored in Job JSON.

Having trouble?

See Google BigQuery connection failed.

See also