IpMap is a browsable Hilbert curve showing geographic locations of IPv4 addresses. It was inspired by xkcd 195, Map of the Internet. An interactive demo is available.
Hilbert curves are described on Wikipedia.
Each square on the curve has a hue giving the majority location of its IP addresses, and a saturation giving the proportion of this square assigned to this location.
GeoIp data is from MaxMind, and country/region/continent mapping is from cloford.com.
It's pure HTML5, so you can launch it locally: clone the Github repository and open index.html
.
The HTML part is minimal, and the javascript part is fairly decoupled: the HilbertCurve
function is reusable (it accepts any DataSource
), and the IpMap
function is built from HilbertCurve
and a IpCountryDataSource
.