The phenomenon of converging road networks—often encapsulated by the adage “All Roads Lead to Rome”—is revealed here to be a natural consequence of how real-world transportation systems are structured. By computing shortest travel paths from tens of thousands of North American cities to a single target—Nothing, Arizona, a ghost town with a population of zero—we demonstrate that the clustering effect is not unique to major population centers. Instead, it emerges from the hierarchical and fractal-like organization of road networks. The following Wolfram Language code not only retrieves and processes extensive geospatial data but also generates a stylized map that illustrates how similar branching structures arise regardless of the destination, with only minor deviations caused by nearby key highway intersections. This approach underscores the idea that “the road is the destination,” with the journey itself revealing an underlying order.
The concept of converging road networks has been explored previously in the two posts Roads to Rome and Roads to Lyon. It is visually obvious that similar road clustering patterns appear for different cities. But these are large cities - is this a factor? Would the same pattern appear for smaller places. The point of this post is to show that - yes, the pattern is independent of population size.
Established in 1977 by Richard “Buddy” Kenworthy, Nothing, Arizona, was a tiny settlement located at milepost 148.5 on U.S. Route 93, approximately 118 miles northwest of Phoenix. At its peak, the town had a population of four and featured a gas station and convenience store. A sign humorously proclaimed: “The staunch citizens of Nothing are full of Hope, Faith, and Believe in the work ethic. Thru-the-years-these dedicated people had faith in Nothing, hoped for Nothing, worked at Nothing, for Nothing.” By 2005, Nothing was abandoned, and despite brief revival attempts, it remains a ghost town today. In 2016, Century 21 Real Estate ran a “Give Dad Nothing” promotion, offering 24-hour leases to parcels in Nothing for Father’s Day.
The target location is defined by assigning the geographic coordinates of Nothing, Arizona, to the variable noth. This precise GeoPosition serves as the endpoint for all subsequent route computations.
In[]:=
noth=GeoPosition[{34.479722,-113.335278}];
A unified list of North American countries is created by joining a specified list (United States, Mexico, Canada) with the entities corresponding to Central American countries. This comprehensive list establishes the geographic scope for our analysis.
In[]:=
countryNCA=,,~Join~EntityList
Out[]=
,,,,,,,,,
Using parallel processing, the code retrieves all cities for each country in the list. The results are flattened into a single list (cityNCA) containing all the cities across North America, ensuring a broad data set for routing.
In[]:=
cityNCA=Flatten[ParallelMap[EntityList[EntityClass["City",{"Country"->#}]]&,countryNCA]];
This expression computes the total number of cities retrieved—37,699—confirming the size of the dataset and providing context for the scale of the analysis.
In[]:=
cityNCA//Length
Out[]=
37699
Shortest travel paths (using the “TravelPath” specification) are computed in parallel from each city to the target location (Nothing, Arizona). The use of AbsoluteTiming shows that the operation required approximately 897.757 seconds, reflecting the computational intensity of processing such a large dataset.
In[]:=
roads2noth=ParallelMap[TravelDirections[{#,noth},"TravelPath"]&,cityNCA];//AbsoluteTiming
Out[]=
{897.757,Null}
This line tallies the output types from the travel route computations, revealing that 36,892 results are valid GeoPath objects while 807 are not, thereby providing insight into the quality and consistency of the computed paths.
In[]:=
Counts[Head/@roads2noth]
Out[]=
GeoPath36892,Symbol807
Only the valid GeoPath objects are retained by filtering the results, resulting in a refined list (roads) of 36,892 shortest paths. This step ensures that subsequent visualization operates on reliable route data.
In[]:=
roads=Select[roads2noth,Head[#]==GeoPath&];
In[]:=
roads//Length
Out[]=
36892
A high-resolution map is generated using GeoGraphics. The code styles North America with a white fill and gray edges, overlays a random sample of 10,000 computed routes in a semi-transparent red, and applies an Orthographic projection for a pleasing visual effect. The map is then rasterized at 2000 pixels, ensuring clarity and precision in the final image.
geoGR=GeoGraphicsGeoStyling[White],EdgeForm[Gray],Polygon,{Red,Opacity[.1],RandomSample[roads,10000]},GeoBackground->GeoStyling[LightBlue],GeoProjection->"Orthographic",ImageSize->2000,GeoRange->{{10,53},{-120,-70}}//Rasterize[#,RasterSize->2000]&;//AbsoluteTiming
The working directory is set to the notebook’s directory, and the rendered map is exported as a PNG file named “geoGR1.png” at the designated resolution. This step finalizes the output for sharing and publication.
In[]:=
SetDirectory[NotebookDirectory[]]
Out[]=
/Users/vitaliyk/Documents/LiNKEDiN/Roads_2_Nothing
Export["geoGR1.png",geoGR,ImageSize->2000]
In the geoGR step, several images were generated by applying RandomSample to select different sets of 10,000 routes from the full collection of computed paths. This intentional randomization creates a series of varied yet related visualizations that each capture the inherent convergence patterns of the network. These multiple images are then combined using ImageMultiply, a process that accentuates the common features across the samples—effectively highlighting the fractal-like structure and the persistent clustering effect—while the subsequent color negation and replacement further refine the visual contrast. This approach not only reinforces the reproducibility of the phenomenon but also enhances its aesthetic impact by integrating randomized samples into a unified, striking composite image.
A listing of all PNG files in the directory is generated, confirming that the export was successful and that the expected image files are present.
In[]:=
FileNames["*.png"]
Out[]=
{1.png,2.png,3.png,4.png,5.png}
All PNG files from the directory are imported into the session as a list, setting the stage for subsequent image processing.
In[]:=
imgs=Import["*.png"];
The final processing step combines the imported images via ImageMultiply, applies a color negation, and then replaces white with black. This transformation enhances the visual contrast and prepares the composite image for its intended presentation.
In[]:=
imgsMLT=ColorReplace[ColorNegate[ImageMultiply@@imgs],{->,White->Black}]
Out[]=
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
All roads lead to Nothing (Arizona, USA): shortest-path fractal cluster to a ghost town
by Vitaliy Kaurov
Wolfram Community, STAFF PICKS, March 3, 2025
https://community.wolfram.com/groups/-/m/t/3403335
by Vitaliy Kaurov
Wolfram Community, STAFF PICKS, March 3, 2025
https://community.wolfram.com/groups/-/m/t/3403335
