smartmet-engine-geonames
April 3, 2026 · View on GitHub
Part of SmartMet Server. See the SmartMet Server documentation for a full overview of the ecosystem.
Overview
The geonames engine (also called geoengine) provides shared location services to SmartMet Server. It resolves place names to coordinates and vice versa, using a PostGIS database based on the GeoNames geographical database with over eleven million place names.
Configuration
The configuration file consists of the configuration of several parameters that are needed for specifying the location services. These parameter include the following:
- Station names
This configuration states whether the station names should be splittable into words or not. For example,
remove_underscores = true;
- Locale
Locale defines the user's format for the specification of language. This link gives the GNU document on locale for C and C++. In the configuration file, we can specify for example the locale for Finnish language as
locale = "fi_FI.UTF-8";
Using en_US would mean the characters Ä and A would be considered equivalent. The language used affects the autocomplete feature.
- maxdemresolution for the data
maxdemresolution = 0;
The setting of 0 meters allow highest possible resolution. Do not use too high resolution data to avoid page faults
- LandCover data directory
landcoverdir = "directory_name";
- Database settings
Do NOT use the full name, use the alias only because different networks use different full host names but the same alias.
database:
{
host = "localhost";
user = "username";
database = "databasename";
pass = "password";
};
- Cache Maximum size
cache:
{
max_size = cache size in bytes;
};
- Automatic enginen reload tietokannan muutosten case
autoreload:
{
period = period in minutes;
};
Default 0 means - autoreload is disabled
- Priorities
Priorities specify the priorities of countries, priorities of areas within a country, priorities of features and priorities of country specific features.
Use some criteria to prioritize the countries. The priority index along with the country code from the ISO 3166-1 alpha-2 codes is given in the configuration file.
priorities:
{
FI = priority index; // Finland
EE = priority index; // Estonia
SE = priority index; // Sweden
...
default = 100000;
};
- Feature priorities
Feature priority for a particular region or country
{
default = "default_features";
FI = "FI_features"; // specific features for Finland
};
default_features:
{
PPLC = priority index; // populated place
SKI = priority index; // skiing place
...
};
- Country specific features
FI_features:
{
PPLC = priority index; // populated place
SKI = priority index; // skiing place
...
};
- Areas
Priorities of areas within a country
areas:
{
Area1 = 2;
Area2 = 1;
...
default = 0;
};
- Countries
countries:
{
FI = priority index;
SE = priority index;
NO = priority index;
...
default = 0;
};
Docker
SmartMet Server can be dockerized. This tutorial explains how to explains how to configure the GeoNames engine of the SmartMet Server when using Docker.
License
MIT — see LICENSE
Contributing
Bug reports and pull requests are welcome on GitHub.