{"id":24490084,"url":"https://github.com/linz/nz-buildings","last_synced_at":"2026-01-02T10:12:13.745Z","repository":{"id":33043986,"uuid":"94153540","full_name":"linz/nz-buildings","owner":"linz","description":":house: NZ Buildings | QGIS plugin and PostGIS database schema for building dataset management","archived":false,"fork":false,"pushed_at":"2024-12-09T19:36:20.000Z","size":13523,"stargazers_count":6,"open_issues_count":36,"forks_count":2,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-01-21T17:16:51.416Z","etag":null,"topics":["buildings","database-schema","independent-dataset","postgresql-database","qgis-plugin","topo"],"latest_commit_sha":null,"homepage":"https://nz-buildings.rtfd.io","language":"PLpgSQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2017-06-13T00:49:47.000Z","updated_at":"2024-12-08T19:29:34.000Z","dependencies_parsed_at":"2024-09-12T14:57:55.671Z","dependency_job_id":"499c99d2-87ca-4de6-998f-022110dd5b6c","html_url":"https://github.com/linz/nz-buildings","commit_stats":{"total_commits":1371,"total_committers":15,"mean_commits":91.4,"dds":0.636761487964989,"last_synced_commit":"feb854f6e070502f22d8695ea1fd0298e2ee10b2"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linz%2Fnz-buildings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linz%2Fnz-buildings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linz%2Fnz-buildings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linz%2Fnz-buildings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linz","download_url":"https://codeload.github.com/linz/nz-buildings/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243669839,"owners_count":20328352,"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":["buildings","database-schema","independent-dataset","postgresql-database","qgis-plugin","topo"],"created_at":"2025-01-21T17:16:58.274Z","updated_at":"2026-01-02T10:12:13.703Z","avatar_url":"https://github.com/linz.png","language":"PLpgSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"![NZ Buildings](./media/header.png)\n\n[![CI Status](https://github.com/linz/nz-buildings/actions/workflows/build.yml/badge.svg)](https://github.com/linz/nz-buildings/actions/workflows/build.yml) [![Documentation Status](https://readthedocs.org/projects/nz-buildings/badge/?version=latest)](https://nz-buildings.readthedocs.io/en/latest/introduction.html) [![Latest Release](https://badgen.net/github/release/linz/nz-buildings?label=Release\u0026labelColor=2e3a44\u0026color=5cc3db)](https://github.com/linz/nz-buildings/releases) [![Current Building Outlines Feature Count](https://badgen.net/badge/Total%20Buildings/3%2C320%2C498?labelColor=2e3a44\u0026color=5cc3db)](https://data.linz.govt.nz/layer/101290) [![License](https://badgen.net/badge/License/BSD%203-clause?labelColor=2e3a44\u0026color=blue)](https://github.com/linz/nz-buildings/blob/master/LICENSE) [![Convetional Commits](https://badgen.net/badge/Commits/conventional?labelColor=2e3a44\u0026color=EC5772)](https://conventionalcommits.org) [![Code Style](https://badgen.net/badge/Code%20Style/black?labelColor=2e3a44\u0026color=000000)](https://github.com/psf/black)\n\n\n# NZ Buildings\n\nThe *NZ Buildings* system is used by [Toitū Te Whenua Land Information New Zealand](https://www.linz.govt.nz/)to manage New Zealand's national building outlines dataset. This dataset is published under CC-BY-4.0 [on the LINZ Data Service](https://data.linz.govt.nz/layer/101290). Documentation of the dataset itself is available in the [NZ Building Outlines Data Dictionary](https://nz-buildings.readthedocs.io/en/latest/introduction.html).\n\n\n## Features\n\nThe Topography team at Toitū Te Whenua LINZ built this system and use it to:\n\n- validate building outlines captured via feature extraction\n- assign additional attributes (capture metadata, administrative boundaries)\n- manually add, modify or delete building outlines where required\n- compare a new set of building outlines against existing building outlines and categorise matching, added, removed or related buildings\n- manage the lifecycle of building outlines across multiple data captures\n- prepare data to be published on the LINZ Data Service\n\n\n## Components\n\n- [PostgreSQL](https://www.postgresql.org/)/[PostGIS](https://postgis.net/) database schema for data storage\n- [QGIS](https://qgis.org/) plugin for data maintenance\n- [data dictionary](https://nz-buildings.readthedocs.io/en/latest/introduction.html) hosted on readthedocs\n- [ISO 19115 geospatial metadata](./metadata) to accompany the published datasets\n- [Dockerfiles](./docker) of specific PostgreSQL versions and dependencies used for testing.\n\nAll of the components build upon other free and open source software. See [ACKNOWLEDGEMENTS.md](./ACKNOWLEDGEMENTS.md) for a summary.\n\n\n## License\n\nThis system is under the 3-clause BSD License, except where otherwise specified. See the [LICENSE](./LICENSE) file for more details.\n\n\n## Database\n\nThe database for the *NZ Buildings* system is a PostgreSQL database with the PostGIS database extension for handling geographic objects.\n\n### Dependencies\n\n- [PostgreSQL](https://www.postgresql.org/) database with [PostGIS](https://postgis.net/) extension. Tested versions are PostgreSQL 9.3 with PostGIS 2.3, and PostgreSQL 14 with PostGIS 3.2.\n- [Sqitch](https://sqitch.org/) is used for database schema migrations.\n- [pgTAP](https://pgtap.org/) is used for database testing. This is included inside the Dockerfiles used for automated testing.\n- [Docker](https://www.docker.com/) is used for automated testing, of both QGIS plugin unit tests, and database tests using pgTAP.\n\n### Development and testing\n\nFor development and testing, a copy of the database including test data can be run in a docker container. See the scripts in the [scripts](./scripts) directory and the README there for further information.\n\n\n## QGIS plugin\n\n### Dependencies\n\nThe QGIS plugin is tested in QGIS versions 3.10, 3.16, and 3.24.\n\n### Installation\n\nFirst clone this repository:\n\n```shell\ngit clone https://github.com/linz/nz-buildings.git\n```\n\nThen, from the repository directory, create a symantic link from the `buildings` folder which contains the QGIS plugin to your local QGIS profile directory. On Ubuntu this will be:\n\n```shell\nln -s \"$(pwd)/buildings\" ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/\n```\n\nThen create a database config file for the plugin. If using Docker to run the database locally, you can use the testing config file as-is, otherwise you can use it as a base and edit the required details as needed.\n\n```shell\ncp ./buildings/tests/pg_config_tests.ini ~/.local/share/QGIS/QGIS3/profiles/default/buildings/pg_config.ini\n```\n\n### Development and testing\n\nScripts are provided to run Python unit tests in QGIS in a docker container. See the README in the [scripts](./scripts) directory for more information on [run_qgis_tests.sh](./scripts/run_qgis_tests.sh) and [run_qgis_interactively.sh](./scripts/run_qgis_interactively.sh).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinz%2Fnz-buildings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinz%2Fnz-buildings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinz%2Fnz-buildings/lists"}