Introduction to geospatial analytics

In a data warehouse like BigQuery, location information is very common. Many critical business decisions revolve around location data. For example, you may record the latitude and longitude of your delivery vehicles or packages over time. You may also record customer transactions and join the data to another table with store location data.

You can use this type of location data to determine when a package is likely to arrive or to determine which customers should receive a mailer for a particular store location. Geospatial analytics let you analyze and visualize geospatial data in BigQuery by using geography data types and GoogleSQL geography functions.


Geospatial analytics is subject to the following limitations:

  • Geography functions are available only in GoogleSQL.
  • Only the BigQuery client library for Python currently supports the GEOGRAPHY data type. For other client libraries, convert GEOGRAPHY values to strings by using the ST_ASTEXT or ST_ASGEOJSON function. Converting to text using ST_AsText stores only one value, and converting to WKT means that the data is annotated as a STRING type instead of a GEOGRAPHY type.


Quotas and limits on geospatial analytics apply to the different types of jobs you can run against tables that contain geospatial data, including the following job types:

For more information on all quotas and limits, see Quotas and limits.


When you use geospatial analytics, your charges are based on the following factors:

  • How much data is stored in the tables that contain geospatial data
  • The queries you run against the data

For information on storage pricing, see Storage pricing.

For information on query pricing, see Analysis pricing models.

Many table operations are free, including loading data, copying tables, and exporting data. Though free, these operations are subject to BigQuery's Quotas and limits. For information on all free operations, see Free operations on the pricing page.

What's next