{"id":26042098,"url":"https://github.com/osm2pgsql-dev/osm2pgsql-themepark","last_synced_at":"2026-02-25T12:03:10.795Z","repository":{"id":193690526,"uuid":"689057828","full_name":"osm2pgsql-dev/osm2pgsql-themepark","owner":"osm2pgsql-dev","description":"A framework for creating osm2pgsql flex configurations","archived":false,"fork":false,"pushed_at":"2025-03-02T16:11:00.000Z","size":349,"stargazers_count":17,"open_issues_count":5,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-24T06:01:54.983Z","etag":null,"topics":["openstreetmap","postgis","postgresql","vector-tiles"],"latest_commit_sha":null,"homepage":"https://osm2pgsql.org/themepark","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osm2pgsql-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-08T17:38:52.000Z","updated_at":"2025-03-02T16:11:03.000Z","dependencies_parsed_at":"2023-10-12T23:39:56.893Z","dependency_job_id":"9f57f81e-4b06-4c43-b40c-c6d97319b766","html_url":"https://github.com/osm2pgsql-dev/osm2pgsql-themepark","commit_stats":null,"previous_names":["osm2pgsql-dev/osm2pgsql-themepark"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osm2pgsql-dev%2Fosm2pgsql-themepark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osm2pgsql-dev%2Fosm2pgsql-themepark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osm2pgsql-dev%2Fosm2pgsql-themepark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osm2pgsql-dev%2Fosm2pgsql-themepark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osm2pgsql-dev","download_url":"https://codeload.github.com/osm2pgsql-dev/osm2pgsql-themepark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161233,"owners_count":21057552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openstreetmap","postgis","postgresql","vector-tiles"],"created_at":"2025-03-07T15:28:10.412Z","updated_at":"2026-02-25T12:03:10.768Z","avatar_url":"https://github.com/osm2pgsql-dev.png","language":"Lua","readme":"\n# Osm2pgsql Themepark\n\nhttps://osm2pgsql.org/themepark/\n\nTHIS IS BETA SOFTWARE. EVERYTHING IN HERE IS SUBJECT TO CHANGE.\n\nThis is a framework for creating [osm2pgsql](https://osm2pgsql.org/)\nconfigurations assembled from many building blocks. Some of those blocks are\nprovided in this repository, others you can add yourself. This way you don't\nhave to start with a new configuration from scratch every time you build and\nstyle a new map. Instead you take those existing blocks that suit your needs\nand add new ones for those things that make your map special.\n\nThis framework makes use of the [flex\noutput](https://osm2pgsql.org/doc/manual.html#the-flex-output) and it needs at\nleast version 1.9.2 of osm2pgsql. See [the osm2pgsql installation\ndocumentation](https://osm2pgsql.org/doc/install.html) for how to install\nosm2pgsql.\n\nWhen running osm2pgsql you'll always need the command line parameters `-O flex\n-S CONFIG.lua`. `CONFIG.lua` is the configuration file you are writing that\nmakes use of this framework. Some example config files are provided in the\n`config` directory. Read the [User\nManual](https://osm2pgsql.org/themepark/users-manual.html) for instructions on\nhow to create one yourself.\n\n## Plugins\n\nThe framework has support for plugins adding some functionality. They are in\nthe `lua/themepark/plugins` directory.\n\nAvailable plugins are `taginfo`, `tilekiln`, `t-rex` and `bbox`.\n\n### Plugin `taginfo`\n\nFor creating [Taginfo project\nfiles](https://wiki.openstreetmap.org/wiki/Taginfo/Projects). The generated\nfiles are incomplete, they are intended as starting point only.\n\n### Plugin `tilekiln`\n\nFor creating a config file for the\n[Tilekiln](https://github.com/pnorman/tilekiln) tile server.\n\nCall like this from your config file to create a config in the `tk` directory\n(the directory must exist):\n\n```\nthemepark:plugin('tilekiln'):write_config('tk')\n```\n\nA second argument on the `write_config()` function can contain a Lua table\nwith options. Available options are:\n\n* `tileset`: Name of the tileset, defaults to `osm`.\n* `attribution`: Set attribution string, defaults to the setting from the\n  themepark config file.\n\n### Plugin `t-rex`\n\nThis plugin can be used to create a config file for the\n[T-Rex](https://t-rex.tileserver.ch/) tile server.\n\nYou need the Lua `toml` module installed for this plugin.\n\nCall like this from your config file to create a file called\n`t-rex-config.toml`:\n\n```\nthemepark:plugin('t-rex'):write_config('t-rex-config.toml')\n```\n\nA second argument on the `write_config()` function can contain a Lua table\nwith options. Available options are:\n\n* `tileset`: Name of the tileset, defaults to `osm`.\n* `attribution`: Set attribution string, defaults to the setting from the\n  themepark config file.\n* `extra_layers`: Extra layers that should be added to the config file. Use\n  the same structure as the T-Rex config file would use.\n\n### Plugin `bbox`\n\nThis plugin can be used to create a config file for the\n[BBOX](https://www.bbox.earth/) tile server.\n\nCall like this from your config file to create a file called\n`bbox-config.toml`:\n\n```\nthemepark:plugin('bbox'):write_config('bbox-config.toml')\n```\n\nA second argument on the `write_config()` function can contain a Lua table\nwith options. Available options are:\n\n* `tileset`: Name of the tileset, defaults to `osm`.\n* `attribution`: Set attribution string, defaults to the setting from the\n  themepark config file.\n* `extra_layers`: Extra layers that should be added to the config file. Use\n  the same structure as the BBOX config file would use.\n\n## Themes\n\nThemes provide building blocks for map data transformations. They usually\ncontain some common code plus several *topics*; each topic usually provides the\ncode to create one or more database tables which can then be used as a basis\nfor a map layer.\n\nYou can write your own themes and topics, read the [Authors\nManual](https://osm2pgsql.org/themepark/authors-manual.html) for details.\n\nSeveral themes are available in this repository to get you going and support\nsome common use cases.\n\n### Theme `basic`\n\nThis theme contains some basic layers for testing and debugging. It can\nalso be used as a jumping-off point for your own theme creation.\n\n[More...](themes/basic/README.md)\n\n### Theme `core`\n\nThe topics in this theme are not meant to be used on their own, but they\nprovide common transformations which can be used with other themes and\ntopics. This includes functionality for handling *names*.\n\n[More...](themes/core/README.md)\n\n### Theme `experimental`\n\nThese are some experimental layers. Use at your own risk.\n\n[More...](themes/experimental/README.md)\n\n### Theme `explore`\n\nOpenStreetMap contains an insane amount of complex data. If you want to use\nsome of that data a first step is often to explore what's there, filter out the\nstuff that looks interesting, create some experimental maps, figure out what's\nuseable and how. The topics in this theme are meant as starting points for such\nan exploration. They are intended to be used with a tool such as QGIS to\nquickly display what's there in different ways. QGIS project files are provided\nas a starting point.\n\n[More...](themes/explore/README.md)\n\n### Theme `external`\n\nThis theme contains some layers not generated directly from OSM data but\ncreated from external sources, specifically data that can be downloaded from\nhttps://osmdata.openstreetmap.de/ .\n\n[More...](themes/external/README.md)\n\n### Theme `shortbread_v1`\n\nImplements the [Shortbread (v1.0)\nschema](https://shortbread-tiles.org/schema/1.0). Data for low zoom levels\nare not generated.\n\n[More...](themes/shortbread_v1/README.md)\n\n### Theme `shortbread_v1_gen`\n\nImplements the [Shortbread (v1.0)\nschema](https://shortbread-tiles.org/schema/1.0) with automated\ngeneralization for low zoom levels. This needs the experimental `osm2pgsql-gen`\ncommand provided with newer osm2pgsql versions.\n\n[More...](themes/shortbread_v1_gen/README.md)\n\n## Testing\n\nSome unit tests are provided in the `tests` directory. You'll nee the [\"busted\"\ntesting framework](https://lunarmodules.github.io/busted/) installed (`luarocks\ninstall busted` or install the `lua-busted` apt package on Debian).\n\nRun all tests:\n\n```\nbin/run-tests.sh\n```\n\n## License\n\nCopyright 2025 Jochen Topf \u003cjochen@topf.org\u003e\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    https://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n## Author\n\nThis framework is written and maintained by Jochen Topf (jochen@topf.org).\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosm2pgsql-dev%2Fosm2pgsql-themepark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosm2pgsql-dev%2Fosm2pgsql-themepark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosm2pgsql-dev%2Fosm2pgsql-themepark/lists"}