xenial (1) osm2pgsql.1.gz

Provided by: osm2pgsql_0.88.1-1_amd64 bug

NAME

       osm2pgsql - Openstreetmap data to PostgreSQL converter.

SYNOPSIS

       osm2pgsql [options] planet.osm
       osm2pgsql [options] planet.osm.{gz,bz2,pbf}
       osm2pgsql [options] file1.osm file2.osm file3.osm

DESCRIPTION

       This manual page documents briefly the osm2pgsql command.

       osm2pgsql  imports  data  from  OSM  file(s)  into  a  PostgreSQL database suitable for use by the Mapnik
       renderer or the Nominatim geocoder.
       OSM planet snapshots can  be  downloaded  from  http://planet.openstreetmap.org/.  Partial  planet  files
       ("extracts") for various countries are available, see http://wiki.openstreetmap.org/wiki/Planet.osm.

       Extracts in PBF (ProtoBufBinary) format are also available from http://download.geofabrik.de/osm/.

       When operating in "slim" mode (and on a database created in "slim" mode!), osm2pgsql can also process OSM
       change files (osc files), thereby bringing an existing database up to date.

OPTIONS

       These programs follow the usual GNU command line syntax, with  long  options  starting  with  two  dashes
       (`-').  A summary of options is included below.

       -a|--append
              Add the OSM file into the database without removing existing data.

       -b|--bbox
              Apply    a    bounding   box   filter   on   the   imported   data.    Must   be   specified   as:
              minlon,minlat,maxlon,maxlat e.g. --bbox -0.5,51.25,0.5,51.75

       -c|--create
              Remove existing data from the database. This is the default if --append is not specified.

       -d|--database name
              The name of the PostgreSQL database to connect to (default: gis).

       -i|--tablespace-index tablespacename
              Store all indices in a separate PostgreSQL tablespace named by this parameter.  This allows one to
              e.g. store the indices on faster storage like SSDs.

        --tablespace-main-data tablespacename
              Store the data tables (non slim) in the given tablespace.

        --tablespace-main-index tablespacename
              Store the indices of the main tables (non slim) in the given tablespace.

        --tablespace-slim-data tablespacename
              Store the slim mode tables in the given tablespace.

        --tablespace-slim-index tablespacename
              Store the indices of the slim mode tables in the given tablespace.

       -l|--latlong
              Store data in degrees of latitude & longitude.

       -m|--merc
              Store data in proper spherical Mercator (the default).

       -E|--proj num
              Use projection EPSG:num

       -u|--utf8-sanitize
              Repair  bad  UTF-8  input  data  (present  in  planet  dumps prior to August 2007). Adds about 10%
              overhead.

       -p|--prefix prefix_string
              Prefix for table names (default: planet_osm).

       -r|--input-reader format
              Select input format reader. Available choices are libxml2 (default) for OSM XML format files,  o5m
              for o5m formatted file and pbf for OSM PBF binary format (may not be available on all platforms).

       -s|--slim
              Store  temporary  data in the database. Without this mode, all temporary data is stored in RAM and
              if you do not have enough the import will not work successfully. With slim  mode,  you  should  be
              able  to import the data even on a system with limited RAM, although if you do not have enough RAM
              to cache at least all of the nodes, the time to import the data will likely be greatly increased.

         --drop
              Drop the slim mode tables from the database once the import is complete. This can  greatly  reduce
              the  size  of  the  database, as the slim mode tables typically are the same size, if not slightly
              bigger than the main tables. It does not, however, reduce the maximum spike of disk  usage  during
              import.  It  can  furthermore  increase the import speed, as no indices need to be created for the
              slim mode tables, which (depending on hardware) can nearly halve import  time.  Slim  mode  tables
              however  have to be persistent if you want to be able to update your database, as these tables are
              needed for diff processing.

       -S|--style /path/to/style
              Location of the osm2pgsql style file. This specifies which tags from the data  get  imported  into
              database columns and which tags get dropped. Defaults to /usr/share/osm2pgsql/default.style.

       -C|--cache num
              Only  for  slim  mode: Use up to num many MB of RAM for caching nodes. Giving osm2pgsql sufficient
              cache to store all imported nodes typically greatly increases the speed of the import. Each cached
              node  requires  8  bytes  of  cache,  plus about 10% - 30% overhead. For a current OSM full planet
              import with its ~ 3 billion nodes, a good value would be 27000 if you  have  enough  RAM.  If  you
              don't  have  enough  RAM,  it  is  likely beneficial to give osm2pgsql close to the full available
              amount of RAM. Defaults to 800.

         --cache-strategy strategy
              There are a number of different modes in which osm2pgsql can organize its node cache in RAM. These
              are  optimized  for  different  assumptions  of  the  data  and  the hardware resources available.
              Currently available strategies are dense, chunked, sparse and optimized. dense  assumes  that  the
              node  id  numbers  are densely packed, i.e. only a few IDs in the range are missing / deleted. For
              planet extracts this is usually not the case, making the cache very inefficient  and  wasteful  of
              RAM.  sparse  assumes  node  IDs  in  the  data are not densely packed, greatly increasing caching
              efficiency in these cases.  If node IDs are densely packed, like in the full planet, this strategy
              has  a higher overhead for indexing the cache. optimized uses both dense and sparse strategies for
              different ranges of the ID space. On a block by block basis it tries to determine if  it  is  more
              effective  to  store  the  block of IDs in sparse or dense mode. This is the default and should be
              typically used.

       -U|--username name
              Postgresql user name.

       -W|--password
              Force password prompt.

       -H|--host hostname
              Database server hostname or socket location.

       -P|--port num
              Database server port.

       -e|--expire-tiles [min_zoom-]max-zoom
              Create a tile expiry list.

       -o|--expire-output /path/to/expire.list
              Output file name for expired tiles list.

       -o|--output
              Specifies the output back-end or database schema  to  use.  Currently  osm2pgsql  supports  pgsql,
              gazetteer  and  null. pgsql is the default output back-end / schema and is optimized for rendering
              with Mapnik.  gazetteer is a db schema optimized for geocoding and is  used  by  Nominatim.   null
              does not write any output and is only useful for testing.

       -x|--extra-attributes
              Include attributes for each object in the database.  This includes the username, userid, timestamp
              and version.  Note: this option also requires additional entries in your style file.

       -k|--hstore
              Add tags without column to an additional hstore (key/value) column to PostgreSQL tables.

       -j|--hstore-all
              Add all tags to an additional hstore (key/value) column in PostgreSQL tables.

       -z|--hstore-column key_name
              Add an additional hstore (key/value) column containing all tags  that  start  with  the  specified
              string,  eg  --hstore-column "name:" will produce an extra hstore column that contains all name:xx
              tags

         --hstore-match-only
              Only keep objects that have a value in one of the columns (normal action with --hstore is to  keep
              all objects).

         --hstore-add-index
              Create indices for the hstore columns during import.

       -G|--melts-geometry
              Normally  osm2pgsql  splits  multi-part geometries into separate database rows per part.  A single
              OSM  id  can  therefore  have  several  rows.  With  this  option,  PostgreSQL  instead  generates
              multi-geometry features in the PostgreSQL tables.

       -K|--keep-coastlines
              Keep  coastline  data rather than filtering it out.  By default natural=coastline tagged data will
              be discarded based on the assumption that post-processed Coastline Checker  shape  files  will  be
              used.

         --exclude-invalid-polygon
              OpenStreetMap  data  is  defined  in terms of nodes, ways and relations and not in terms of actual
              geometric features. Osm2pgsql therefore tries  to  build  postgis  geometries  out  of  this  data
              representation.  However  not  all ways and relations correspond to valid postgis geometries (e.g.
              self intersecting polygons). By default osm2pgsql tries  to  automatically  fix  these  geometries
              using  ST_Buffer(0)  around  the  invalid polygons. With this option, invalid polygons are instead
              simply dropped from the database.

         --unlogged
              Use postgresql's unlogged tables for storing data. This requires PostgreSQL  9.1  or  above.  Data
              written  to  unlogged  tables  is  not  written  to PostgreSQL's write-ahead log, which makes them
              considerably faster than ordinary tables. However, they are not crash-safe: an unlogged  table  is
              automatically truncated after a crash or unclean shutdown.

         --number-processes num
              Specifies  the  number of parallel processes used for certain operations. If disks are fast enough
              e.g. if you have an SSD, then this can greatly increase speed of the "going over pending ways" and
              "going over pending relations" stages on a multi-core server.

       -I|--disable-parallel-indexing
              By  default  osm2pgsql  initiates  the  index  building  on  all  tables  in  parallel to increase
              performance. This can be disadvantages on slow  disks,  or  if  you  don't  have  enough  RAM  for
              PostgreSQL to perform up to 7 parallel index building processes (e.g. because maintenance_work_mem
              is set high).

         --flat-nodes /path/to/nodes.cache
              The flat-nodes mode is a separate method to store slim mode node information on disk.  Instead  of
              storing  this  information  in  the  main  PostgreSQL database, this mode creates its own separate
              custom database to store the information. As this custom database has application level  knowledge
              about  the  data to store and is not general purpose, it can store the data much more efficiently.
              Storing the node information for the full planet requires about 100GB in PostgreSQL, the same data
              is  stored  in  only ~16GB using the flat-nodes mode. This can also increase the speed of applying
              diff files. This option activates the flat-nodes mode and specifies the location of  the  database
              file.  It  is a single large > 16GB file. This mode is only recommended for full planet imports as
              it doesn't work well with small extracts. The default is disabled.

       -h|--help
              Help information.
              Add -v to display supported projections.

       -v|--verbose
              Verbose output.

SUPPORTED PROJECTIONS

       Latlong             (-l) SRS:  4326 (none)
       Spherical Mercator  (-m) SRS:900913 +proj=merc  +a=6378137  +b=6378137  +lat_ts=0.0  +lon_0=0.0  +x_0=0.0
       +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over
       EPSG-defined        (-E) SRS: +init=epsg:(as given in parameter)

SEE ALSO

       proj(1), postgres(1).

AUTHOR

       osm2pgsql was written by Jon Burgess, Artem Pavlenko, and other OpenStreetMap project members.

       This  manual page was written by Andreas Putzo <andreas@putzo.net> for the Debian project, and amended by
       OpenStreetMap authors.

                                                 April 06, 2013                                     OSM2PGSQL(1)