{"license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","attribution":"Statistics: Statistics Finland (Tilastokeskus), the Finnish Meteorological Institute (FMI) and the municipal air quality networks whose readings FMI distributes (largest of them HSY), CC BY 4.0. Capital-region building land reserve: Helsinki Region Environmental Services (HSY) via Helsinki Region Infoshare, by postal code and by city block, CC BY 4.0. Nearby places (/postal-codes/{code}/pois): transit stops from Digitransit, CC BY 4.0; daycare centres from the Suomi.fi service catalogue (PTV, DVV), CC0 1.0; kindergartens, schools, higher and further education, health and medical centres, pharmacies, supermarkets and libraries © OpenStreetMap contributors, ODbL 1.0, and the database derived from them, the daycare layer included, is available under ODbL 1.0; swimming pools and beaches from LIPAS (Jyväskylän yliopisto, Lipas Liikuntapaikat.fi), CC BY 4.0. Each source below names its own licence. Reuse (including by AI/LLM tools) requires attribution to the original publisher.","sources":[{"name":"Paavo — postal code area statistics","publisher":"Statistics Finland (Tilastokeskus)","url":"https://www.stat.fi/tup/paavo/index_en.html","license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/"},{"name":"Dwelling prices (ashi)","publisher":"Statistics Finland (Tilastokeskus)","url":"https://pxdata.stat.fi/PXWeb/pxweb/en/StatFin/StatFin__ashi/","license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/"},{"name":"Reported offences (rpk)","publisher":"Statistics Finland (Tilastokeskus)","url":"https://pxdata.stat.fi/PXWeb/pxweb/en/StatFin/StatFin__rpk/","license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/"},{"name":"Air quality observations","publisher":"Finnish Meteorological Institute (FMI), distributing readings measured by municipal air quality networks (incl. HSY for the capital region)","url":"https://en.ilmatieteenlaitos.fi/open-data","license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/"},{"name":"Lot reserve in the Helsinki metropolitan area by postal code area (SeutuRAMAVA)","publisher":"Helsinki Region Environmental Services (HSY), via Helsinki Region Infoshare","url":"https://hri.fi/data/en_GB/dataset/paakaupunkiseudun-tonttivaranto-postinumeroalueittain-seuturamava","license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","derivation":"From each spring (kevät) release, one per year, the postal-code rows of Helsinki, Espoo, Vantaa and Kauniainen are kept; the unassigned reserve and the codes HSY lists from neighbouring municipalities are dropped. A release's year is the year of its plan register date. Residential reserve is the apartment-block plus the small-house reserve; per resident it is divided by Statistics Finland's Paavo population for the latest year no later than that, and the region-wide figure is the sum of residential reserve over the sum of residents. HSY's \"no data\" areas are left empty."},{"name":"Lot reserve in the Helsinki metropolitan area by city block (SeutuRAMAVA)","publisher":"Helsinki Region Environmental Services (HSY), via Helsinki Region Infoshare","url":"https://hri.fi/data/en_GB/dataset/paakaupunkiseudun-tonttivaranto-kortteleittain-seuturamava","license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","derivation":"From the spring (kevät) block layer, only blocks with unbuilt residential floor area (apartment-block plus small-house reserve) of the release's register date are kept. Each block is placed, whole and unclipped, in the postal area that holds its interior point, or, for a block on land reclaimed beyond the areas' shoreline, in the nearest capital-region area within 500 m; only capital-region postal areas are kept. Coordinates are rounded to 6 decimals. Served per postal area at /api/v1/postal-codes/{code}/reserve-blocks."},{"name":"Public transport stops (nearby places)","publisher":"Digitransit","url":"https://digitransit.fi/en/developers/","license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","derivation":"From the stops of Digitransit's national router, processed in gtfsId order: a stop whose vehicle mode is undetermined, or other than bus, tram, subway, rail or ferry, is dropped; subway is served as metro and rail as train. A named stop with the same mode and exact name as an already-kept stop from a different feed less than 10 m away is dropped as a copy of it (unnamed stops never take part in this check), and a repeated id and mode is kept once; both checks run before the postal-area step. Added content: each row gets the code of the postal code area whose boundary contains it (Statistics Finland Paavo boundaries, CC BY 4.0; a point on a boundary counts, and a point on two boundaries goes to the lowest code); rows outside every postal code area are dropped. A refresh is attempted monthly; a failed or suspicious run keeps the previous data, and each /api/v1/postal-codes/{code}/pois response gives the date of the last successful retrieval."},{"name":"Kindergartens, schools, health and medical centres, pharmacies and supermarkets (nearby places)","publisher":"OpenStreetMap contributors","url":"https://www.openstreetmap.org/copyright","license":"ODbL 1.0","licenseUrl":"https://opendatacommons.org/licenses/odbl/1-0/","derivation":"From the Geofabrik Finland extract of OpenStreetMap: elements are selected with the osmium tags-filter expressions nwr/amenity=kindergarten,school,university,college,clinic,doctors,pharmacy,library and nwr/shop=supermarket, then exported as points and areas only (lines are dropped); an area becomes the interior point of its 2D outline. Ids are written as node/<id>, way/<id> or relation/<id>. Each element yields one row per category its tags qualify for: amenity=school and pharmacy map one to one, amenity=kindergarten becomes kindergarten (left out when it has no name, when the name matches perhepäivähoit|familjedagvård, or when it matches esiopetus|esikoulu|eskari|förskola|\\bkoulun?\\b|skola|leikkipuisto|lekpark but not päiväkoti|päiväkodin|daghem|kindergarten|lekskola|småbarnskola, case-insensitively), amenity=clinic and doctors both become the one category \"health clinic\" (left out when healthcare=alternative or laboratory), amenity=university and college both become \"higher and further education\" (left out when the name matches kansanopisto|kansalaisopisto|työväenopisto|folkhögskola|arbetarinstitut|opintokeskus, case-insensitively), amenity=library becomes library (left out when the name matches kirjastoauto|bokbuss), and shop=supermarket becomes supermarket. Only the name tag is kept; all other tags are dropped. A repeated element id and category is kept once, the first seen, before the postal-area step. Added content: each row gets the code of the postal code area whose boundary contains it (Statistics Finland Paavo boundaries, CC BY 4.0; a point on a boundary counts, and a point on two boundaries goes to the lowest code); rows outside every postal code area are dropped. A refresh is attempted monthly; a failed or suspicious run keeps the previous data, and each /api/v1/postal-codes/{code}/pois response gives the date of the last successful retrieval. When served, a kindergarten is left out if a daycare from the Suomi.fi service catalogue (PTV) lies within 250 m of it, whatever its postal area; the served kindergarten layer, PTV and OpenStreetMap together, is therefore a database derived from OpenStreetMap. The resulting database is available under ODbL 1.0 through /api/v1/postal-codes/{code}/pois."},{"name":"Daycare centres (nearby places)","publisher":"Digital and Population Data Services Agency (DVV), Suomi.fi service catalogue (Palvelutietovaranto)","url":"https://avoindata.suomi.fi/data/fi/dataset/palvelutietovaranto","license":"CC0 1.0","licenseUrl":"https://creativecommons.org/publicdomain/zero/1.0/","derivation":"From the open API of the Suomi.fi service catalogue: every page of ServiceChannel/type/ServiceLocation is read, and the list is refused unless every page is present and every page but the last is full; service locations are kept when their name matches päiväkoti|päiväkodin|daghem|esiopetus and not keittiö|kök|opiskeluhuolto|elevhälsa|ravintola|ruokapalvelu|liikuntasali|luistelukenttä (a daycare's kitchen, pupil-welfare service, gym or rink listed as a channel of its own), case-insensitively. Each kept location's detail is fetched, and it stays only if it is published and has a Location address with a postal code and coordinates (a channel removed between the list and its detail is skipped); its Finnish name is used (else Swedish, else English, else any other name it carries). PTV gives ETRS-TM35FIN metres (EPSG:3067), converted to WGS84. Ids are PTV's service channel ids. Added content: each row gets the code of the postal code area whose boundary contains it (Statistics Finland Paavo boundaries, CC BY 4.0; a point on a boundary counts, and a point on two boundaries goes to the lowest code); rows outside every postal code area are dropped. A refresh is attempted monthly; a failed or suspicious run keeps the previous data, and each /api/v1/postal-codes/{code}/pois response gives the date of the last successful retrieval."},{"name":"Swimming pools and beaches (nearby places)","publisher":"University of Jyväskylä, Lipas Liikuntapaikat.fi","url":"https://www.jyu.fi/fi/liikunta/yhteistyo/lipas-liikunnan-paikkatietojarjestelma/avoimet-rajapinnat-ja-ladattavat-lipas-aineistot","license":"CC BY 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","derivation":"From the LIPAS open API (api.lipas.fi v2), sports-sites?type-codes=3110&type-codes=3210&type-codes=3220&type-codes=3230&statuses=active&page-size=100: the active sites of LIPAS types 3110 Uimahalli (public indoor swimming pool) as \"swimming pool\", 3210 Maauimala/vesipuisto (open-air pool) as \"swimming pool\", 3220 Uimaranta (public beach) as \"beach\", 3230 Uimapaikka (swimming site) as \"beach\". Paging is checked for completeness (every page present and full but the last, the same totals on every page, no site twice), a check of complete paging rather than of a snapshot; an inconsistent scan is repeated once and a second one fails the run. A site must have a name and exactly one point, which is used as published (WGS84). Ids are LIPAS ids. Added content: each row gets the code of the postal code area whose boundary contains it (Statistics Finland Paavo boundaries, CC BY 4.0; a point on a boundary counts, and a point on two boundaries goes to the lowest code); rows outside every postal code area are dropped. A refresh is attempted monthly; a failed or suspicious run keeps the previous data, and each /api/v1/postal-codes/{code}/pois response gives the date of the last successful retrieval. Postal code areas stop at the shoreline, so a beach whose point falls just outside every area (at the water's edge) is assigned to the postal code LIPAS gives it, when that area's boundary is within 500 m of the point; otherwise it is dropped."}]}