Why so many -ange places in Belgium near Luxembourg?

Belgium’s petrol station!

The South of Belgium is a beautiful place covered mostly with the region Ardennes – a forested landscape where Belgian used to go out at the weekends to relax. On their road to the South, Belgians also like doing a small stop in the neighbouring country Luxembourg! Petrol, alcool and cigarettes is far much cheaper in Luxembourg!

What characterizes also the very Southern part of the country as well as villages in Luxembourg especially are the village names ending with “-ange”, like  Martelange, Grumelange, Hollange, Aubange, etc.

Where do the “-ange” come from?

Belgium and the cultural influences

Belgium is a very small country in the Western part of Europe. It lies between The Netherlands, Germany, Luxembourg and France. Despite being so small – around 30 528 km²/11 787 sq mi or the size of Massachusetts – it has a marvelous cultural landscape and has successively received, along history, Celtic, Latin, Germanic, Saxon, Dutch, French and German influences.

These influences have shaped the toponyms (place names) and it is still possible today to retrace the origins of most names of villages and towns. The origins are often seen in the suffixes and this leads us to think that all places with similar suffixes have the same origin. This is often true but not always.

Most of the place names are nowadays very strongly influenced by the language region they are located in. Belgium has 3 national languages: Flemish (spoken in the Northern part of Belgium), French (spoken in the Southern part), and German (spoken in the Eastern part). Brussels is considered being bilingual (Flemish and French) but most of the inhabitants speak French.

In this articles, we focus on villages and towns ending with –ange, but also with the derivatives –agne, –gne, –gnée, –gnies and –gny.

(Click to enlarge)

-agne, -ange, -gne, -gnée, -gnies, -gny
-agne, -ange, -gne, -gnée, -gnies, -gny


The endings -agne, -ange, -gne, -gnée, -gnies, -gny all have the same origin. They are coming from the Frankish ending –ingen and is usually preceded by the name of the local chief or founder of the village. It’s often difficult today to go back to the name as the village name has been altered over the period. Here are some examples.

  • Martelange could come from the roman name Martilius.
  • Gobertange comes from Gobert.
  • Guignies comes from Guy.
  • Libertange from Libert.

ange-villages are very common at the border of Luxembourg, like the –gny ending.

The latinized version of this suffixe can be found in the province of Hainaut where a lot of –gnies are present. The suffixe –agne, spread in the Provinces of Liege, Namur and Luxembourg, seems to be appeared at the same period as the expansion campaign of Louis XIV in the Southern Netherlands.

In the provinces of Liege and Namur, the ending became –gnée. Some of the names were however translated to –enge, like Bassenge and Roclenge near Liege.

Technical Recipe : How to create these maps

The recipe is very simple

  • Get raw data from OpenStreetMap
  • In a Desktop GIS tool (ArcMap 10.2 has been used), filter the places based on their names
  • Run a Kernel Density Geoprocessing
  • Apply a symbology
  • Define the layout and print !
  • Do the workflow again for applying other filters

Get raw data from OpenStreetMap

OpenStreetMap makes it possible to filter and to download lots of information. So is it possible to get place names.

I used the Overpass Turbo website, I went to Belgium and I sent following request (the bbox was [bbox:50.6,7.0,50.8,7.3]):

out body;
out skel qt;

The parameters:

  • Output format: csv
  • Attributes I am interested in:
    • is_in:continent, is_in:country_code, is_in:province, name, name:de, name:fr, name:nl, latitude, longitude

Conversion and Filter in a Desktop GIS tool (ArcMap 10.2)

The raw csv file that was downloaded has to be converted to a geographic data. I used the Create Feature Class > From XY Table to convert it into a Feature Class.

The filter is applied via a Definition Query:

  •  Right-click on the data > Properties
  • Definition Query
  • Type in i.e.: name LIKE ‘%ange’ or name LIKE ‘%agne’  or name LIKE ‘%gne’  or name LIKE ‘%gnée’  or name LIKE ‘%gnies’  or name LIKE ‘%gny’ 

From this layer, I made a copy and named it after the suffix being analyzed (i.e. ENDING_ANGE)

Run a Kernel Density Geoprocessing

The Kernel Density calculates a magnitude per unit area using a Kernel function. The result is a tapered surface representing the density of points.

The parameters I used are these one:

  • Output cell size: 8,0203E-03
  • Output values: DENSITIES
  • Method: Planar

Apply a symbology

The default symbology applied to a Kernel Density result is blue. I changed it to a orange scale symbology.

Define the layout and print !

The layout is a A4 format with all the basic and necessary cartographic elements: North Arrow, Frame, Scale, Title, Author, etc.

Do the workflow again for applying other filters – Automation

The filter has to be applied manually by hand (or you can define a Python script doing the job for you). I created 3 groups in the Table of Content:

  • STARTS, for towns and villages analyzed based on the prefix
  • ENDS, for towns and villages analyzed based on the suffix
  • CONTAINS, for towns and villages analyzed based on common words inside of their names

For the Kernel Density geoprocessing, I created a small Python script to bring automation in the process for all the maps.

Applying the symbology to all layers has also been automatized via this Python Script (In fact, I take an already existing symbology and I apply it to all the others).





Leave a Reply

Your email address will not be published.

Proove you're not a robot * Time limit is exhausted. Please reload CAPTCHA.