What it is
ATS Cable Atlas makes the physical internet explorable. It renders all 715 submarine fiber-optic cables and 1,917 landing points from the TeleGeography Submarine Cable Map on a dark ArcGIS basemap, each cable drawn in its authentic TeleGeography color. A searchable catalog sits beside the map: click any cable — in the list or on the map — and the view flies to it, a white selection halo lifts it out of the web, and a detail card reports its geodesic length in kilometers and miles, its segment count, and a deep link to its page on submarinecablemap.com.
Two things set it apart. First, fidelity: rather than approximating, the renderer reproduces every cable's published color exactly (542 distinct hex values across the 715 cables) through a single compact renderer keyed on the color attribute itself. Second, self-sufficiency: the cable and landing-point data are bundled with the app, so beyond the basemap CDN it makes no network requests at all — it works in a demo room with hostile Wi-Fi.
It is built for people who think about connectivity as infrastructure: network and telecom analysts, resilience and policy researchers, educators, and — for ATS — prospects evaluating what a polished asset atlas of their own infrastructure could look like.
The experience
The world view is the money shot: the full colored web of submarine cables against an infrastructure-noir dark basemap, with a stats row summing the portfolio — 715 cables and their combined geodesic length, computed client-side. From there the experience is catalog-driven:
Try the canonical demo path: search "MAREA", select it, and watch the Atlantic zoom — roughly 6,400 km of cable between Virginia Beach and Bilbao, highlighted in place.
- Search and browse. A searchable list presents the catalog with a color swatch per cable (rendering is capped at 400 items with a 'showing X of Y' note — the portfolio convention for long lists).
- Select from either side. Choosing a cable in the list, or clicking one on the map via hit-testing, does the same thing: the view zooms to the cable's extent, a white halo draws underneath the cable's own color at triple width, and the glass detail card opens.
- Detail card. Name, geodesic length in km and mi, number of segments, and a one-click deep link to the cable's page on submarinecablemap.com for ownership and ready-for-service details.
- Landing points. The 1,917 landing points cluster below zoom 3 with count labels, then resolve into individual cyan markers as you zoom toward the coastlines.
The data — where it comes from
The dataset is bundled at build time; at runtime the only external dependency is the basemap CDN.
| Source | What it provides | Refresh | Cost | Attribution |
|---|---|---|---|---|
| TeleGeography Submarine Cable Map — cables (bundled cables.geojson) | 715 cable geometries with names and authentic per-cable colors | Static snapshot bundled with the app; refreshed by re-exporting from source | Free for non-commercial use | © TeleGeography, CC BY-NC-SA 3.0; credited in app footer and layer copyright |
| TeleGeography — landing points (bundled landing-points.geojson) | 1,917 cable landing points worldwide | Static snapshot, as above | Free for non-commercial use | © TeleGeography, CC BY-NC-SA 3.0 |
| submarinecablemap.com deep links | Per-cable detail pages (ownership, RFS dates) | Live website, linked not scraped | Free | TeleGeography |
| Esri dark-gray vector basemap (anonymous) | Dark world basemap | Vendor-managed | Free (no API key) | Esri attribution renders in-map automatically |
How it was assembled
The application is a fully static single-page app — no backend, no database, no server-side rendering. The stack: TypeScript, ArcGIS Maps SDK for JavaScript 5.0.x, Calcite Design System 5.0.x, and Vite 8.
Module map — the codebase is small and deliberate; each file owns one concern:
Key engineering decisions
- Renderer strategy. 715 cables carry per-feature colors, but only 542 distinct hex values exist. A UniqueValueRenderer keyed on the color field itself — one uniqueValueInfo per distinct color — reproduces every cable exactly, and beat both a 715-entry id-keyed renderer and 715 individual Graphics in practice.
- Geodesic measurement. Cable Polylines are constructed with spatialReference wkid 4326 (GeoJSON is always 4326) so geometryEngine.geodesicLength returns true geodesic kilometers; results are wrapped in Math.abs to absorb a ring-orientation quirk. Per-cable lengths and the portfolio total both come from this path.
- Deliberate double-fetch. The cable GeoJSON is fetched twice — once parsed into an in-memory catalog (extents, lengths, distinct colors) and once by the GeoJSONLayer via URL, keeping the layer on the SDK's fast path. Same-origin static file; the second hit is browser-cached.
- Clustering cut-over. Landing points use FeatureReductionCluster with maxScale set to the zoom-3 scale (73,957,191): clustered below zoom 3, individual from zoom 3 up. Cluster classes are constructed explicitly (object-literal autocast trips strict TypeScript) and count labels use an Arcade expression.
- Antimeridian reality. TeleGeography splits trans-Pacific cables at the antimeridian into MultiLineString segments, so extents can span the world. The app zooms with a modest expand(1.35) and deliberately does not attempt to re-join segments.