Brief Introduction To Digital Maps, and Maps That Explain How Our World Works

Overview of Digital Maps

Raster Image Format Maps

You might be used to maps like this :

Your browser will natively display common raster image formats [PNG, JPEG, etc.]. These contains raster [Pixelized Data] which essentially means there is a hard-coded grid of color information. This is regardless of the encoding or representation of the data - such as JPEGs encoding in YUV color coordinates and compressed using frequency coefficients for each JPEG block - its still a grid of pixel data the encoding is representing.

None of the pixels themselves have any metadata or any associated tags. This means working with PNGs, JPEGs, and other rasterized image data to extrapolate features involves higher order steps and far more compute such as image recognition and Data Mining algorithms.

Vector Images

You might also run across vector image formats, such as SVG, especially for things such as ICONs

These add flexibility and functionality such as interaction by Javascript with inline SVG files that can add manipulation such as shading, filling, transformations, or others.

This allows prescribing attributes to certain vector paths, and allowing you to do things like interactive zooming and clicking one browser / UI events. For example

//The code to get edit the HTML components upon clicking look like 
const population = event.target.getAttribute('data-population');
document.getElementById('selectedCounty').innerText = 'Selected County ID: ' + event.target.id + "with population" + population;
//The code to build the bottom SVG looks like
    const sideMapObject = document.getElementById('SideMap');
    sideMapObject.innerHTML = ''; // Clear existing content

    // Create a new SVG element
    
    //Base SVG E
    const newSVG = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
    newSVG.setAttribute('width', '100%');
    newSVG.setAttribute('height', '100%');
    newSVG.setAttribute('viewBox', event.target.getBBox().x + ' ' + event.target.getBBox().y + ' ' + event.target.getBBox().width + ' ' + event.target.getBBox().height);

    // Clone the polyline and append it to the new SVG
    const clonedPolyline = event.target.cloneNode(true);
    newSVG.appendChild(clonedPolyline);

    // Append the new SVG to the SideMap
    sideMapObject.appendChild(newSVG);

Point is, because of the vector / coordinate makeup of SVGs allow for native javascript interaction as a native DOM element that can access Polyline, Polygon, and other shape’s metadata inside of a SVG file.

SVGs also allow variable resolution at zoom - so SVGs are better than rasterized images at holding high resolution data. Rendering vector images involves transforming vectors at a certain zoom, alongside fill information, etc. to essentially raster data to the framebuffers and graphical hardware to display on your screen, just like rasterized images.

But Digital Maps allow richer Layering, Display, filtering, information requesting and response protocols, and calculations on data than SVG images alone can.

Digital Maps UIs

Digital Map UIs and builders come in many forms such as ArcGis, QGis, other geospatial software, WEB UI APIs such as OpenLayers, and others.

Digital Maps allow to you to build “Layers” composed on top of each other, and can interact with a variety of data sources, such as KML, GeoJSON, Shapefiles, GeoPackages, and some other propietary and open standard formats.

Some standardized protocols such as WMS, WCS, and WFS provide a standardization for requests to a GeoServer for different formats of data.

On the client side, usually digital maps have powerful tools for displays, such as Heat Maps, Filtering, Clustering, Symbols, etc.

An Example of Clustering

An Example of Heat Maps

In this example, Clustering groups together power plants nearby when zoomed out, and breaks clusters apart when zoomed in.

The heat map demonstrates the density of the existence of power plants across the map.

General Types Of Data Digital Maps Process

Each piece of Data Will Comprise of a “Layer” on the map. A layer is an abstraction that allows behavior to apply to it - such as how its displayed on the map and how it is requested and filtered.

Raster Data (Images)

Raster Data is Map Data displayed as pixels on the screen, and often do not have any functionality despite being the background / reference image for the overlayed maps.

Tiled Raster Maps

Allows the client to request partitions of the map to decrease the amount of requests to the server. This allows lower network data transfers.

For example:

https://tile.openstreetmap.org/4/15/4.png

Zoom Level 4, Tile Coordinates [15,4]

Vector Data

Vector Data is different than raster data because it isn’t just an image to display, but information about the components of the map’s information gets passed to the client, which then chooses how to render it. This allows different types of displays such as elevation maps, heat maps, clustering, etc.

Vector Data includes geometries such as Points, Polygons, MultiPolygons, Lines, etc.

Tiled Vector Data

Similar to Tiled Raster Data, allows filtering in the client request (on the server side).

Exact Types

In the above section, I explained generally that raster or vector types exist for displaying on maps. However, these can come in different formats.

Vector Types

  1. KML
  1. GeoJSON
  1. Shapefiles
  1. GeoPackages

Raster Options

  1. KML
  1. GeoPackages
  1. GeoTIFF
  1. Image Formats [JPEG, PNG, etc.]

Back To Infrastructure

Electrical

Where does electrical power get generated and where does it attach to the grid?

What kind of electrical power sources exist at certain locations?

Where are transmission lines for long distance electricity hauling?

Power Plants

https://www.arcgis.com/apps/mapviewer/index.html?webmap=b1f22fb7ce9242ed9c6800f970a34e84

Transmission Lines Map

https://hub.arcgis.com/datasets/d4090758322c4d32a4cd002ffaa0aa12/explore

Zoom in to a location to see the transmission lines, you can find substations where transmission lines end.

Filtered Transmission Lines

http://localhost:3000/api/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=ne:Electric_Power_Transmission_Lines_A&outputFormat=application/json&CQL_FILTER=VOLTAGE>700

http://localhost:3000/api/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=ne:Electric_Power_Transmission_Lines_A&outputFormat=application/json&CQL_FILTER=VOLTAGE>200 AND BBOX(the_geom%2C-13613498.245478805%2C3685997.943791308%2C-12476549.548982162%2C4283134.864220217)

Shipping

Freight

https://www.acwr.com/economic-development/rail-maps/union-pacific

International Shipping Routes

https://www.arcgis.com/home/webmap/viewer.html?webmap=940902bb15fc449c9ff840dd622cc42c

International Ports

https://hub.arcgis.com/datasets/1e7dfd86350e4e00b722b943a02cb14c/explore

Plumbing

Internet

Internal details of a lot the internet are both propietary and largely too complicated to be displayed as geographic maps, but you can see a lot of the most major and high volume infrastructure that makes up the global internet.

Thinks like private peering agreements between two Autonomous Systems, internal Internet Exchange Point agreements (IXPs), which part of the address

Underwater Sea Cables

Underwater Sea Cables are low in volume , high capacity, connections across the ocean that allows the internet to operate globally.

https://www.submarinecablemap.com/

IXPs (Internet Exchange Points)

IXPs are one of two ways for different Networks to peer with each other and exchange routing information for the global internet using the BGP protocol. This is contrary to “Private Peering Links”.

https://www.internetexchangemap.com/#/building/19230

AWS Data Center Locations