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.jobUseron the project (load jobs)roles/bigquery.dataEditoron 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.