{
  "generated_at": "2026-09-03T21:38:26+00:00",
  "title": "SCE meter deployment basemap and difficulty index",
  "site": "https://sce.weleber.net",
  "summary": "Estimated electric service points for Southern California Edison's service territory, built from fifteen county assessor parcel layers, SCE's own published grid geography, census geography and Overture roads; scored per ICA line section for deployment difficulty and cost.",
  "crs": "EPSG:3310",
  "crs_note": "California Albers. Reproject at the point of display, not before.",
  "headline": {
    "total_service_points": 4808866,
    "by_method": {
      "inferred": 662371,
      "measured": 1918871,
      "modelled": 2227624
    },
    "invariant_holds": true,
    "sections_scored": 272354,
    "meters_covered": 4808848,
    "total_countywide": 6478429,
    "total_in_sce_territory": 4133590,
    "pct_in_territory": 63.81,
    "install_classes": {
      "res_single": 3145754,
      "res_multi_bank": 1424073,
      "comm_small": 133216,
      "comm_ct": 63309,
      "ag_pump": 21391,
      "res_master_mhp": 21123
    }
  },
  "datasets": [
    {
      "name": "line_section_index",
      "title": "Deployment difficulty index, one row per SCE ICA line section",
      "grain": "one SCE ICA line section",
      "rows": 272354,
      "crs": "EPSG:3310",
      "note": "The product. One row per scored SCE ICA line section.",
      "formats": [
        {
          "format": "geoparquet",
          "media_type": "application/vnd.apache.parquet",
          "url": "https://sce.weleber.net/data/out/dist/line_section_index.parquet",
          "bytes": 46001092,
          "sha256": "fee51a4ce7857856e2b2178354b82392a42a512561d661d766d95f8eb4e9169d"
        },
        {
          "format": "csv",
          "media_type": "text/csv",
          "url": "https://sce.weleber.net/data/out/dist/line_section_index.csv",
          "bytes": 60593389,
          "sha256": "e18c6e6f4c62c0216994679f4596d0e0a1ee21ef334b9096ffab17f9e5a59415"
        }
      ],
      "columns": [
        {
          "name": "section_id",
          "type": "str",
          "description": "SCE ICA line section identifier. The allocation unit: every service point is assigned to exactly one."
        },
        {
          "name": "circuit_name",
          "type": "str",
          "description": "Distribution circuit the section belongs to. Genuine nesting -- section -> circuit -> substation."
        },
        {
          "name": "substation_name",
          "type": "str",
          "description": "Substation the circuit is fed from."
        },
        {
          "name": "county_fips",
          "type": "str",
          "description": "5-character county FIPS. Also the first 5 characters of block_geoid."
        },
        {
          "name": "meters_est",
          "type": "int64",
          "description": "Estimated metered service connections. NOT a parcel count and NOT a dwelling count."
        },
        {
          "name": "meters_measured",
          "type": "int64",
          "description": "Of meters_est, how many rest on a published assessor unit count."
        },
        {
          "name": "meters_inferred",
          "type": "int64",
          "description": "Of meters_est, how many rest on a structure count or a related observation."
        },
        {
          "name": "meters_modelled",
          "type": "int64",
          "description": "Of meters_est, how many rest on a fitted use-code rate."
        },
        {
          "name": "mf_share",
          "type": "float64",
          "description": "Share of meters in multifamily and condominium classes, 0-1."
        },
        {
          "name": "hftd_score_raw",
          "type": "float64",
          "description": "HFTD contribution to the difficulty index, already 0-100 by construction."
        },
        {
          "name": "hftd_tier",
          "type": "int8",
          "description": "CPUC High Fire Threat District tier: 0, 1, 2 or 3. Tier 1 is real and is not folded into 0."
        },
        {
          "name": "dac_share",
          "type": "float64",
          "description": "Share of meters in SB 535 disadvantaged-community tracts, 0-1. Joined on the first 11 characters of block_geoid."
        },
        {
          "name": "vintage_coverage",
          "type": "float64",
          "description": "Share of meters whose parcel publishes a build year. Only Los Angeles and Orange publish this usefully."
        },
        {
          "name": "vintage_share",
          "type": "float64",
          "description": "Share of the meters WITH a known build year that are pre-1980."
        },
        {
          "name": "route_km",
          "type": "float32",
          "description": "Drivable road kilometres assigned to this row, from Overture transportation within 3 km of a section."
        },
        {
          "name": "segments",
          "type": "float64",
          "description": "Overture road segments assigned."
        },
        {
          "name": "major_km",
          "type": "float32",
          "description": "Of route_km, motorway through secondary classes."
        },
        {
          "name": "local_km",
          "type": "float32",
          "description": "Of route_km, residential, unclassified, living-street and service classes."
        },
        {
          "name": "section_dist_m_p50",
          "type": "float64",
          "description": "Median distance, in metres, from a parcel's representative point to this section."
        },
        {
          "name": "density",
          "type": "float64",
          "description": "meters_est per route km. The travel-cost proxy."
        },
        {
          "name": "local_road_share",
          "type": "float32",
          "description": "local_km / route_km."
        },
        {
          "name": "difficulty_index",
          "type": "float64",
          "description": "Composite 0-100 deployment difficulty. ORDINAL WITHIN THIS BUILD: components are percentile ranks over these sections and the weights are judgement, not fitted. Do not compare across builds."
        },
        {
          "name": "weights_applied",
          "type": "str",
          "description": "Which index components were available for this row. A missing component has its weight redistributed, never scored as zero."
        },
        {
          "name": "score_density",
          "type": "float64",
          "description": ""
        },
        {
          "name": "score_hftd",
          "type": "float64",
          "description": ""
        },
        {
          "name": "score_mf_share",
          "type": "float64",
          "description": ""
        },
        {
          "name": "score_dac_share",
          "type": "float64",
          "description": ""
        },
        {
          "name": "score_access",
          "type": "float64",
          "description": ""
        },
        {
          "name": "score_vintage",
          "type": "float64",
          "description": ""
        },
        {
          "name": "cost_multiplier",
          "type": "float64",
          "description": "Cost per meter relative to the median section, anchored at the observed median rather than at index 50."
        },
        {
          "name": "confidence",
          "type": "str",
          "description": "The weakest input behind the row -- measured, inferred or modelled. Never an average of the three."
        },
        {
          "name": "index_reliable",
          "type": "bool",
          "description": "True at 10 or more meters. Advisory, never a filter: 38% of sections but 88% of meters."
        },
        {
          "name": "circuit_voltage",
          "type": "str",
          "description": "Nominal circuit voltage, kV."
        },
        {
          "name": "geometry",
          "type": "geometry",
          "description": "EPSG:3310 (NAD83 / California Albers). Every length, area and distance here was computed in this projection."
        }
      ]
    },
    {
      "name": "circuit_index",
      "title": "Deployment difficulty index rolled up per distribution circuit",
      "grain": "one distribution circuit",
      "rows": 3005,
      "crs": "EPSG:3310",
      "note": "Circuit rollup. Geometry is dissolved from the scored line sections, so every circuit with meters has a shape.",
      "formats": [
        {
          "format": "geoparquet",
          "media_type": "application/vnd.apache.parquet",
          "url": "https://sce.weleber.net/data/out/dist/circuit_index.parquet",
          "bytes": 10449756,
          "sha256": "b9730aad62072aefc92b8d9722dbdc96a285175b3a647d6f9006312fd613402a"
        },
        {
          "format": "csv",
          "media_type": "text/csv",
          "url": "https://sce.weleber.net/data/out/dist/circuit_index.csv",
          "bytes": 414457,
          "sha256": "09ca99970fbba962af3d54e286391b6269ffcca4443923e6f5404a3193758293"
        }
      ],
      "columns": [
        {
          "name": "circuit_name",
          "type": "str",
          "description": "Distribution circuit the section belongs to. Genuine nesting -- section -> circuit -> substation."
        },
        {
          "name": "sections",
          "type": "int64",
          "description": "Line sections rolled up into this row."
        },
        {
          "name": "meters_est",
          "type": "int64",
          "description": "Estimated metered service connections. NOT a parcel count and NOT a dwelling count."
        },
        {
          "name": "route_km",
          "type": "float64",
          "description": "Drivable road kilometres assigned to this row, from Overture transportation within 3 km of a section."
        },
        {
          "name": "mf_share",
          "type": "float64",
          "description": "Share of meters in multifamily and condominium classes, 0-1."
        },
        {
          "name": "dac_share",
          "type": "float64",
          "description": "Share of meters in SB 535 disadvantaged-community tracts, 0-1. Joined on the first 11 characters of block_geoid."
        },
        {
          "name": "hftd_tier_max",
          "type": "int64",
          "description": "Worst HFTD tier over the rows aggregated here."
        },
        {
          "name": "difficulty_index",
          "type": "float64",
          "description": "Composite 0-100 deployment difficulty. ORDINAL WITHIN THIS BUILD: components are percentile ranks over these sections and the weights are judgement, not fitted. Do not compare across builds."
        },
        {
          "name": "cost_multiplier",
          "type": "float64",
          "description": "Cost per meter relative to the median section, anchored at the observed median rather than at index 50."
        },
        {
          "name": "confidence",
          "type": "str",
          "description": "The weakest input behind the row -- measured, inferred or modelled. Never an average of the three."
        },
        {
          "name": "geometry",
          "type": "geometry",
          "description": "EPSG:3310 (NAD83 / California Albers). Every length, area and distance here was computed in this projection."
        },
        {
          "name": "circuit_no",
          "type": "str",
          "description": "SCE circuit number."
        },
        {
          "name": "sub_name",
          "type": "str",
          "description": "Substation name as published on SCE's circuit layer."
        },
        {
          "name": "circuit_voltage",
          "type": "float64",
          "description": "Nominal circuit voltage, kV."
        }
      ]
    },
    {
      "name": "substation_index",
      "title": "Deployment difficulty index rolled up per substation",
      "grain": "one substation",
      "rows": 574,
      "crs": "EPSG:3310",
      "note": "Substation rollup. 15 substations named on sections do not appear in SCE's substation layer and carry no geometry; they hold 1.4% of meters.",
      "formats": [
        {
          "format": "geoparquet",
          "media_type": "application/vnd.apache.parquet",
          "url": "https://sce.weleber.net/data/out/dist/substation_index.parquet",
          "bytes": 85795,
          "sha256": "351bdde988822aa6e590f7c6e0ef949b874e6d9726f9591c58daeb0a3321e6ee"
        },
        {
          "format": "csv",
          "media_type": "text/csv",
          "url": "https://sce.weleber.net/data/out/dist/substation_index.csv",
          "bytes": 88350,
          "sha256": "55059f189459cbe71b99940f2837fd77289b0cb0aa608e7954356aa2f5aa31f0"
        }
      ],
      "columns": [
        {
          "name": "substation_name",
          "type": "str",
          "description": "Substation the circuit is fed from."
        },
        {
          "name": "sections",
          "type": "int64",
          "description": "Line sections rolled up into this row."
        },
        {
          "name": "meters_est",
          "type": "int64",
          "description": "Estimated metered service connections. NOT a parcel count and NOT a dwelling count."
        },
        {
          "name": "route_km",
          "type": "float64",
          "description": "Drivable road kilometres assigned to this row, from Overture transportation within 3 km of a section."
        },
        {
          "name": "mf_share",
          "type": "float64",
          "description": "Share of meters in multifamily and condominium classes, 0-1."
        },
        {
          "name": "dac_share",
          "type": "float64",
          "description": "Share of meters in SB 535 disadvantaged-community tracts, 0-1. Joined on the first 11 characters of block_geoid."
        },
        {
          "name": "hftd_tier_max",
          "type": "int64",
          "description": "Worst HFTD tier over the rows aggregated here."
        },
        {
          "name": "difficulty_index",
          "type": "float64",
          "description": "Composite 0-100 deployment difficulty. ORDINAL WITHIN THIS BUILD: components are percentile ranks over these sections and the weights are judgement, not fitted. Do not compare across builds."
        },
        {
          "name": "cost_multiplier",
          "type": "float64",
          "description": "Cost per meter relative to the median section, anchored at the observed median rather than at index 50."
        },
        {
          "name": "confidence",
          "type": "str",
          "description": "The weakest input behind the row -- measured, inferred or modelled. Never an average of the three."
        },
        {
          "name": "sub_type_legend",
          "type": "str",
          "description": "Substation type as published by SCE."
        },
        {
          "name": "substation_voltage",
          "type": "str",
          "description": "Substation voltage class."
        },
        {
          "name": "total_gen",
          "type": "float64",
          "description": "SCE-published total interconnected generation, MW."
        },
        {
          "name": "projected_load",
          "type": "float64",
          "description": "SCE-published projected load, MW."
        },
        {
          "name": "max_remain_cap",
          "type": "float64",
          "description": "SCE-published remaining capacity, MW."
        },
        {
          "name": "geometry",
          "type": "geometry",
          "description": "EPSG:3310 (NAD83 / California Albers). Every length, area and distance here was computed in this projection."
        }
      ]
    },
    {
      "name": "service_territory",
      "title": "SCE service territory, net of the municipal-utility carve-out",
      "grain": "SCE territory net of the carve-out",
      "rows": 1,
      "crs": "EPSG:3310",
      "note": "The clip boundary. Every count in this distribution is inside this polygon.",
      "formats": [
        {
          "format": "geoparquet",
          "media_type": "application/vnd.apache.parquet",
          "url": "https://sce.weleber.net/data/out/dist/service_territory.parquet",
          "bytes": 377680,
          "sha256": "e5b2e71f041ee14b9f1aec3f5798d663636da6cc7e2ccaff41772ec796f64a30"
        },
        {
          "format": "csv",
          "media_type": "text/csv",
          "url": "https://sce.weleber.net/data/out/dist/service_territory.csv",
          "bytes": 280,
          "sha256": "b60316e866f37bf300e8a3cc1451eb9bba1655a12e390306c7417d352a9bc3c9"
        }
      ],
      "columns": [
        {
          "name": "name",
          "type": "str",
          "description": "Layer name."
        },
        {
          "name": "gross_km2",
          "type": "float64",
          "description": "SCE's published territory area before the municipal-utility carve-out."
        },
        {
          "name": "net_km2",
          "type": "float64",
          "description": "Territory area after the carve-out. The clip boundary for every count in this distribution."
        },
        {
          "name": "erased_km2",
          "type": "float64",
          "description": "Area removed by the carve-out."
        },
        {
          "name": "clip_source",
          "type": "str",
          "description": "Endpoint the territory polygon came from."
        },
        {
          "name": "erase_source",
          "type": "str",
          "description": "Endpoint the carve-out features came from."
        },
        {
          "name": "source_url",
          "type": "str",
          "description": "Publisher endpoint."
        },
        {
          "name": "retrieved_at",
          "type": "str",
          "description": "When it was harvested."
        },
        {
          "name": "geometry",
          "type": "geometry",
          "description": "EPSG:3310 (NAD83 / California Albers). Every length, area and distance here was computed in this projection."
        }
      ]
    }
  ],
  "cube": {
    "what": "Meters per (geography, install class) with the polygon scalars the cost model multiplies against. Every level is generated from one pass over the service-point fact table, so the levels cannot disagree.",
    "encoding": "Columnar: arrays per field, not a list of objects. cells.g indexes geo_id, cells.c indexes install_class, cells.m is meters, cells.mm measured, cells.mi inferred.",
    "levels": [
      {
        "level": "bg",
        "url": "https://sce.weleber.net/data/out/dist/cube/bg.json",
        "bytes": 795113
      },
      {
        "level": "circuit",
        "url": "https://sce.weleber.net/data/out/dist/cube/circuit.json",
        "bytes": 294315
      },
      {
        "level": "county",
        "url": "https://sce.weleber.net/data/out/dist/cube/county.json",
        "bytes": 1582
      },
      {
        "level": "place",
        "url": "https://sce.weleber.net/data/out/dist/cube/place.json",
        "bytes": 43642
      },
      {
        "level": "substation",
        "url": "https://sce.weleber.net/data/out/dist/cube/substation.json",
        "bytes": 60626
      },
      {
        "level": "tract",
        "url": "https://sce.weleber.net/data/out/dist/cube/tract.json",
        "bytes": 309753
      }
    ],
    "install_classes": "https://sce.weleber.net/data/out/dist/cost_model.json (install_classes)"
  },
  "parcels": {
    "note": "4,133,590 parcels at zoom 13-16. Published under the California Public Records Act: Sierra Club v. Superior Court (Orange County) (2013) held a county parcel base map to be a public record, disclosable at the cost of duplication, and that access may not be conditioned on a restrictive licence.",
    "condition": "Citation. Name the county as author with the endpoint and retrieval date from source_register.json. Where a county is served through a third-party host -- Kings via an Esri proxy, Fresno via the Fresno COG regional view -- the record is still the county's: cite the county, not the host.",
    "tiles": "https://sce.weleber.net/data/out/sce_parcels.pmtiles",
    "report": "https://sce.weleber.net/data/out/dist/parcels.json"
  },
  "geometry_extras": {
    "territory": "https://sce.weleber.net/data/out/dist/territory.geojson",
    "territory_mask": "https://sce.weleber.net/data/out/dist/territory_mask.geojson",
    "tiles": [
      "https://sce.weleber.net/data/out/sce_parcels.pmtiles",
      "https://sce.weleber.net/data/out/sce_cube.pmtiles",
      "https://sce.weleber.net/data/out/sce_index.pmtiles",
      "https://sce.weleber.net/data/out/basemap_socal.pmtiles"
    ]
  },
  "cost_model": {
    "config": "https://sce.weleber.net/data/out/dist/cost_model.json",
    "note": "Every rate is a control with a range and a provenance label of bidder, benchmark or judgement. None of them is measured. The model itself is implemented once, in web/model.js."
  },
  "provenance": {
    "source_register": "https://sce.weleber.net/data/out/dist/source_register.json",
    "citation": "https://sce.weleber.net/data/out/dist/CITATION.md",
    "manifest": "https://sce.weleber.net/data/out/dist/manifest.json",
    "requirement": "California parcel geometry is a public record under the CPRA and is republished here on the condition that the county is cited as author, with endpoint and retrieval date. Citation is not optional."
  },
  "confidence": {
    "measured": "Rests on a published assessor unit count.",
    "inferred": "Rests on a structure count or a related observation.",
    "modelled": "Rests on a fitted use-code rate.",
    "locations": "spatial_method is 'modelled' on every row. Meters sit at a parcel representative point, not a surveyed location, because the national address-point source is blocked. A measured COUNT with a modelled LOCATION is the normal case here; they are separate claims.",
    "rule": "Never present a modelled figure as measured, and never average the three into one number."
  },
  "query_hint": {
    "duckdb": "DuckDB reads these over HTTPS range requests -- no download needed. INSTALL httpfs; LOAD httpfs; SELECT circuit_name, sum(meters_est) FROM 'https://sce.weleber.net/data/out/dist/line_section_index.parquet' GROUP BY 1 ORDER BY 2 DESC LIMIT 10;",
    "python": "import geopandas as gpd; gdf = gpd.read_parquet('https://sce.weleber.net/data/out/dist/circuit_index.parquet')"
  }
}