Kartogramm is a vector tiles scheme for serving data from the Estonian Land Board's 1:10K national topographic vector dataset (ETAK). It incorporates some other data sources aswell, listed here. The datasets are transformed to unified schema discussed in more detail here. The main focus is still on high level zooms for Estonia, with additional sources only meant as background information on medium and low levels.
The data model is based on Cartiqo by Webmapper licensed under CC BY-SA 4.0 with some country-specific changes to codelists (wetlands, peat mining areas) and other more general changes as regards to the availability of data. But this here is still a work in progress so further changes might come about.
Preview versions of tiles:
- NaturalEarth v 4.1.0 large scale cultural and physical under terms of use.
- OpenStreetMap data for Latvia via geofabrik.de under ODbL v 1.0.
- 1:250K Generalized Estonian Topographic data by Estonian Land Board under Maa-ameti avatud ruumiandmete litsents, 01.09.2016 (verbatim copy of the license incl. in the zip file).
- 1:10K Estonian Topographic Database under Land Board Open Data License.
- Estonian administrative division (EHAK) by Estonian Land Board under Land Board Open Data License.
- 1:1.2M generalized Latvian administrative division (as of January 2018) by Statistics Latvia via Latvia Open Data Portal via Open Data Portal Watch under CC0 1.0.
- Unofficial urban districts for city of Tartu from the city govt open data page under CC-BY 3.0.
- Unofficial urban districts for city of Tallinn from the city geoportal under Tallinn's open spatial data simple licence agreement.
- Estonian address data (ADS) by Estonian Land Board under CC0.
Areas used for agricultural purposes. ETAK does not specifically distinguish
between types of agricultural land. In order to achieve this would have to do
some extra processing based on data from the
Agricultural Registers and Information Board.
type == greenhouse
requires separate attention as it is a collateral area
taken from other buildings. This means it will overlap other types of landcover
areas.
type_agricultural |
---|
agriculture |
arboriculture |
pasture |
greenhouse |
fallow |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(Polygon) |
originalid | varchar(50) |
name | varchar(500) |
type | type_agricultural |
Boundaries between administrative units are represented as single LineString
s
with sidedness information, i.e. the name of administrative unit and country
identifier on either side of the vector.
type_boundaries |
---|
country |
province |
municipality |
settlement |
subtype_boundaries |
---|
country.foreign |
country.domestic |
province. |
municipality. |
settlement. |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(LineString) |
originalid | varchar(50) |
name_left | varchar(500) |
name_right | varchar(500) |
country_left | varchar(50) |
country_right | varchar(50) |
type | type_boundaries |
subtype | subtype_boundaries |
on_water | boolean |
Urban areas and buildings. Except for subtypes area.industrial
and
area.residential
all of these are collateral meaning they can overlap other
landcover types, e.g. building polygons situated on top of residential area
polygons.
type_builtup |
---|
area |
building |
wall |
subtype_builtup |
---|
area. |
area.courtyard |
area.industrial |
area.residential |
area.graveyard |
area.quarry |
area.dump |
area.sports |
building. |
building.industry |
building.main |
building.barn |
building.entrance |
building.waterbasin |
building.cover |
building.pitch |
building.berth |
building.under_construction |
building.wreck |
building.foundation |
building.underground |
wall. |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(Polygon) |
originalid | varchar(50) |
name | varchar(500) |
type | type_builtup |
subtype | subtype_builtup |
Infrastructure areas, such as road surfaces, bridges and tunnels.
type_infrastructure |
---|
parking |
road |
railway |
jetty |
tunnel |
bridge |
runway |
pavement |
subtype_infrastructure |
---|
parking. |
road.motorway |
road.transit |
road.bike |
road.driveway |
road.bridle_way |
road.crossing |
road.secondary |
road.highway |
road.local |
road.path |
railway.track_surface |
railway.platform |
jetty. |
tunnel. |
bridge. |
runway. |
pavement. |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(Polygon) |
originalid | varchar(50) |
name | varchar(500) |
type | type_infrastructure |
subtype | subtype_infrastructure |
Point locations for displaying text labels. Has a hierarchy
property which
can be used to filter between more important and less important labels, e.g.
city names for different zoom levels. And rotation
for rotating address
labels feet downwards so their base can be shown on a styled map towards the
street they're associated with. Address ranges are also available for the national
ADS address system house number addresses for which we can establish a related
streetline from the topographic database. These are basically a minimum house
number on this street and a maximum. Type addressrange
is divided into
three subtypes: line_start
, line_end
and line_med
stating if the range min/max
value is situated in the related streetline start or end of the vector or midway.
This makes the label anchoring decisions a bit simpler: e.g. for
addressrange.line_start
it would make sense to anchor the label at the
lower-left corner while for addressrange.line_end
in the lower-right corner.
type_labels |
---|
place |
admin |
water |
nature |
address |
subtype_labels |
---|
place.urban_district |
place.settlement |
admin.country.foreign |
admin.country.domestic |
admin.province |
admin.municipality |
admin.settlement |
admin.district |
admin.neighborhood |
address.building |
address.parcel |
addressrange.line_start |
addressrange.line_end |
addressrange.line_med |
water. |
nature. |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(Point) |
originalid | varchar(50) |
name | varchar(500) |
type | type_labels |
subtype | subtype_labels |
hierarchy | int |
rotation | numeric |
Areas of natural vegetation divided into 3 types - high
(treecover), low
(
grass, shrubs, marshes) and bare
(no significant vegetation present or
bare ground).
type_natural |
---|
high |
low |
bare |
subtype_natural |
---|
high.mixed |
high.deciduous |
high.coniferous |
low.heath |
low.grass |
low.shrubs |
low.wet |
bare.sand |
bare.rock |
bare.dune |
bare.wet |
bare.peat |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(Polygon) |
originalid | varchar(50) |
name | varchar(500) |
type | type_natural |
subtype | subtype_natural |
LineString features for railroad tracks. In addition to type
and subtype
has also class
which defines if this is a main
, side
or branch
rail
line.
type_railways |
---|
rail |
tram |
metro |
industrial |
touristic |
light_rail |
subtype_railways |
---|
rail.large_gauge |
rail.narrow_gauge |
rail.funicular |
rail.other |
tram. |
metro. |
industrial. |
touristic. |
light_rail. |
class_railways |
---|
main |
side |
branch |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(LineString) |
originalid | varchar(50) |
name | varchar(500) |
type | type_railways |
subtype | subtype_railways |
class | class_railways |
tunnel | boolean |
bridge | boolean |
Roads as linestrings. type
encodes the functional class, and in addition
class
represents the kind of cover for the road. Z-levels in
relative_height
are recalculated from the original data z-at-the-beginning,
z-at-the-end of vector to z-for-linestring. relative_height
is encoded
as
-1
- road passes under another road (at z-level0
),0
- road on the same (usually ground) level1
- road passes over another road (at z-level0
)
bridge
and tunnel
are booleans meant to denote if this section of the road
passes over a bridge or goes through a tunnel.
Boolean oneway
denotes if this section of the road is meant for oneway car
traffic only. True
means traffic only in the road vector direction, False
that traffic is allowed in both directions.
type_roads |
---|
highway |
motorway |
main |
secondary |
local |
bike |
path |
ferry |
class_roads |
---|
stone |
gravel |
dirt |
wood |
permanent |
other |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(LineString) |
originalid | varchar(50) |
name | varchar(500) |
type | type_roads |
class | class_roads |
tunnel | boolean |
bridge | boolean |
oneway | boolean |
road_number | varchar(250) |
relative_height | int |
Areas under water as polygons. Includes sea
, lake
for standing water as well
as water_way
for larger rivers which are mapped as polygons at 1:10K.
type_water |
---|
sea |
tidal_flat |
lake |
water_way |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(Polygon) |
originalid | varchar(50) |
name | varchar(500) |
type | type_water |
Different types of flow water bodies as linestrings. type
denotes a recoded
waterline length. class
for the official classification of the flowing
water body.
type_waterline |
---|
1m |
3m |
6m |
8m |
12m |
50m |
125m |
class_waterline |
---|
river |
channel |
stream |
ditch |
mainditch |
property name | datatype in DB |
---|---|
oid | serial |
geom | geometry(LineString) |
originalid | varchar(50) |
name | varchar(500) |
type | type_waterline |
class | class_waterline |
underground | boolean |
Low level zooms are defined as zooms 0-5 (incl).
Layer | Data sources |
---|---|
waterline | 1:250K Generalized Estonian Topographic data (EE), OpenStreetMap (LV) |
water | 1:250K Generalized Estonian Topographic data (EE), OpenStreetMap (LV), NaturalEarth oceans |
railways | NaturalEarth railroads |
roads | 1:250K Generalized Estonian Topographic data (EE), OpenStreetMap (LV) |
builtup | NaturalEarth urban areas |
boundaries | NaturalEarth admin0 boundary lines |
labels | 1:250K Generalized Estonian Topographic data, OpenStreetMap, NaturalEarth |
Medium level zooms are defined as zooms 6-10 (incl).
Layer | Data sources |
---|---|
waterline | 1:250K Generalized Estonian Topographic data (EE), OpenStreetMap (LV) |
water | 1:250K Generalized Estonian Topographic data (EE), OpenStreetMap (LV), NaturalEarth oceans |
railways | 1:250K Generalized Estonian Topographic data (EE), NaturalEarth railroads (LV) |
roads | 1:250K Generalized Estonian Topographic data (EE), OpenStreetMap (LV) |
builtup | 1:250K Generalized Estonian Topographic data (EE), OpenStreetMap (LV) |
boundaries | 1:250K Generalized Estonian Topographic data, Estonian administrative division, 1:1.2M generalized Latvian administrative division |
natural | 1:250K Generalized Estonian Topographic data (EE), OpenStreetMap (LV) |
labels | 1:250K Generalized Estonian Topographic data (EE), Estonian address data (EE), OpenStreetMap (LV), 1:1.2M generalized Latvian administrative division (LV) |
High level zooms are defined as zooms 11+. The following table lists available layers and their respective source data for these zooms
Layer | Data sources |
---|---|
waterline | 1:10K Estonian Topographic Database |
water | 1:10K Estonian Topographic Database, NaturalEarth oceans |
railways | 1:10K Estonian Topographic Database |
roads | 1:10K Estonian Topographic Database |
builtup | 1:10K Estonian Topographic Database |
boundaries | Estonian administrative division, 1:1.2M generalized Latvian administrative division |
infrastructure | 1:10K Estonian Topographic Database |
natural | 1:10K Estonian Topographic Database |
agricultural | 1:10K Estonian Topographic Database |
labels | 1:10K Estonian Topographic Database, Estonian address data (from zooms 14+), Unofficial urban districts for city of Tartu, Unofficial urban districts for city of Tallinn |
This database schema is released under CC BY-SA 4.0