I saw a popular Facebook post that showed the map below and said: “When everyone in your street moved away but still stick around. None of the countries that bordered Poland before 1990 exist today. How’s that for your daily dose of geography / history trivia?”
I decided to reproduce the maps but make the presentation animated. In my mind one map would transition into the other and backwards so the change of the borders and countries is visually obvious. You can see the result as the animated GIF at the top or the video below. I will explain how easy it is to make them.
Let' s start in the modern days and check which countries are bordering Poland in 2023:
In[]:=
Poland
COUNTRY
["BorderingCountries"]
Out[]=

Belarus
,
Czech Republic
,
Germany
,
Lithuania
,
Russia
,
Slovakia
,
Ukraine

Using this compact computation the code for the 2023 map is quite simple:
In[]:=
map23=Rasterize@GeoGraphics​​{Text[Style["2023",40,Darker@Red,Bold],Scaled[{.7,.1}]],​​Text[Style["POLAND",15,Bold],Scaled[{.5,.45}]],​​Text[Style["GERMANY",15,Bold],Scaled[{.23,.42}]],​​Text[Style["CZECHIA",15,Bold],Scaled[{.29,.33}]],​​Text[Style["SLOVAKIA",15,Bold],Scaled[{.5,.25}]],​​Text[Style["RUSSIA",15,Bold],Scaled[{.58,.625}]],​​Text[Style["RUSSIA",15,Bold],Scaled[{.9,.9}]],​​Text[Style["LITHUANIA",15,Bold],Scaled[{.65,.69}]],​​Text[Style["BELARUS",15,Bold],Scaled[{.8,.55}]],​​Text[Style["UKRAINE",15,Bold],Scaled[{.75,.30}]]​​}~Join~​​MapThread{EdgeForm[Black],FaceForm[#1],GeoVariant[#2,"AllAreas"]["Polygon"]}&,​​{Brown,Darker@Green,Blue,Gray,Red,Lighter@Green,Orange},
Poland
COUNTRY
["BorderingCountries"]​​,GeoRange->{{45,60},{9,30}},GeoBackground->"CountryBorders",ImageSize->700
Out[]=
Now to travel back in time to 1989 we can use data on “HistoricalCountry” accessed via the corresponding Entity, the whole database comprising 1955 historical countries:
In[]:=
EntityList["HistoricalCountry"]//Length
Out[]=
1955
with each Entity having the following Properties:
In[]:=
East Germany
(1949 - 1990)
HISTORICAL COUNTRY
["Properties"]
Out[]=

current countries
,
end date
,
entity classes
,
entity type list
,
full name
,
has polygon?
,
name
,
nationality
,
polygon
,
position
,
start date
,
sub-label

The “Polygon" is exactly what we need to draw a historical border on the map. And for a specific year we can use
In[]:=
PolygonDated
East Germany
(1949 - 1990)
HISTORICAL COUNTRY
["Polygon"],1989
and an option for GeoGraphics that generates the general outline of the map of 1989:
GeoBackground->Dated["CountryBorders",1989]
Using this tools and the fact that Poland in 1989 was ordered only by three countries sown below we build the maps as follows:
In[]:=
map89=Rasterize@GeoGraphics​​{Text[Style["1989",40,Darker@Red,Bold],Scaled[{.7,.1}]],​​Text[Style["POLAND",15,Bold],Scaled[{.5,.45}]],​​Text[Style["SOVIET UNION",15,Bold],Scaled[{.75,.48}]],​​Text[Style["EAST GERMANY",15,Bold],Scaled[{.20,.42}]],​​Text[Style["CZECHOSLOVAKIA",15,Bold],Scaled[{.33,.30}]]​​}~Join~​​MapThread{EdgeForm[Black],FaceForm[#1],Polygon[Dated[#2,1989]]}&,​​{Red,Blue,Green},​​
Union of Soviet Socialist Republics
(1922 - 1991)
HISTORICAL COUNTRY
,​​
East Germany
(1949 - 1990)
HISTORICAL COUNTRY
,​​
Czechoslovakia
(1918 - 1992)
HISTORICAL COUNTRY
​​,GeoRange->{{45,60},{9,30}},GeoBackground->Dated["CountryBorders",1989],ImageSize->700
Out[]=
In the animation I wanted to give an “older vibe” to the older map so it is perceived intuitively and immediately which map belongs to which year. I used ImageEffect with darkening “Vignette” and “TornFrame” for map of 1989:
Now to test the idea of transitioning between the maps we can use Blend and Manipulate to sort of melt one map into the other:
To make an animated GIF that transitions between the maps I use ParallelTable to save some times generating transitional frames in parallel on all CPUs of my computer:
While exporting I set specific time stamps for each frame pausing longer a bit on each exact maps and flying faster through transitioning frames:
It is quite amazing that generating a video is automated and even simpler and also easy to Parallelize with no need to focus on specific frames:
Using VideoJoin and VideoReverse from Wolfram Function Repository it is easy to make a seamless video loop:

CITE THIS NOTEBOOK

None of the countries bordering Poland before 1990 exist today: the fall of the Berlin Wall and USSR​
by Vitaliy Kaurov​
Wolfram Community, STAFF PICKS, November 20, 2023
​https://community.wolfram.com/groups/-/m/t/3067969