{"id":18439430,"url":"https://github.com/idiap/dhgen","last_synced_at":"2025-10-23T21:40:46.997Z","repository":{"id":144961782,"uuid":"539975658","full_name":"idiap/dhgen","owner":"idiap","description":"A Python module for generating District Heating Networks layouts","archived":false,"fork":false,"pushed_at":"2023-10-26T10:08:39.000Z","size":641,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-23T01:01:49.441Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/idiap.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":"2022-09-22T12:41:03.000Z","updated_at":"2024-09-08T08:49:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"c0511f9d-59a8-415b-95c2-1e7635b59b4c","html_url":"https://github.com/idiap/dhgen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idiap%2Fdhgen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idiap%2Fdhgen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idiap%2Fdhgen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idiap%2Fdhgen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/idiap","download_url":"https://codeload.github.com/idiap/dhgen/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247732682,"owners_count":20986901,"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":[],"created_at":"2024-11-06T06:24:44.579Z","updated_at":"2025-10-23T21:40:46.919Z","avatar_url":"https://github.com/idiap.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DHgeN\n\n**DHgeN** is a Python module for generating District Heating Networks layouts.\n\n![DhgeN schematic](dhgen.png)\n\nIt has been conceived to work with the following open datasets available in Switzerland through the [GeoAdmin's REST services](https://api3.geo.admin.ch/services/sdiservices.html):\n\n- the Swiss Federal Register of Buildings and Dwellings (RegBL) `ch.bfs.gebaeude_wohnungs_register` \n- vector building footprints `ch.swisstopo.vec25-gebaeude`\n- vector road network `ch.swisstopo.swisstlm3d-strassen`\n\nAlternatively, an input GeoPackage file can be used. This should be composed of the following layers:\n\n- `substations` (point geometry) with a `peak` attribute indicating the peak power of the substations in kW\n- `roads` (line geometry), mandatory only if the `add_roads` options is set to `True`\n- `footprints` (polygon geometry), mandatory only if the `add_footprints` options is set to `True`\n\nAn (approximation of the) Steiner tree can be created using:\n\n- NetworkX integrated algorithm\n- the [Hušek et al. model](https://github.com/goderik01/PACE2018)\n\nAdditional information can be found in the conference paper presented at the [EUROSUN 2022 Conference](#citation). \n\n## Installation\n\nYou can use `pip` to install this package, e.g. with:\n\n```pip install git+https://github.com/idiap/dhgen.git```\n\nFor further development, download the repository, then install it in editable mode:\n\n```pip install -e /path/to/dhgen```\n\n\n## Use\n\nSample working examples can be found in `/examples`.\nWhen using the `husek` model, the `star_contractions_test` compiled executable must be in the Path.\n\nThe Dockerfile provides a pipeline that compiles the model and installs all requirements:\n```\ndocker build . -t dhgen\ndocker run dhgen python examples/generate_dhn.py\n```\n\n## \u003ca name=\"citation\"\u003e\u003c/a\u003eCitation\n\nDHgeN is free to use. You are kindly invited to acknowledge its use by citing it in a research paper you are writing, reports, and/or other applicable materials.\nWhen available (pending review, expected publication in January 2023), please cite the following paper:\n\n\n    @inproceedings{peronato_dhgen_2022,\n        location = {Kassel, Germany},\n        title = {{DHgeN}: Automated Generation of District Heating Network Layouts for Feasibility Studies},\n        doi = {doi:10.18086/eurosun.2022.16.10},\n        eventtitle = {{EuroSun} 2022},\n        booktitle = {Proceedings of {EuroSun} 2022},\n        author = {Peronato, Giuseppe and Kämpf, Jérôme H.},\n        date = {2022}\n    }\n\n\nThe pre-print (authors' version before review) can be found in [Idiap's publication repository](http://publications.idiap.ch/index.php/publications/show/4871).\n\n## License\n\nDHgeN: a Python module for generating District Heating Networks layouts.\n\nCopyright (c) 2022 Idiap Research Institute, http://www.idiap.ch  \nWritten by Giuseppe Peronato \u003cGiuseppe.Peronato@idiap.ch\u003e\n\nThis file is part of DHgeN.\n\nDHgeN is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License version 3 as\npublished by the Free Software Foundation.\n\nDHgeN is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with DHgeN. If not, see \u003chttp://www.gnu.org/licenses/\u003e\n\n\n## Useful links\n\n- [GeoAdmin API](https://api3.geo.admin.ch/)\n- [Hušek et al.'s SteinerTreeHeuristics](https://github.com/goderik01/PACE2018)\n\n\n## Contributors(a-z):\n\n- [Giuseppe Peronato](https://www.giuseppeperonato.com)\n\n\n## Acknowledgments\n\nThis module has been developed in the framework of the [Eguzki research project](https://www.aramis.admin.ch/Kategorien/?ProjectID=47432\u0026Sprache=en-US), funded by the Swiss Federal Office of Energy, OIKEN SA, ALTIS Groupe SA, SATOM SA and RWB Valais SA.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidiap%2Fdhgen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidiap%2Fdhgen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidiap%2Fdhgen/lists"}