.. This is a comment. Note how any initial comments are moved by transforms to after the document title, subtitle, and docinfo. .. demo.rst from: http://docutils.sourceforge.net/docs/user/rst/demo.txt .. |EXAMPLE| image:: static/yi_jing_01_chien.jpg :width: 1em ********************** osm2pgsql ********************** .. contents:: Table of Contents OSM Loader Tool ================= There are two ways to load OSM file into PostGIS. 1. Load using the OSM Loader in Webmin. 2. Load using command line. .. Note:: In our examples, we will be loading the PBF for Andorra available from GeoFabrik (https://download.geofabrik.de/europe/andorra.html). Load via OSM File Loader ========================== Click the osm2pgsql tab as shown below .. image:: _static/osm2pgsql-tab.png The load options are displayed below. .. image:: _static/OSM-default.png For our example, we'll load the smallest PDF availabel from GeoFabrick, Andorra **1. Go to the Europe section of the GeoFabrik Download Server:** https://download.geofabrik.de/europe.html **2. Locate the file for Andorra** .. image:: _static/osm-Andorra.png .. image:: _static/spacer.png **3. On the PBF link, right click and select "Copy Link Location"** .. image:: _static/osm-Andorra-2.png .. image:: _static/spacer.png **4. Paste the copied link into the 'FTP or HTTP URL' field** .. image:: _static/OSM-main.png - For database, select postgisftw. - For user, select pgis - For EPSG Projection, enter 4326 - Select both the Slim and Hstore options **5. Click the Load button** Confirm Data Load ================== If we examine the tables in our postgisftw database, we see that 4 new tables were added: .. image:: _static/OSM-feature-view.png We can also now view our data using pg_featursrv (or pg_tileserv) Go to :9000 and note that 4 items have been added to the available Feature Collections (Line, Point, Polygon, and Roads): .. image:: _static/OSM-feature-1.png .. image:: _static/spacer.png Click the View link for the Polygon: .. image:: _static/OSM-feature-2.png The layer is displayed as below .. image:: _static/OSM-feature-3.png .. image:: _static/spacer.png OSM Tool Options ================== **1. General Options** *Database*: select the database you wish to load the shape file to. *Database Username*: The postgres user who will load the file. *Schema*: Select a schema from the drop-down or create a new schema. *OSM source (.pbf)*: The options are Local file, Uploaded file, or FTP or HTTP URL **2. Load options**: *Store temporary data in the database ( --slim )*: Enable the slim option *Add tags without column to an additional hstore (key/value) column ( --hstore )* *Coordinate format*: Options are Mercator or Lat&Lon *EPSG Projection*: Set ESPG projection (e.g. 4326) *Memory for caching nodes*: Default options are 200 MB, 800 MB, 1000 MB, along with increments depending on available RAM. *Number of parallel processes*: The drop-down will display the number available based on your hardware. Load via Comamnd Line ===================== Usage To load the same PBF we loaded above via osm2pgsql command line, we could use below: .. code-block:: console osm2pgsql --slim --hstore -C 200 --username postgres --database demodb /opt/rhode-island-latest.osm.pbf The full usage commands are show in the help section below. osm2pgsql usage can be found using the 'osm2pgsl --help' command: .. code-block:: console [root@postgis ~]# osm2pgsql --help osm2pgsql: /usr/pgsql-12/lib/libpq.so.5: no version information available (required by osm2pgsql) osm2pgsql version 1.2.0 Usage: osm2pgsql [options] planet.osm osm2pgsql [options] planet.osm.{pbf,gz,bz2} osm2pgsql [options] file1.osm file2.osm file3.osm This will import the data from the OSM file(s) into a PostgreSQL database suitable for use by the Mapnik renderer. Common options: -a|--append Add the OSM file into the database without removing existing data. -c|--create Remove existing data from the database. This is the default if --append is not specified. -l|--latlong Store data in degrees of latitude & longitude. -m|--merc Store data in proper spherical mercator (default). -E|--proj num Use projection EPSG:num. -s|--slim Store temporary data in the database. This greatly reduces the RAM usage but is much slower. This switch is required if you want to update with --append later. -S|--style Location of the style file. Defaults to /usr/share/osm2pgsql/default.style. -C|--cache Use up to this many MB for caching nodes (default: 800) -F|--flat-nodes Specifies the flat file to use to persistently store node information in slim mode instead of in PostgreSQL. This file is a single > 40Gb large file. Only recommended for full planet imports. Default is disabled. Database options: -d|--database The name of the PostgreSQL database to connect to. -U|--username PostgreSQL user name (specify passsword in PGPASSWORD environment variable or use -W). -W|--password Force password prompt. -H|--host Database server host name or socket location. -P|--port Database server port. A typical command to import a full planet is osm2pgsql -c -d gis --slim -C -k \ --flat-nodes planet-latest.osm.pbf where should be equivalent to the size of the pbf file to be imported if there is enough RAM or about 75% of memory in MB on machines with less is a location where a 50+GB file can be saved. A typical command to update a database imported with the above command is osmosis --rri workingDirectory= --simc --wxc - \ | osm2pgsql -a -d gis --slim -k --flat-nodes -r xml - where is the same location as above. is the location osmosis replication was initialized to. Run osm2pgsql --help --verbose (-h -v) for a full list of options. Troubleshooting =============== If the above commands produce 'osm2pgsql command not found', close your existing SSH session and create a new one. Documentation ============= Below are resources to get started with ogr2ogr and gdal_translate: * `OSM OSM2PGSQL Wiki`_ * `Learn OSM Website: OSM2PGSQL`_ .. _`OSM OSM2PGSQL Wiki`: https://wiki.openstreetmap.org/wiki/Osm2pgsql .. _`Learn OSM Website: OSM2PGSQL`: https://learnosm.org/en/osm-data/osm2pgsql/