Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,9 @@ else()
target_link_libraries(osm2pgsql-gen osm2pgsql_lib ${LIBS} ${POTRACE_LIBRARY} ${OpenCV_LIBS})
endif()

add_executable(osm2pgsql-expire src/osm2pgsql-expire.cpp)
target_link_libraries(osm2pgsql-expire osm2pgsql_lib ${LIBS})

#############################################################
# Optional "clang-tidy" target
#############################################################
Expand Down
8 changes: 8 additions & 0 deletions man/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,14 @@ if(PANDOC)

list(APPEND MANPAGE_TARGETS osm2pgsql.1)

add_custom_command(OUTPUT osm2pgsql-expire.1
COMMAND ${PANDOC} ${PANDOC_MAN_OPTIONS} -o osm2pgsql-expire.1
${CMAKE_CURRENT_SOURCE_DIR}/osm2pgsql-expire.md
DEPENDS osm2pgsql-expire.md manpage.template
COMMENT "Building manpage osm2pgsql-expire.1"
VERBATIM)
list(APPEND MANPAGE_TARGETS osm2pgsql-expire.1)

if(BUILD_GEN)
add_custom_command(OUTPUT osm2pgsql-gen.1
COMMAND ${PANDOC} ${PANDOC_MAN_OPTIONS} -o osm2pgsql-gen.1
Expand Down
111 changes: 111 additions & 0 deletions man/osm2pgsql-expire.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# NAME

osm2pgsql-expire - Visualize expire output

# SYNOPSIS

**osm2pgsql-expire** \[*OPTIONS*\] *OSM-FILE* (1)
**osm2pgsql-expire** \[*OPTIONS*\] *OSM-FILE* (1)
**osm2pgsql-expire** *TILES-FILE* (2)

# DESCRIPTION

The expire command can be used for two things:

1. **To check what tiles some OSM data is in.** If an *OSM-FILE* is specified
that file is read and the tiles calculated in which the objects in that file
are. Note that the file must not be a change file but a regular OSM data
file!
2. **Visualize tile list.** If a *TILE-FILE* (presumably generated by osm2pgsql)
is specified, a GeoJSON file is generated showing all mentioned tiles. In
this mode all command line options are ignored.

Read the *Expire* chapter of the osm2pgsql manual
(https://osm2pgsql.org/doc/manual.html#expire) for details on how to
interpret the `-m, \--mode` and `\--full-area-limit` options.

# OPTIONS

This program follows the usual GNU command line syntax, with long options
starting with two dashes (`--`). Mandatory arguments to long options are
mandatory for short options too.

# MAIN OPTIONS

-b, \--buffer=VALUE
: Set buffer size around geometry relative to tile size.

-f, \--format=FORMAT
: Output format. Options are 'tiles' (default) or 'geojson'. The GeoJSON output
uses the Web Mercator projection (EPSG:3857) which is supported by many
programs although, strictly speaking, it is not allowed by the GeoJSON spec.

\--full-area-limit=VALUE
: Set full area limit.

-m, \--mode=MODE
: Set expire mode. One of `boundary_only`, `full_area` (default), and `hybrid`.

-z, \--zoom=ZOOM
: Zoom level on which to calculate tiles.

# HELP/VERSION OPTIONS

-h, \--help
: Print help.

-V, \--version
: Print osm2pgsql version.

# LOGGING OPTIONS

\--log-level=LEVEL
: Set log level ('debug', 'info' (default), 'warn', or 'error').

\--log-progress=VALUE
: Enable (`true`) or disable (`false`) progress logging. Setting this to
`auto` will enable progress logging on the console and disable it
if the output is redirected to a file. Default: true.

\--log-sql
: Enable logging of SQL commands for debugging.

\--log-sql-data
: Enable logging of all data added to the database. This will write out
a huge amount of data! For debugging.

-v, \--verbose
: Same as `--log-level=debug`.

# DATABASE OPTIONS

-d, \--database=NAME
: The name of the PostgreSQL database to connect to. If this parameter
contains an `=` sign or starts with a valid URI prefix (`postgresql://` or
`postgres://`), it is treated as a conninfo string. See the PostgreSQL
manual for details.

-U, \--username=NAME, \--user=NAME
: Postgresql user name.

-W, \--password
: Force password prompt.

-H, \--host=HOSTNAME
: Database server hostname or unix domain socket location.

-P, \--port=PORT
: Database server port.

\--schema=SCHEMA
: Default for various schema settings throughout osm2pgsql (default: `public`).
The schema must exist in the database and be writable by the database user.

# SEE ALSO

* [osm2pgsql website](https://osm2pgsql.org)
* [osm2pgsql manual](https://osm2pgsql.org/doc/manual.html)
* **osm2pgsql**(1)
* **postgres**(1)
* **osmcoastline**(1)

2 changes: 1 addition & 1 deletion src/expire-output.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ std::size_t expire_output_t::output_tiles_to_file(

auto const count = for_each_tile(
tiles_at_maxzoom, m_minzoom, m_maxzoom, [&](tile_t const &tile) {
fmt::print(outfile, "{}/{}/{}\n", tile.zoom(), tile.x(), tile.y());
fmt::print(outfile, "{}\n", tile.to_zxy());
});

(void)std::fclose(outfile);
Expand Down
Loading
Loading