Compare the Shape of Different Countries
Use CanonicalWarpingDistance to find similarity between shapes of different countries.
Copy to clipboard.
In[1]:=

✖
names = {"USA", "Poland", "Portugal", "Vietnam", "Brazil", 
   "Finland"};
borders = <|# -> 
      ArrayResample[CountryData[#, "Polygon"][[1, 1, 1]], 200] & /@ 
    names|>;Copy to clipboard.
In[2]:=

✖
shapes = Graphics[CountryData[#, "Shape"][[1]], 
    ImageSize -> {50, 50}] & /@ Keys[borders]Out[2]=

Calculate shape distances using canonical time warping.
Copy to clipboard.
In[3]:=

✖
dm = DistanceMatrix[Values[borders], 
   DistanceFunction -> (Chop[
       CanonicalWarpingDistance[##, MaxIterations -> 6]] &)];Show the distance matrix.
Copy to clipboard.
In[4]:=

✖
MatrixPlot[dm, 
 FrameTicks -> {{MapIndexed[{#2[[1]], #1} &, shapes], 
    None}, {MapIndexed[{#2[[1]], Rotate[#1, \[Pi]/4]} &, names], 
    None}}, Mesh -> True, ColorFunction -> "BlueGreenYellow", 
 PlotLegends -> Automatic, 
 PlotLabel -> "Distance based on country shape", ImageSize -> Medium]Out[4]=








