Grid Topology & GIS

How Texture maps your grid and connects every element upstream and downstream

Grid Topology & GIS are the concepts that let Texture visualize and place every element of your grid in the right spot on a map while also connecting them together. Using structured data across multiple standards and systems, Texture builds a map of your grid so you can quickly ask questions about what is happening upstream and downstream.

It covers every line, pole, transformer, substation, and service point, plus the relationships that connect them. Telemetry can flow without it, but nothing is spatial — no Site, no map, no rollups — until an element is represented in the topology. This page also covers the grid elements the topology contains and how meter readings roll up to them.

Why GIS & topology?#

The topology is the backbone of Grid Operations. It enables:

  • Placement — attaching meters to Sites and positioning every element on the map.
  • Hierarchy — knowing what is upstream and downstream of each element.
  • Aggregation — rolling meter readings up to transformers, feeders, and substations.

Two inputs#

The model is assembled from two complementary utility files:

InputWhat it provides
GIS / GeoJSON (e.g., ArcGIS / iVue export)Every element with geolocation and rich metadata — lines, poles/structures, transformers, and service points (consumer and generator meters). Carries the meter number, but no hierarchy on its own.
Connectivity model (Milsoft / WindMil)The relationships that build the tree: where each element sits and what connects to what.

A further constructor file (conductor impedances and line types) can be imported to power modeling and scenario work.

How the model is built#

  1. Import the GIS layer — load all elements (lines, poles/structures, service points) from the GeoJSON file, with their geometry and metadata, and store them.
  2. Apply the connectivity model — overlay Milsoft/WindMil relationships to build the hierarchy (which element sits where, and what it connects to).
  3. Persist relationships — store the generated relationships so they can be read per element without recomputing the tree on every request.

Service points & the meter join#

Service points are the carriers of the meter number. Texture joins a meter's device telemetry to its GIS service-point metadata by meter number, which is how a device gets tagged as a consumer or generator meter and inherits status and other identifiers. (The same meter appears both as a device and as a GIS service point; the service-point/consumer layer is usually hidden in Explore to avoid duplication.)

The premise chain & placement#

Placement resolves a chain from the meter to its Site:

Device → GridElement (Consumer / ServicePoint) → Location → Site → Workspace Site

The chain exists only if the meter number matches a service point in the model. A meter that isn't in the model gets a Device and telemetry but no grid link — so no Site and nothing on the map.

If a meter isn't on the map, we need your latest grid data. When a meter has telemetry but isn't showing on the map, it's because the meter isn't yet in the topology — Texture needs your most recent grid information to place it. Sending refreshed grid data that includes the meter is what gets it onto the map and attached to a Site.

Grid elements#

The topology is made up of grid elements — the pieces of the distribution grid. They are modeled distinctly from devices: a meter is a device, while a substation or transformer is a grid element with its own connectivity, metadata, and downstream devices. Common types:

  • Substation (source) — the head of a local network; the source all downstream power maps back to.
  • Feeder — the overcurrent device at the bay just below the substation.
  • Transformer — steps voltage down toward customers; the focus of loading analysis.
  • Protective / overcurrent devices — reclosers, fuses, breakers.
  • Lines & poles/structures — conductors (with phase and length) and the structures that carry them.

The grid hierarchy#

Every grid element maps through the infrastructure up to its source. From any element you can trace upstream to the substation, and downstream meters are available on every element. Downstream grid-element navigation — clicking a substation to jump to one of its feeders, or a transformer to its meters — is a natural extension of the same hierarchy.

Detail pages#

Every grid element can have a detail page showing its aggregate telemetry and the devices that roll up to it. Detail pages support the "send someone a link to this transformer" workflow and are the natural home for element-specific context — loading for a transformer, aggregate voltage for a substation.

List views & aggregations#

Alongside detail pages, list views show every element of a type — all substations, all feeders, all transformers — each with its current metric, as a table you can sort, filter, and export. A grid-elements section in the navigation gives operators a direct path to these lists without digging through the map.

Above the list, a top-level aggregation across the elements in view — total capacity, total load, or total voltage at a glance — lets you see the whole before drilling into the parts.

How aggregation works#

Grid elements generally don't report their own telemetry, so element-level values are computed by rolling up the readings of the devices downstream of that element — summing meter load across the element's subtree. This is how Texture produces transformer, feeder, and substation totals from per-meter data (see Transformer Loading). Substation and feeder peaks can also draw on rolled-up SCADA where it exists.

A row in a list view links straight to the element's detail page, so you see the same information wherever you arrive from.

Explore vs. list views. List views and rollups are built on the same Explore framework, exposed as direct navigation. Explore is for investigating on the map; list views are for at-a-glance answers like "show me all my transformers and their current load."

Keeping topology current#

Grid data is often delivered as static snapshots. Because new meters are added continually but a snapshot is frozen in time, meter-to-site coverage degrades between imports. The structural fix is a recurring sync — for example, a daily job that pulls the latest GIS and connectivity files, diffs them against what's stored, and ingests changes as new versions rather than overwriting. Versioned, diffed ingests preserve history and avoid clobbering.