Stay organized with collections
Save and categorize content based on your preferences.
Introduction to geospatial analytics
In a data warehouse like BigQuery, location information is
common and can influence critical business decisions. You can use geospatial
analytics to analyze and visualize geospatial data in BigQuery
by using the
GEOGRAPHY data type
and
GoogleSQL geography functions.
For example, you might record the latitude and longitude of your delivery
vehicles or packages over time. You might also record customer transactions and
join the data to another table with store location data. You can use this type
of location data to do the following:
Estimate when a package is likely to arrive.
Determine which customers should receive a mailer for a particular
store location.
Combine your data with percent tree cover from satellite imagery to decide
if delivery by aerial drone is feasible.
Limitations
Geospatial analytics is subject to the following limitations:
Only the BigQuery client library for Python 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
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:
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eGeospatial analytics in BigQuery allows for the analysis and visualization of location data, utilizing geography data types and GoogleSQL geography functions.\u003c/p\u003e\n"],["\u003cp\u003eLocation data, such as latitude and longitude, is commonly used in data warehouses to inform critical business decisions, like delivery times or targeted marketing.\u003c/p\u003e\n"],["\u003cp\u003eGeospatial analytics has some limitations, including being exclusively available in GoogleSQL and with the BigQuery client library for Python being the only one to directly support the \u003ccode\u003eGEOGRAPHY\u003c/code\u003e data type.\u003c/p\u003e\n"],["\u003cp\u003eThe use of geospatial analytics in BigQuery incurs costs based on data storage and query execution, with certain operations like loading, copying, and exporting data being free, but still subject to quotas and limits.\u003c/p\u003e\n"],["\u003cp\u003eSeveral resources are available for those wishing to learn more, including getting started guides, visualization options, and information on working with geospatial data and GoogleSQL functions.\u003c/p\u003e\n"]]],[],null,["# Introduction to geospatial analytics\n====================================\n\nIn a data warehouse like BigQuery, location information is\ncommon and can influence critical business decisions. You can use geospatial\nanalytics to analyze and visualize geospatial data in BigQuery\nby using the\n[`GEOGRAPHY` data type](/bigquery/docs/reference/standard-sql/data-types#geography_type)\nand\n[GoogleSQL geography functions](/bigquery/docs/reference/standard-sql/geography_functions).\n\nFor example, you might record the latitude and longitude of your delivery\nvehicles or packages over time. You might also record customer transactions and\njoin the data to another table with store location data. You can use this type\nof location data to do the following:\n\n- Estimate when a package is likely to arrive.\n- Determine which customers should receive a mailer for a particular store location.\n- Combine your data with percent tree cover from satellite imagery to decide if delivery by aerial drone is feasible.\n\nLimitations\n-----------\n\nGeospatial analytics is subject to the following limitations:\n\n- [Geography functions](/bigquery/docs/reference/standard-sql/geography_functions) are available only in GoogleSQL.\n- Only the BigQuery client library for Python 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.\n\nQuotas\n------\n\nQuotas and limits on geospatial analytics apply to the different types of\njobs you can run against tables that contain geospatial data, including the\nfollowing job types:\n\n- [Loading data](/bigquery/quotas#load_jobs) (load jobs)\n- [Exporting data](/bigquery/quotas#export_jobs) (export jobs)\n- [Querying data](/bigquery/quotas#query_jobs) (query jobs)\n- [Copying tables](/bigquery/quotas#copy_jobs) (copy jobs)\n\nFor more information on all quotas and limits, see [Quotas and limits](/bigquery/quotas).\n\nPricing\n-------\n\nWhen you use geospatial analytics, your charges are based on the\nfollowing factors:\n\n- How much data is stored in the tables that contain geospatial data\n- The queries you run against the data\n\nFor information on storage pricing, see [Storage pricing](/bigquery/pricing#storage).\n\nFor information on query pricing, see [Analysis pricing models](/bigquery/pricing#analysis_pricing_models).\n\nMany table operations are free, including loading data, copying tables, and\nexporting data. Though free, these operations are subject to\nBigQuery's [Quotas and limits](/bigquery/quotas). For information\non all free operations, see [Free operations](/bigquery/pricing#free) on the\npricing page.\n\nWhat's next\n-----------\n\n- To get started with geospatial analytics, see [Get started with geospatial analytics](/bigquery/docs/geospatial-get-started).\n- To learn more about visualization options for geospatial analytics, see [Visualize geospatial data](/bigquery/docs/geospatial-visualize).\n- To learn more about working with geospatial data, see [Work with geospatial data](/bigquery/docs/geospatial-data).\n- To learn more about working with raster data, see [Work with raster data](/bigquery/docs/raster-data).\n- To learn more about incorporating Google Earth Engine geospatial data into BigQuery, see [Load Google Earth Engine geospatial data](/bigquery/docs/geospatial-data#load-ee).\n- For documentation on GoogleSQL functions in geospatial analytics, see [Geography functions in GoogleSQL](/bigquery/docs/reference/standard-sql/geography_functions).\n- To learn about different grid systems, see [Grid systems for spatial analysis](/bigquery/docs/grid-systems-spatial-analysis).\n- To learn more about geospatial datasets and geospatial analytics and AI, see [Geospatial Analytics](/solutions/geospatial)."]]