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:
- Geo Portal
- Terra
- Vehicle Location Services (VLS)
- 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.
- Located in the Connected Services Data Mesh in production (
- 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
- Standard access (masked VINs and masked Lat/Lng) –
Additional details:
- Human users – Submit a Glenda request at
www.glenda.gm.comfor the142722-NA-Zeus-Gold-EV-Charging-Data_Readersentitlement. - Service principals – Request access via the
#data-governance-data-requestsSlack channel, specifying the schemaconnected_services_prod.gold_geospatial_insights_ev_charging_data_gmnaand the SP that needs access.
Explore EV Charging Data Catalog
Core tables in the schema:
-
Charges –
connected_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.
-
Plugs –
connected_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).
-
Trips –
connected_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:
- Overview – EV Charging Data (Confluence)
- Charges – Charges (Confluence)
- Plugs – Plugs (Confluence)
- Trips – Trips (Confluence)
EV Charging Popular Use Cases and Starter Queries:
- 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
chrgusgpipeline with curated charges/trips (migrated from legacyev.gold.*to this schema) to compute quarterly EV charging metrics for manufacturing and reliability insights.
- Feed the Battery360
- 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,lngwill 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.goldtables toconnected_services_prod.gold_geospatial_insights_ev_charging_data_gmnato compute quarterly charging metrics for 360Battery.
- The Battery360 chrgusg pipeline has been updated from the legacy
- Global Customer Research
- Explicitly reports using this dataset to understand EV customer charging behavior and overall user experience in the
#connected-services-ev-charging-datachannel.
- Explicitly reports using this dataset to understand EV customer charging behavior and overall user experience in the
- HV battery analytics / diagnostics (Gautam’s team)
- Identified as consumers of aggregated EV charging metrics derived from
ev.gold.charges/ev.gold.tripsvia inherited pipelines (quarterly charge‑metric aggregation used by Gautam’s team).
- Identified as consumers of aggregated EV charging metrics derived from
- 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:
- High‑level documentation – EV Charging Data (Confluence)
- Table‑level docs:
- Geo Domain State of the Union – EV/ZEUS context and product‑level metrics for Geospatial Insights & Services: Geo Domain Data Usage Report - FEB 2026
Need Help? Connect with us
-
Primary Channel for Data: #help-data
-
EV Charging Slack Channel: #connected-services-ev-charging-data