Open data manual
The Finnish Meteorological Institute has decided to publish a major part of it's meteorological and oceanographic data sets as Open Data using open standard web service interfaces for geospatial data. This evolving documentation is intended to give a good head start on developing applications using weather and oceanographic data through the open data web services of the Finnish Meteorological Institute.
The meteorological data sets are inherently different from many other traditional geospatial data sets: The data volumes gathered from weather measurements stations and using remote sensing instruments like weather radars and satellites, or produced by numerical weather forecast models are huge and continuously changing: A radar image retrieved 15 minutes ago has already been succeeded by two or three more recent images, and the precipitation forecast fetched yesterday for tomorrow should be replaced by today's forecast to get an accurate prediction. For this reason it has been decided to offer the continuously updated environmental observation and forecast data as services rather than static data sets.
Open data services are machine-readable
Open Data Services of the Finnish Meteorological Institute are divided into three categories following the categorisation used by the INSPIRE directive:
Discovery Service (a.k.a. Catalog service) provides metadata about the available data sets and services, implemented using the OGC Catalog Service for Web (CSW),
View Services give a visual preview of the available data sets, implemented using OGC Web Map Service (WMS), and
Download Services provide a continuous online access to the most up-to-date data, implemented using OGC Web Feature Service (WFS).
All these services are intended to be machine-accesible: in most cases the data users interact with these services only through applications provided by the Finnish Meteorological Institute, the data users themselves or third parties. In other words, the Finnish Meteorological Institute is providing APIs for accessing the data.
Open Data data sets of the Finnish Meteorological Institute are published using open standard web service interfaces for geospatial data defined by the Open Geospatial Consortium (OGC). The data opening is part of the growing global trend of publishing environmental information as Open Data, and is part of the implementation of the open data policy of the Finnish Government and the EU INSPIRE directive.
Using open standard interfaces makes it easier for developers to build re-usable software being able to access many data sets from different data providers and combine them together to create new interesting and technologically advanced applications. The Finnish Meteorological Institute encourages both small and large developer individuals and organizations to experiment with the provided data sets and publish their creations either as free or commercial products. The data users must agree to the Licence.
Quick start for accessing time series data
First step
Capabilities inform what operations may be requested
List stored queries that can be used to get data
Get some feature data as XML
Capabilities (step 1) informed that getFeature operation can be used for query
Stored query list (step 2) provided value options for storedquery_id
JavaScript
MetOLib is a JavaScript library that provides implementation of API classes that may be used to request weather data from the Web Feature Service (WFS) server of the Finnish Meteorological Institute INSPIRE Atmospheric Features and Geographical Meteorological Features guidelines compatible WFS Download Service server at http://opendata.fmi.fi.
MetOLib provides a good JavaScript reference implementation for WFS requests. MetOLib can be used to request data from server and to get parsed XML data as JavaScript objects. Also, MetOLib provides cache for requested data.
Get MetOLib from GitHub. MetOLib readme file gives information on how to get started.
An example implementation can be found on page https://en.ilmatieteenlaitos.fi/precipitation-in-finland.
MetOLib example
See API documentation and comments from source code to get more information about functions and parameter objects.
var SERVER_URL = "http://opendata.fmi.fi/wfs";
var STORED_QUERY_OBSERVATION = "fmi::observations::weather::multipointcoverage";
var connection = new fi.fmi.metoclient.metolib.WfsConnection();
if (connection.connect(SERVER_URL, STORED_QUERY_OBSERVATION)) {
// Connection was properly initialized. So, get the data.
connection.getData({
requestParameter : "td",
begin : new Date(1368172800000),
end : new Date(1368352800000),
timestep : 60 * 60 * 1000,
sites : "Helsinki",
callback : function(data, errors) {
// Handle the data and errors object in a way you choose.
handleCallback(data, errors);
// Disconnect because the flow has finished.
connection.disconnect();
}
});
}