|
| 1 | + |
| 2 | +# Osm2pgsql Themepark |
| 3 | + |
| 4 | +https://osm2pgsql.org/themepark/ |
| 5 | + |
| 6 | +THIS IS BETA SOFTWARE. EVERYTHING IN HERE IS SUBJECT TO CHANGE. |
| 7 | + |
| 8 | +This is a framework for creating [osm2pgsql](https://osm2pgsql.org/) |
| 9 | +configurations assembled from many building blocks. Some of those blocks are |
| 10 | +provided in this repository, others you can add yourself. This way you don't |
| 11 | +have to start with a new configuration from scratch every time you build and |
| 12 | +style a new map. Instead you take those existing blocks that suit your needs |
| 13 | +and add new ones for those things that make your map special. |
| 14 | + |
| 15 | +This framework makes use of the [flex |
| 16 | +output](https://osm2pgsql.org/doc/manual.html#the-flex-output) and it needs at |
| 17 | +least version 1.9.2 of osm2pgsql. See [the osm2pgsql installation |
| 18 | +documentation](https://osm2pgsql.org/doc/install.html) for how to install |
| 19 | +osm2pgsql. |
| 20 | + |
| 21 | +When running osm2pgsql you'll always need the command line parameters `-O flex |
| 22 | +-S CONFIG.lua`. `CONFIG.lua` is the configuration file you are writing that |
| 23 | +makes use of this framework. Some example config files are provided in the |
| 24 | +`config` directory. Read the [User |
| 25 | +Manual](https://osm2pgsql.org/themepark/users-manual.html) for instructions on |
| 26 | +how to create one yourself. |
| 27 | + |
| 28 | +## Plugins |
| 29 | + |
| 30 | +The framework has support for plugins adding some functionality. They are in |
| 31 | +the `lua/themepark/plugins` directory. |
| 32 | + |
| 33 | +Available plugins are: |
| 34 | +* `taginfo`: For creating [Taginfo project files](). |
| 35 | +* `tilekiln`: For creating a config file for the |
| 36 | + [Tilekiln](https://github.com/pnorman/tilekiln) tile server. |
| 37 | +* `t-rex`: For creating a config file for the |
| 38 | + [T-Rex](https://t-rex.tileserver.ch/) tile server. |
| 39 | + |
| 40 | +## Themes |
| 41 | + |
| 42 | +Themes provide building blocks for map data transformations. They usually |
| 43 | +contain some common code plus several *topics*; each topic usually provides the |
| 44 | +code to create one or more database tables which can then be used as a basis |
| 45 | +for a map layer. |
| 46 | + |
| 47 | +You can write your own themes and topics, read the [Authors |
| 48 | +Manual](https://osm2pgsql.org/themepark/authors-manual.html) for details. |
| 49 | + |
| 50 | +Several themes are available in this repository to get you going and support |
| 51 | +some common use cases. |
| 52 | + |
| 53 | +### Theme `basic` |
| 54 | + |
| 55 | +This theme contains some basic layers for testing and debugging. It can |
| 56 | +also be used as a jumping-off point for your own theme creation. |
| 57 | + |
| 58 | +[More...](themes/basic/README.md) |
| 59 | + |
| 60 | +### Theme `core` |
| 61 | + |
| 62 | +The topics in this theme are not meant to be used on their own, but they |
| 63 | +provide common transformations which can be used with other themes and |
| 64 | +topics. This includes functionality for handling *names*. |
| 65 | + |
| 66 | +[More...](themes/core/README.md) |
| 67 | + |
| 68 | +### Theme `experimental` |
| 69 | + |
| 70 | +These are some experimental layers. Use at your own risk. |
| 71 | + |
| 72 | +[More...](themes/experimental/README.md) |
| 73 | + |
| 74 | +### Theme `external` |
| 75 | + |
| 76 | +This theme contains some layers not generated directly from OSM data but |
| 77 | +created from external sources, specifically data that can be downloaded from |
| 78 | +https://osmdata.openstreetmap.de/ . |
| 79 | + |
| 80 | +[More...](themes/external/README.md) |
| 81 | + |
| 82 | +### Theme `shortbread_v1` |
| 83 | + |
| 84 | +Implements the [Shortbread (v1.0) |
| 85 | +schema](https://shortbread-tiles.org/schema/1.0). Data for low zoom levels |
| 86 | +are not generated. |
| 87 | + |
| 88 | +[More...](themes/shortbread_v1/README.md) |
| 89 | + |
| 90 | +### Theme `shortbread_v1_gen` |
| 91 | + |
| 92 | +Implements the [Shortbread (v1.0) |
| 93 | +schema](https://shortbread-tiles.org/schema/1.0) with automated |
| 94 | +generalization for low zoom levels. This needs the experimental `osm2pgsql-gen` |
| 95 | +command provided with newer osm2pgsql versions. |
| 96 | + |
| 97 | +[More...](themes/shortbread_v1_gen/README.md) |
| 98 | + |
| 99 | +## License |
| 100 | + |
| 101 | +Copyright 2023 Jochen Topf <[email protected]> |
| 102 | + |
| 103 | +Licensed under the Apache License, Version 2.0 (the "License"); |
| 104 | +you may not use this file except in compliance with the License. |
| 105 | +You may obtain a copy of the License at |
| 106 | + |
| 107 | + https://www.apache.org/licenses/LICENSE-2.0 |
| 108 | + |
| 109 | +Unless required by applicable law or agreed to in writing, software |
| 110 | +distributed under the License is distributed on an "AS IS" BASIS, |
| 111 | +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 112 | +See the License for the specific language governing permissions and |
| 113 | +limitations under the License. |
| 114 | + |
| 115 | +## Author |
| 116 | + |
| 117 | +This framework is written and maintained by Jochen Topf ( [email protected]). |
| 118 | + |
0 commit comments