-
-
Notifications
You must be signed in to change notification settings - Fork 475
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This large commit adds a framework to generalize OSM data using different strategies and implements several strategies. The source is all in the new `src/gen` directory. It includes a new command `osm2pgsql-gen` to access this functionality. Future versions might integrate it with the `osm2pgsql` command, but because this is all experimental it is kept separate for now. Call `osm2pgsql-gen` with `-h` to get usage help. See also https://osm2pgsql.org/generalization/ and the chapter on Generalization in the manual: https://osm2pgsql.org/doc/manual.html#generalization For the raster support this adds two new library dependency: CImg and potrace. Both have been around for a long time and are readily available on all systems. The following strategies work on a tile-by-tile basis and operate on polygons: The "vector-union" strategy buffers and unionizes polygons using vector operations. The "raster-union" strategy does a similar thing but does it in raster space which is much faster. First the polygons are rendered into a raster, an open/close operation is called (which basically does the same thing as the buffering in vector space) and finally the resulting raster is vectorized again. The "builtup" strategy is intended to derive a layer of builtup areas from landuse=residential/industrial etc. as well as building cover and dense road networks. The following strategies always work on all data (not tile-based): The "discrete-isolation" strategy rates places based on some importance metric to get a more even distribution of places on the map. The new "rivers" strategy finds important rivers, this is still very much work in progress.
- Loading branch information
Showing
34 changed files
with
3,361 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
.TH "OSM2PGSQL" "1" "1.8.1" "" "" | ||
.SH NAME | ||
.PP | ||
osm2pgsql-gen - Generalize OpenStreetMap data - EXPERIMENTAL! | ||
.SH SYNOPSIS | ||
.PP | ||
\f[B]osm2pgsql-gen\f[R] [\f[I]OPTIONS\f[R]]\&... | ||
.SH DESCRIPTION | ||
.PP | ||
THIS PROGRAM IS EXPERIMENTAL AND MIGHT CHANGE WITHOUT NOTICE! | ||
.PP | ||
\f[B]osm2pgsql-gen\f[R] reads data imported by \f[B]osm2pgsql\f[R] from | ||
the database, performs various generalization steps specified by a Lua | ||
config file and writes the data back to the database. | ||
It is used in conjunction with and after \f[B]osm2pgsql\f[R] and reads | ||
the same config file. | ||
.PP | ||
This man page can only cover some of the basics and describe the command | ||
line options. | ||
See the Generalization chapter in the osm2pgsql | ||
Manual (https://osm2pgsql.org/doc/manual.html#generalization) for more | ||
information. | ||
.SH OPTIONS | ||
.PP | ||
This program follows the usual GNU command line syntax, with long | ||
options starting with two dashes (\f[C]--\f[R]). | ||
Mandatory arguments to long options are mandatory for short options too. | ||
.SH MAIN OPTIONS | ||
.TP | ||
-a, --append | ||
Run in append mode. | ||
.TP | ||
-c, --create | ||
Run in create mode. | ||
This is the default if \f[B]-a, --append\f[R] is not specified. | ||
.TP | ||
-S, --style=FILE | ||
The Lua config file. | ||
Same as for \f[B]osm2pgsql\f[R]. | ||
.TP | ||
-j, -jobs=NUM | ||
Specifies the number of parallel threads used for certain operations. | ||
Setting this to the number of available CPU cores is a reasonable | ||
starting point. | ||
.SH HELP/VERSION OPTIONS | ||
.TP | ||
-h, --help | ||
Print help. | ||
.TP | ||
-V, --version | ||
Print osm2pgsql version. | ||
.SH LOGGING OPTIONS | ||
.TP | ||
--log-level=LEVEL | ||
Set log level (`debug', `info' (default), `warn', or `error'). | ||
.TP | ||
--log-sql | ||
Enable logging of SQL commands for debugging. | ||
.SH DATABASE OPTIONS | ||
.TP | ||
-d, --database=NAME | ||
The name of the PostgreSQL database to connect to. | ||
If this parameter contains an \f[C]=\f[R] sign or starts with a valid | ||
URI prefix (\f[C]postgresql://\f[R] or \f[C]postgres://\f[R]), it is | ||
treated as a conninfo string. | ||
See the PostgreSQL manual for details. | ||
.TP | ||
-U, --username=NAME | ||
Postgresql user name. | ||
.TP | ||
-W, --password | ||
Force password prompt. | ||
.TP | ||
-H, --host=HOSTNAME | ||
Database server hostname or unix domain socket location. | ||
.TP | ||
-P, --port=PORT | ||
Database server port. | ||
.SH SEE ALSO | ||
.IP \[bu] 2 | ||
osm2pgsql website (https://osm2pgsql.org) | ||
.IP \[bu] 2 | ||
osm2pgsql manual (https://osm2pgsql.org/doc/manual.html) | ||
.IP \[bu] 2 | ||
\f[B]postgres\f[R](1) | ||
.IP \[bu] 2 | ||
\f[B]osm2pgsql\f[R](1) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# NAME | ||
|
||
osm2pgsql-gen - Generalize OpenStreetMap data - EXPERIMENTAL! | ||
|
||
# SYNOPSIS | ||
|
||
**osm2pgsql-gen** \[*OPTIONS*\]... | ||
|
||
# DESCRIPTION | ||
|
||
THIS PROGRAM IS EXPERIMENTAL AND MIGHT CHANGE WITHOUT NOTICE! | ||
|
||
**osm2pgsql-gen** reads data imported by **osm2pgsql** from the database, | ||
performs various generalization steps specified by a Lua config file and | ||
writes the data back to the database. It is used in conjunction with and | ||
after **osm2pgsql** and reads the same config file. | ||
|
||
This man page can only cover some of the basics and describe the command line | ||
options. See the [Generalization chapter in the osm2pgsql | ||
Manual](https://osm2pgsql.org/doc/manual.html#generalization) for more | ||
information. | ||
|
||
# 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 | ||
|
||
-a, \--append | ||
: Run in append mode. | ||
|
||
-c, \--create | ||
: Run in create mode. This is the default if **-a, \--append** is not | ||
specified. | ||
|
||
-S, \--style=FILE | ||
: The Lua config file. Same as for **osm2pgsql**. | ||
|
||
-j, \-jobs=NUM | ||
: Specifies the number of parallel threads used for certain operations. | ||
Setting this to the number of available CPU cores is a reasonable starting | ||
point. | ||
|
||
# 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-sql | ||
: Enable logging of SQL commands for debugging. | ||
|
||
# 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 | ||
: 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. | ||
|
||
# SEE ALSO | ||
|
||
* [osm2pgsql website](https://osm2pgsql.org) | ||
* [osm2pgsql manual](https://osm2pgsql.org/doc/manual.html) | ||
* **postgres**(1) | ||
* **osm2pgsql**(1) | ||
|
Oops, something went wrong.