Skip to content

Instantly share code, notes, and snippets.

@nyampire
Created May 22, 2014 12:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nyampire/08797f0d8c9dc83ccc38 to your computer and use it in GitHub Desktop.
Save nyampire/08797f0d8c9dc83ccc38 to your computer and use it in GitHub Desktop.
# This is the default osm2pgsql .style file that comes with osm2pgsql.
#
# A .style file has 4 columns that define how OSM objects end up in tables in
# the database and what columns are created. It interacts with the command-line
# hstore options.
#
# Columns
# =======
#
# OsmType: This is either "node", "way" or "node,way" and indicates if this tag
# applies to nodes, ways, or both.
#
# Tag: The tag
#
# DataType: The type of the column to be created. Normally "text"
#
# Flags: Flags that indicate what table the OSM object is moved into.
#
# There are 5 possible flags. These flags are used both to indicate if a column
# should be created, and if ways with the tag are assumed to be areas. The area
# assumptions can be overridden with an area=yes/no tag
#
# polygon - Create a column for this tag, and objects the tag with are areas
#
# linear - Create a column for this tag
#
# phstore - Don't create a column for this tag, but objects with the tag are areas
#
# delete - Drop this tag completely and don't create a column for it. This also
# prevents the tag from being added to hstore columns
#
# nocache - Deprecated and does nothing
#
# If an object has a tag that indicates it is an area or has area=yes/1,
# osm2pgsql will try to turn it into an area. If it succeeds, it places it in
# the polygon table. If it fails (e.g. not a closed way) it places it in the
# line table.
#
# Nodes are never placed into the polygon or line table and are always placed in
# the point table.
#
# Hstore
# ======
#
# The options --hstore, --hstore-match-only, and --hstore-all interact with
# the .style file.
#
# With --hstore any tags without a column will be added to the hstore column.
# This will also cause all objects to be kept.
#
# With --hstore-match-only the behavior for tags is the same, but objects are
# only kept if they have a non-NULL value in one of the columns.
#
# With --hstore-all all tags are added to the hstore column unless they appear
# in the style file with a delete flag, causing duplication between the normal
# columns and the hstore column.
#
# Special database columns
# ========================
#
# There are some special database columns that if present in the .style file
# will be populated by osm2pgsql.
#
# These are
#
# z_order - datatype int4
#
# way_area - datatype real. The area of the way, in the units of the projection
# (e.g. square mercator meters). Only applies to areas
#
# osm_user, osm_uid, osm_version, osm_timestamp - datatype text. Used with the
# --extra-attributes option to include metadata in the database. If importing
# with both --hstore and --extra-attributes the meta-data will end up in the
# tags hstore column regardless of the style file.
# OsmType Tag DataType Flags
node,way access text linear
node,way addr:housename text linear
node,way addr:housenumber text linear
node,way addr:interpolation text linear
node,way admin_level text linear
node,way aerialway text linear
node,way aeroway text polygon
node,way amenity text polygon
node,way area text # hard coded support for area=1/yes => polygon is in osm2pgsql
node,way barrier text linear
node,way bicycle text
node,way brand text linear
node,way bridge text linear
node,way boundary text linear
node,way building text polygon
node capital text linear
node,way construction text linear
node,way culvert text linear
node,way cutting text linear
node,way denomination text linear
node,way disused text linear
node ele text linear
node,way embankment text linear
node,way foot text linear
node,way generator:source text linear
node,way harbour text polygon
node,way highway text linear
node,way historic text polygon
node,way horse text linear
node,way intermittent text linear
node,way junction text linear
node,way landuse text polygon
node,way layer text linear
node,way leisure text polygon
node,way lock text linear
node,way man_made text polygon
node,way military text polygon
node,way motorcar text linear
node,way name text linear
node,way natural text polygon # natural=coastline tags are discarded by a hard coded rule in osm2pgsql
node,way office text polygon
node,way oneway text linear
node,way operator text linear
node,way place text polygon
node poi text
node,way population text linear
node,way power text polygon
node,way power_source text linear
node,way public_transport text polygon
node,way railway text linear
node,way ref text linear
node,way religion text nocache
node,way route text linear
node,way service text linear
node,way shop text polygon
node,way sport text polygon
node,way surface text linear
node,way toll text linear
node,way tourism text polygon
node,way tower:type text linear
way tracktype text linear
node,way tunnel text linear
node,way water text polygon
node,way waterway text polygon
node,way wetland text polygon
node,way width text linear
node,way wheelchair text linear
node,way wood text linear
node,way z_order int4 linear # This is calculated during import
way way_area real # This is calculated during import
# Area tags
# We don't make columns for these tags, but objects with them are areas.
# Mainly for use with hstore
way abandoned:aeroway text phstore
way abandoned:amenity text phstore
way abandoned:building text phstore
way abandoned:landuse text phstore
way abandoned:power text phstore
way area:highway text phstore
# added by nyampire
node,way branch text polygon
node,way bridge:name text linear
node,way bridge_name text linear
node,way building:levels text polygon
node,way building:material text polygon
node,way covered text polygon
node,way colour text linear
node,way craft text polygon
node,way cuisine text polygon
node,way cuisine:ja text polygon
node,way emergency text polygon
node,way geological text polygon
node,way hazard_prone text polygon
node,way hazard_type text polygon
node,way height text polygon
node,way int_name text polygon
node,way name:en text polygon
node,way name:ja text polygon
node,way name:zh text polygon
node,way name:ko text polygon
node,way smoking:outside text polygon
node,way genus text polygon
node,way genus:ja text polygon
node,way species text polygon
node,way species:ja text polygon
node,way vending text polygon
node,way sideway text polygon
node,way footway text polygon
node,way noname text polygon
node,way crossing text polygon
node,way medical text polygon
# Deleted tags
# These are tags that are generally regarded as useless for most rendering.
# Most of them are from imports or intended as internal information for mappers
# Some of them are automatically deleted by editors.
# If you want some of them, perhaps for a debugging layer, just delete the lines.
# These tags are used by mappers to keep track of data.
# They aren't very useful for rendering.
node,way note text delete
node,way note:* text delete
node,way source text delete
node,way source_ref text delete
node,way source:* text delete
node,way attribution text delete
node,way comment text delete
node,way fixme text delete
# Tags generally dropped by editors, not otherwise covered
node,way created_by text delete
node,way odbl text delete
node,way odbl:note text delete
node,way SK53_bulk:load text delete
# Lots of import tags
# TIGER (US)
node,way tiger:* text delete
# NHD (US)
# NHD has been converted every way imaginable
node,way NHD:* text delete
node,way nhd:* text delete
# GNIS (US)
node,way gnis:* text delete
# Geobase (CA)
node,way geobase:* text delete
# NHN (CA)
node,way accuracy:meters text delete
node,way sub_sea:type text delete
node,way waterway:type text delete
# KSJ2 (JA)
# See also note:ja and source_ref above
node,way KSJ2:* text delete
# Yahoo/ALPS (JA)
node,way yh:* text delete
# osak (DK)
node,way osak:* text delete
# kms (DK)
node,way kms:* text delete
# ngbe (ES)
# See also note:es and source:file above
node,way ngbe:* text delete
# naptan (UK)
node,way naptan:* text delete
# Corine (CLC) (Europe)
node,way CLC:* text delete
# misc
node,way 3dshapes:ggmodelk text delete
node,way AND_nosr_r text delete
node,way import text delete
node,way it:fvg:* text delete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment