Skip to main content

Geospatial Services

Geospatial services provides geospatial data that can help teams deliver their products, and reduce one-off solutions. These are some of the products on the Geospatial platform:

  1. Geo Portal
  2. Terra
  3. Vehicle Location Services (VLS)
  4. EV Charging

Geo Portal

The Geo Portal gives GM engineering and development teams a single place to discover and request geospatial data, APIs, and shared platforms that can accelerate delivery and reduce the need for one-off solutions.

Whether you're building navigation, EV experiences, geofencing, mapping, geocoding, analytics, or other spatially aware products, Geo Portal helps teams start with proven enterprise capabilities instead of building from scratch.

Why it matters:

  • Speeds up delivery by making approved geospatial capabilities easier to find and request
  • Improves product quality with reusable, proven services and data
  • Reduces duplicate spend and custom point solutions across GM
  • Helps teams build on shared enterprise investments that can scale

Explore what's available here.

Join us on Slack at #gm-geospatial-services.


Terra

Terra is a GM created geospatial visualization and analytic tool used by teams in US, Mexico, and South America. Capabilities span multi-layer visualization, filtering, geofencing, geocoding, 3D buildings, sharing, charts, and streaming. Terra accelerates new product surfaces without rebuilding core geospatial tooling.

Some key features of Terra are:

  • Multiple concurrent layers
  • Full visual customization
  • High performance
  • Dynamic filtering
  • Geofencing
  • Geocoding
  • 3D buildings
  • Snapshots & Marketplace (sharing)
  • Charts (Apache eCharts)
  • Streaming visualization
  • Kafka (on-prem)
  • EventHub (2026)
  • Terra SDK v2
  • Terra GeoWidget (library for notebook)
  • Terra GeoEditor (define GeoJSON perimeters)

Explore Terra at https://link.gm.com/terra


Vehicle Location Services (VLS)

VLS allows customers of GM vehicles to create and manage boundary notifications for multiple locations. Users can set up text message alerts for pre-selected contacts or PUSH notifications when your vehicle arrives or departs a specified area. VLS processes locations messages and verify geofences for GM(1210), Honda(1210) and Volcon(1515) vehicles.

  • Customers

    • myBrand/myOwner apps in North America (NA) region
    • GM, Honda, and Volcon (EV, offroad, utility and bikes) vehicles
  • Volume (April 2026 for GMNA)

    • 11.1M/month - geofence boundary crossings
    • 12.8M/month - SMS and PUSH notifications
    • 11.7M/month - PUSH notifications
    • 1.1M/month - SMS text messages

EV Charging

The EV Charging Data schema provides charging sessions and trips for GM electric vehicles. This is provided through gold-level assets within connected_services_prod.gold_geospatial_insights_ev_charging_data_gmna. There are three primary assets:

  • Charges – individual charge events; anytime positive energy is delivered to the high-voltage battery.
  • Plugs – a charging session from plug‑in to plug‑out (aggregation of one or more charge events).
  • Trips – summary of driving segments between charges, built from odometer deltas.

Due to stoppages in charging during a single charging session there can be multiple charges for a single plug. The trips table provides a summary of all trips taken by GM EVs and is linked back to charges and plugs via timestamps and VIN.

EV Charging Key Benefits

  • Curated, gold-quality EV charging and trip events
    • Consistent business logic to define charge events (SoC deltas), plug sessions (plug‑in to plug‑out), and trips (odometer deltas above a noise threshold).
  • Rich contextual enrichment for each event
    • Enriched with location (lat/lng, county/state/zip/country), vehicle attributes (make, model, model year, fleet flags), and environmental signals (ambient temperature, LEU/wall energy, range estimates).
  • Easy integration into analytics and products
    • Located in the Connected Services Data Mesh in production (connected_services_prod), ready for Databricks, DBT, and downstream jobs.
  • Governed access to sensitive attributes
    • VIN and location fields support masking and plain‑text access patterns via dedicated Azure AD groups, aligning with the FTC Consent Decree and Maryland law requirements.

Getting Access to EV Charging Data

  • Access Instruction: EV Charging Data Canvas
  • Access Roles:
    • Standard access (masked VINs and masked Lat/Lng)142722-NA-Zeus-Gold-EV-Charging-Data_Readers
    • Plain text access (all data unmasked)142722-NA-Zeus-Gold-EV-Charging-Plain_Text_Readers

Additional details:

  • Human users – Submit a Glenda request at www.glenda.gm.com for the 142722-NA-Zeus-Gold-EV-Charging-Data_Readers entitlement.
  • Service principals – Request access via the #data-governance-data-requests Slack channel, specifying the schema connected_services_prod.gold_geospatial_insights_ev_charging_data_gmna and the SP that needs access.

Explore EV Charging Data Catalog

Core tables in the schema:

  • Chargesconnected_services_prod.gold_geospatial_insights_ev_charging_data_gmna.charges

    • One row per curated charge event, with SoC deltas, wall energy (kWh), power (amps), charger voltage level (L1/L2/DC fast), vehicle attributes, and charge‑time location.
  • Plugsconnected_services_prod.gold_geospatial_insights_ev_charging_data_gmna.plugs

    • One row per plug session (from plug‑in to plug‑out), aggregating wall energy, SoC change, LEU, and range estimates across all underlying charges. Includes plug‑level geo attributes (lat/lng, county/state/zip, CPO index, country).
  • Tripsconnected_services_prod.gold_geospatial_insights_ev_charging_data_gmna.trips

    • One row per trip, defined by odometer deltas above 0.0625 km, enriched with start/end location and ambient air temperature.

For detailed field‑level documentation see:

  • Charging failure trend analysis (HV battery / diagnostics)
    • Identify and trend charging failures at the VIN level across time, charger types, locations, and operating conditions.
    • Detect recurring patterns such as interrupted sessions, slow charging rates, or incomplete charges that may indicate onboard charger, connector, software, or infrastructure issues.
  • Charging behavior & SoC trend analysis
    • Analyze charging patterns including start/end State of Charge (SoC) and SoC swing distribution.
    • Use long‑term SoC swing trends to understand HV battery usage and efficiency changes.
  • HV battery health monitoring and diagnostics support
    • Correlate charging current, voltage, charge rate, temperature, and SoC evolution with known battery aging and stress indicators.
    • Provide supporting evidence for root‑cause analysis of customer‑reported battery issues.
  • Battery prognostics and health models
    • Enrich HV battery prognostics and health estimation models with real‑world charging events, usage, and environmental data from the gold assets.
  • Battery360 manufacturing insights
    • Feed the Battery360 chrgusg pipeline with curated charges/trips (migrated from legacy ev.gold.* to this schema) to compute quarterly EV charging metrics for manufacturing and reliability insights.
  • Customer research & EV experience analysis
    • Global Customer Research uses these tables to analyze EV customer charging behavior and user experience, supporting ongoing EV research work.

EV Charging Sample Queries

Notes

  • Examples assume Databricks SQL against the masked views.
  • Columns like vin_nbr, lat, lng will be hashed/masked unless you are in the plain‑text readers group.

Daily plug sessions and unique vehicles over the last 30 days

SELECT
date(end_timstm_plug) AS plug_date,
COUNT(*) AS plug_sessions,
COUNT(DISTINCT vin_nbr) AS vehicles_plugged
FROM connected_services_prod.gold_geospatial_insights_ev_charging_data_gmna.plugs
WHERE end_timstm_plug >= date_sub(current_date(), 30)
GROUP BY date(end_timstm_plug)
ORDER BY plug_date DESC;

Average SoC increase per charge event by charger voltage (last 90 days)

SELECT
CASE
WHEN CAST(charge_voltage AS STRING) IN ('120', 'LEVEL_1') THEN 'L1'
WHEN CAST(charge_voltage AS STRING) IN ('240', 'LEVEL_2') THEN 'L2'
WHEN CAST(charge_voltage AS STRING) IN ('DC_FAST_CHARGE', 'DC') THEN 'DC_FAST'
ELSE 'UNKNOWN'
END AS charger_type,
AVG(charge_diff) AS avg_soc_increase_pct,
COUNT(*) AS charge_events
FROM connected_services_prod.gold_geospatial_insights_ev_charging_data_gmna.charges
WHERE end_timstm_charge >= date_sub(current_date(), 90)
GROUP BY
CASE
WHEN CAST(charge_voltage AS STRING) IN ('120', 'LEVEL_1') THEN 'L1'
WHEN CAST(charge_voltage AS STRING) IN ('240', 'LEVEL_2') THEN 'L2'
WHEN CAST(charge_voltage AS STRING) IN ('DC_FAST_CHARGE', 'DC') THEN 'DC_FAST'
ELSE 'UNKNOWN'
END
ORDER BY charger_type;

Percentage of charge events by charger voltage (last 90 days)

WITH typed_charges AS (
SELECT
CASE
WHEN CAST(charge_voltage AS STRING) IN ('120', 'LEVEL_1') THEN 'L1'
WHEN CAST(charge_voltage AS STRING) IN ('240', 'LEVEL_2') THEN 'L2'
WHEN CAST(charge_voltage AS STRING) IN ('DC_FAST_CHARGE', 'DC') THEN 'DC_FAST'
ELSE 'UNKNOWN'
END AS charger_type
FROM connected_services_prod.gold_geospatial_insights_ev_charging_data_gmna.charges
WHERE end_timstm_charge >= date_sub(current_date(), 90)
)
SELECT
charger_type,
COUNT(*) AS charge_events,
100.0 * COUNT(*) / SUM(COUNT(*)) OVER () AS pct_charge_events
FROM typed_charges
GROUP BY charger_type
ORDER BY pct_charge_events DESC;

Daily average number of charge events per plug session (last 90 days)

WITH charges_per_plug AS (
SELECT
vin_nbr,
end_timstm_plug,
COUNT(*) AS charges_in_plug
FROM connected_services_prod.gold_geospatial_insights_ev_charging_data_gmna.charges
WHERE end_timstm_plug >= date_sub(current_date(), 90)
GROUP BY vin_nbr, end_timstm_plug
)
SELECT
date(end_timstm_plug) AS plug_date,
AVG(charges_in_plug) AS avg_charges_per_plug,
MIN(charges_in_plug) AS min_charges_per_plug,
MAX(charges_in_plug) AS max_charges_per_plug
FROM charges_per_plug
GROUP BY date(end_timstm_plug)
ORDER BY plug_date DESC;

Daily total and average trip distance (km) over the last 30 days

SELECT
date(end_timstm_trip) AS trip_date,
SUM(trip_diff) AS total_km_driven,
AVG(trip_diff) AS avg_km_per_trip,
COUNT(*) AS trips
FROM connected_services_prod.gold_geospatial_insights_ev_charging_data_gmna.trips
WHERE end_timstm_trip >= date_sub(current_date(), 30)
GROUP BY date(end_timstm_trip)
ORDER BY trip_date DESC;

Who's Using EV Charging Data?

Consumers who have explicitly identified this dataset (or its ev.gold.* predecessors) as an input include:

  • Battery360 (DE Mfg Insights Engineering)
    • The Battery360 chrgusg pipeline has been updated from the legacy ev.gold tables to connected_services_prod.gold_geospatial_insights_ev_charging_data_gmna to compute quarterly charging metrics for 360Battery.
  • Global Customer Research
    • Explicitly reports using this dataset to understand EV customer charging behavior and overall user experience in the #connected-services-ev-charging-data channel.
  • HV battery analytics / diagnostics (Gautam’s team)
    • Identified as consumers of aggregated EV charging metrics derived from ev.gold.charges / ev.gold.trips via inherited pipelines (quarterly charge‑metric aggregation used by Gautam’s team).
  • GM Energy / IONNA partner programs
    • Gold charging data has been aggregated and delivered to IONNA and related GM Energy programs for joint network planning and utilization analysis.

EV Charging Reports and Dashboards

  • COMING SOON

EV Charging Training & Learning Resources:

Need Help? Connect with us