{"id":64114,"name":"PV4GER","description":"Aims at democratizing and accelerating the access to photovoltaic systems data in Germany and beyond.","url":"https://github.com/kdmayer/3D-PV-Locator","last_synced_at":"2026-05-29T16:01:31.277Z","repository":{"id":51084397,"uuid":"331305073","full_name":"kdmayer/3D-PV-Locator","owner":"kdmayer","description":"Dockerized Repo for \"3D-PV-Locator: Large-scale detection of rooftop-mounted photovoltaic systems in 3D\" based on Applied Energy publication.","archived":false,"fork":false,"pushed_at":"2023-07-06T19:11:52.000Z","size":30018,"stargazers_count":62,"open_issues_count":0,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-05-01T02:05:52.587Z","etag":null,"topics":["ai","climate-change","computer-vision","deep-learning","deeplabv3","deepsolar","inception-v3","network-planning","neurips-2020","pv-systems","remote-sensing","renewable-energy","satellite-imagery","solar","solar-panels"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kdmayer.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}},"created_at":"2021-01-20T12:47:54.000Z","updated_at":"2026-04-02T12:13:01.000Z","dependencies_parsed_at":"2023-09-19T01:39:11.580Z","dependency_job_id":null,"html_url":"https://github.com/kdmayer/3D-PV-Locator","commit_stats":{"total_commits":104,"total_committers":4,"mean_commits":25.5,"dds":0.5,"last_synced_commit":"b5d5cdca3a77d9ee29237c642bafc7ddb5cb2775"},"previous_names":["kdmayer/pv4ger"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kdmayer/3D-PV-Locator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdmayer%2F3D-PV-Locator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdmayer%2F3D-PV-Locator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdmayer%2F3D-PV-Locator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdmayer%2F3D-PV-Locator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kdmayer","download_url":"https://codeload.github.com/kdmayer/3D-PV-Locator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdmayer%2F3D-PV-Locator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32556771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T00:31:16.350Z","status":"online","status_checked_at":"2026-05-03T02:00:09.297Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"}},"owner":{"login":"kdmayer","name":"Kevin","uuid":"49768291","kind":"user","description":"PhD Candidate at Stanford.\r\n","email":"","website":"https://kdmayer.github.io/","location":"Stanford","twitter":null,"company":"Stanford University","icon_url":"https://avatars.githubusercontent.com/u/49768291?u=301a5aeeb9e8c9b94bc4fc17d610b1e1e811df0f\u0026v=4","repositories_count":26,"last_synced_at":"2024-06-11T15:51:39.478Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kdmayer","funding_links":[],"total_stars":111,"followers":54,"following":27,"created_at":"2023-05-24T07:31:40.792Z","updated_at":"2024-06-11T15:51:50.281Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kdmayer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kdmayer/repositories"},"packages":[],"commits":{"id":1253910,"full_name":"kdmayer/3D-PV-Locator","default_branch":"master","total_commits":104,"total_committers":4,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":26.0,"dds":0.4903846153846154,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-05-08T10:25:55.049Z","last_synced_commit":"b5d5cdca3a77d9ee29237c642bafc7ddb5cb2775","created_at":"2023-03-27T10:48:03.798Z","updated_at":"2026-05-08T10:25:19.109Z","committers":[{"name":"Kevin","email":"49768291+kdmayer","login":"kdmayer","count":53},{"name":"Kevin Mayer","email":"kevin.mayer@eon.com","login":null,"count":48},{"name":"Kevin Mayer","email":"kevin.mayer@eondata.onmicrosoft.com","login":null,"count":2},{"name":"Kevin","email":"kevinmayer@DN51s44l.SUNet","login":null,"count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdmayer%2F3D-PV-Locator/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-09T00:00:06.780Z","repositories_count":6232627,"commits_count":897419611,"contributors_count":34921530,"owners_count":1151412,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"kdmayer/3D-PV-Locator","html_url":"https://github.com/kdmayer/3D-PV-Locator","last_synced_at":"2026-02-16T14:02:20.509Z","status":"error","issues_count":3,"pull_requests_count":3,"avg_time_to_close_issue":2061287.6666666667,"avg_time_to_close_pull_request":11.0,"issues_closed_count":3,"pull_requests_closed_count":3,"pull_request_authors_count":1,"issue_authors_count":3,"avg_comments_per_issue":2.3333333333333335,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:38:28.011Z","updated_at":"2026-02-16T14:02:20.510Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdmayer%2F3D-PV-Locator","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdmayer%2F3D-PV-Locator/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":2},"pull_request_author_associations_count":{"OWNER":3},"issue_authors":{"robban":1,"codecat741":1},"pull_request_authors":{"kdmayer":3},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-09T00:00:07.995Z","repositories_count":14538909,"issues_count":34221040,"pull_requests_count":112169279,"authors_count":11258009,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"kdmayer","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kdmayer"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":3,"WatchEvent":6},"last_year":{"ForkEvent":1,"WatchEvent":3}},"keywords":["ai","climate-change","computer-vision","deep-learning","deeplabv3","deepsolar","inception-v3","network-planning","neurips-2020","pv-systems","remote-sensing","renewable-energy","satellite-imagery","solar","solar-panels"],"dependencies":[{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-19T01:39:10.476Z","updated_at":"2023-09-19T01:39:10.476Z","repository_link":"https://github.com/kdmayer/3D-PV-Locator/blob/master/Dockerfile","dependencies":[{"id":13776938148,"package_name":"python","ecosystem":"docker","requirements":"3.8","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-09-19T01:39:10.702Z","updated_at":"2023-09-19T01:39:10.702Z","repository_link":"https://github.com/kdmayer/3D-PV-Locator/blob/master/requirements.txt","dependencies":[{"id":13776938916,"package_name":"geopandas","ecosystem":"pypi","requirements":"==0.8.1","direct":true,"kind":"runtime","optional":false},{"id":13776938924,"package_name":"gdal","ecosystem":"pypi","requirements":"==3.1.4","direct":true,"kind":"runtime","optional":false},{"id":13776938927,"package_name":"geocoder","ecosystem":"pypi","requirements":"==1.38.1","direct":true,"kind":"runtime","optional":false},{"id":13776940689,"package_name":"geopy","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"runtime","optional":false},{"id":13776940691,"package_name":"notebook","ecosystem":"pypi","requirements":"==6.1.4","direct":true,"kind":"runtime","optional":false},{"id":13776940692,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.2.1","direct":true,"kind":"runtime","optional":false},{"id":13776940694,"package_name":"pillow","ecosystem":"pypi","requirements":"==8.1.0","direct":true,"kind":"runtime","optional":false},{"id":13776940696,"package_name":"rtree","ecosystem":"pypi","requirements":"==0.9.7","direct":true,"kind":"runtime","optional":false},{"id":13776940699,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.6.0","direct":true,"kind":"runtime","optional":false},{"id":13776940702,"package_name":"rasterio","ecosystem":"pypi","requirements":"==1.1.8","direct":true,"kind":"runtime","optional":false},{"id":13776940704,"package_name":"torch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13776940707,"package_name":"pyyaml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13776940710,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13776940712,"package_name":"torchaudio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13776940715,"package_name":"torchvision","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13776940717,"package_name":"urllib3","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":5.5134287461649825,"created_at":"2023-09-18T12:26:29.783Z","updated_at":"2026-05-29T16:01:31.281Z","avatar_url":"https://github.com/kdmayer.png","language":"Python","category":"Renewable Energy","sub_category":"Photovoltaics and Solar Energy","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# 3D-PV-Locator\n\n![Pipeline Overview](https://github.com/kdmayer/3D-PV-Locator/blob/master/pipeline_visualization_new.png)\n\nRepo with [documentation](docs/_build/rinoh/pv4ger.pdf) for \"[3D-PV-Locator: Large-scale detection of rooftop-mounted photovoltaic systems in 3D](https://www.sciencedirect.com/science/article/pii/S0306261921016937?via%3Dihub)\" published in Applied Energy.\n\nIn case you would like to explore the code with which we created the image datasets and pre-processed the CityGML files, please have a look at the following [GitHub repo](https://github.com/kdmayer/CityGML-Preprocessing-Demo).\n\n## About\n\n3D-PV-Locator is a joint research initiative between [Stanford University](http://web.stanford.edu/group/energyatlas/home.html), [University of Freiburg](https://www.is.uni-freiburg.de/research/smart-cities-industries-group/smart-cities-industries-sci-group), and [LMU Munich](https://www.en.compecon.econ.uni-muenchen.de/staff/postdocs/arlt1/index.html) that aims at democratizing and accelerating the access to photovoltaic (PV) systems data in Germany and beyond. \n\nTo do so, we have developed a computer vision-based pipeline leveraging aerial imagery with a spatial resolution of\n10 cm/pixel and 3D building data to automatically create address-level and rooftop-level PV registries for all counties\nwithin Germany's most populous state North Rhine-Westphalia.\n\n![Exemplary Pipeline Output](https://github.com/kdmayer/3D-PV-Locator/blob/master/exemplary_pipeline_output.png)\n\n### Address-level registry\n\nFor every address equipped with a PV system in North Rhine-Westphalia, the automatically produced address-level\nregistry in GeoJSON-format specifies the respective PV system's: \n\n- geometry: Real-world coordinate-referenced polygon describing the shape of the rooftop-mounted PV system\n- area_inter: The total area covered by the PV system in square meters\n- area_tilted: The total area covered by the PV system in square meters, corrected by the respective rooftop tilt\n- capacity_not_tilted_area: The total PV capacity in kWp of area_inter\n- capacity_titled_area: The total PV capacity in kWp of area_tilted \n- location of street address in latitude and longitude \n- street address\n- city and\n- ZIP code\n\n### Rooftop-level registry\n\nFor every rooftop equipped with a PV system in North Rhine-Westphalia, the automatically produced rooftop-level\nregistry in GeoJSON-format specifies the respective PV system's: \n\n- Azimuth: Orientation of the rooftop-mounted PV system, with 0° pointing to the North\n- Tilt: Tilt of the rooftop-mounted PV system, with 0° being flat\n- RoofTopID: Identifier of the respective rooftop\n- geometry: Real-world coordinate-referenced polygon describing the shape of the rooftop-mounted PV system\n- area_inter: The total area covered by the PV system in square meters\n- area_tilted: The total area covered by the PV system in square meters, corrected by the respective rooftop tilt\n- capacity_not_tilted_area: The total PV capacity in kWp of area_inter\n- capacity_titled_area: The total PV capacity in kWp of area_tilted\n- street address\n- city and\n- ZIP code \n\nFor a detailed description of the underlying pipeline and a case study for the city of Bottrop, please have a look at our spotlight talk at NeurIPS 2020:\n\n- [Paper](https://www.climatechange.ai/papers/neurips2020/46/paper.pdf)\n- [Slides](https://www.climatechange.ai/papers/neurips2020/46/slides.pdf)\n- [Recorded Talk](https://slideslive.com/38942134/an-enriched-automated-pv-registry-combining-image-recognition-and-3d-building-data)\n\nYou might also want to take a look at other projects within Stanford's EnergyAtlas initiative:\n\n- [EnergyAtlas](http://web.stanford.edu/group/energyatlas/home.html)\n- DeepSolar for Germany: [Publication](https://ieeexplore.ieee.org/document/9203258) and [Code](https://github.com/kdmayer/PV_Pipeline)\n\n## Datasets and pre-processing code are public\n\nPlease note that apart from the pipeline code and documentation, we also provide you with\n\n- A **pre-trained model checkpoint for PV classification** on aerial imagery with a spatial resolution of 10cm/pixel.\n- A **pre-trained model checkpoint for PV segmentation** on aerial imagery with a spatial resolution of 10cm/pixel.\n- A **100,000+ image dataset** for PV system classification.\n- A **4,000+ image dataset** for PV system segmentation.\n- **Pre-processed 3D building data** in .GeoJSON format for the entire state of North Rhine-Westphalia.\n\nIn case you would like to explore the code with which we created the image datasets and pre-processed the CityGML files, please have a look at the following [GitHub repo](https://github.com/kdmayer/CityGML-Preprocessing-Demo).\n\nWhen using these resources, please cite our work as specified at the bottom of this page.\n\n**NOTE**: All images and 3D building data is obtained from [openNRW](https://www.bezreg-koeln.nrw.de/brk_internet/geobasis/luftbildinformationen/aktuell/digitale_orthophotos/index.html). Labeling of the images for PV system classification and segmentation has been conducted by us.\n\n## Usage Instructions:\n\n    git clone https://github.com/kdmayer/3D-PV-Locator.git\n    cd 3D-PV-Locator\n\nDownload pre-trained classification and segmentation models for PV systems from our public AWS S3 bucket. This bucket is in \"requester pays\" mode, which means that you need to configure your AWS CLI before being able to download the files. Instructions on how to do it can be found [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html).\n\nOnce you have configured your AWS CLI with \n\n    aws configure\n\nyou can list and browse our public bucket with\n\n    aws s3 ls --request-payer requester s3://pv4ger/\n    \nPlease download our pre-trained networks for PV system classification and segmentation by executing\n\n    aws s3 cp --request-payer requester s3://pv4ger/NRW_models/inceptionv3_weights.tar models/classification/\n    aws s3 cp --request-payer requester s3://pv4ger/NRW_models/deeplabv3_weights.tar models/segmentation/\n\nTo create PV registries for any county within North Rhine-Westphalia, you need to \n\n1. Download the 3D building data for your desired county from our S3 bucket by executing and replacing \u003cYOUR_DESIRED_COUNTY.geojson\u003e with a county name from the list below:\n\n        aws s3 cp --request-payer requester s3://pv4ger/NRW_rooftop_data/\u003cYOUR_DESIRED_COUNTY.geojson\u003e data/nrw_rooftop_data/\n        \n    Example for the county of **Essen**:\n    \n        aws s3 cp --request-payer requester s3://pv4ger/NRW_rooftop_data/Essen.geojson data/nrw_rooftop_data/\n\n2. Specify the name of your desired county for analysis in the config.yml next to the \"county4analysis\" element by\n choosing one of the counties from the list below:\n\n    Example:\n        \n        county4analysis: Essen\n        \n3. **OPTIONAL STEP**: Obtain your Bing API key for geocoding from [here](https://docs.microsoft.com/en-us/bingmaps/getting-started/bing-maps-dev-center-help/getting-a-bing-maps-key) and paste it in the config.yml file next to the \"bing_key\" element\n\n    Example:\n    \n        bing_key: \u003cYOUR_BING_KEY\u003e\n    \n    **NOTE**: If you leave \u003cYOUR_BING_KEY\u003e empty, geocoding will be done by the free OSM geocoding service.\n\nOnce the data and models are in place, we build and run the docker container with all required dependencies in interactive mode and mount the /data and /log directory in the container to our local machine.\nMounting the /data and /log directories allows us to share the code outputs between the container and our local machine.\n\n    docker build -t 3d_pv_docker .\n    docker run -it -v \u003cYOUR_ABSOLUTE_PATH_TO_THE_PROJECT_REPO\u003e/data/:/app/data/ \u003cYOUR_ABSOLUTE_PATH_TO_THE_PROJECT_REPO\u003e/logs/:/app/logs/ 3d_pv_docker\n\nPlease ensure that *\u003cYOUR_ABSOLUTE_PATH_TO_THE_PROJECT_REPO\u003e* corresponds to your absolute path to the 3D-PV-Locator repo on your local machine, e.g., */Users/kevin/Projects/Active/3D-PV-Locator/* in my case.\n\nNote: Depending on how many tiles you want to download, you will need to adjust the memory of your Docker container with the following flag for the docker run command:\n\n    --memory=\u003cmemory\u003e\n\nHaving the docker container in interactive mode, we can now decide which pipeline steps we want to run by putting a \"1\" next them.\n\n    Example:\n    \n        run_tile_creator: 1\n\n        run_tile_downloader: 1\n\n        run_tile_processor: 1\n\n        run_tile_coords_updater: 0\n\n        run_registry_creator: 1\n        \nIn the interactive Docker container, we then execute the pipeline with:\n\n      python run_pipeline.py\n\nAfter successful completion, the resulting PV registry for your area of interest will be written to /data/pv_registry.\n\n## List of available counties:\n        \nPlease choose the county you would like to run the pipeline for from the following list:\n\n- Düren\n- Essen\n- Unna\n- Mönchengladbach\n- Solingen\n- Dortmund\n- Gütersloh\n- Olpe\n- Steinfurt\n- Bottrop\n- Coesfeld\n- Leverkusen\n- Köln\n- Soest\n- Mülheim-a.d.-Ruhr\n- Münster\n- Heinsberg\n- Oberhausen\n- Euskirchen\n- Krefeld\n- Warendorf\n- Recklinghausen\n- Bochum\n- Rhein-Kreis-Neuss\n- Rheinisch-Bergischer-Kreis\n- Herne\n- Kleve\n- Bonn\n- Minden-Lübbecke\n- Herford\n- Rhein-Sieg-Kreis\n- Düsseldorf\n- Hagen\n- Paderborn\n- Wuppertal\n- Oberbergischer-Kreis\n- Viersen\n- Rhein-Erft-Kreis\n- Märkischer-Kreis\n- Städteregion-Aachen\n- Remscheid\n- Mettmann\n- Lippe\n- Ennepe-Ruhr-Kreis\n- Hochsauerlandkreis\n- Gelsenkirchen\n- Höxter\n- Borken\n- Hamm\n- Bielefeld\n- Duisburg\n- Siegen-Wittgenstein\n- Wesel \n\n## OpenNRW Platform:\n\nFor the German state of North Rhine-Westphalia (NRW), OpenNRW provides:\n\n- Aerial imagery at a spatial resolution of 10cm/pixel\n- Extensive 3D building data in CityGML format\n\n## License:\n\n[MIT](https://github.com/kdmayer/PV_Pipeline/blob/master/LICENSE)\n\n## BibTex Citation:\n\nPlease cite our work as\n\n    @article{MAYER2022,\n    title = {3D-PV-Locator: Large-scale detection of rooftop-mounted photovoltaic systems in 3D},\n    journal = {Applied Energy},\n    volume = {310},\n    pages = {118469},\n    year = {2022},\n    issn = {0306-2619},\n    doi = {https://doi.org/10.1016/j.apenergy.2021.118469},\n    url = {https://www.sciencedirect.com/science/article/pii/S0306261921016937},\n    author = {Kevin Mayer and Benjamin Rausch and Marie-Louise Arlt and Gunther Gust and Zhecheng Wang and Dirk Neumann and Ram Rajagopal},\n    keywords = {Solar panels, Renewable energy, Image recognition, Deep learning, Computer vision, 3D building data, Remote sensing, Aerial imagery},\n    }\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.1016/j.apenergy.2021.118469"],"works":{"https://doi.org/10.1016/j.apenergy.2021.118469":{"id":"https://openalex.org/W4206818839","doi":"https://doi.org/10.1016/j.apenergy.2021.118469","title":"3D-PV-Locator: Large-scale detection of rooftop-mounted photovoltaic systems in 3D","display_name":"3D-PV-Locator: Large-scale detection of rooftop-mounted photovoltaic systems in 3D","publication_year":2022,"publication_date":"2022-03-01","ids":{"openalex":"https://openalex.org/W4206818839","doi":"https://doi.org/10.1016/j.apenergy.2021.118469"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1016/j.apenergy.2021.118469","pdf_url":null,"source":{"id":"https://openalex.org/S109565702","display_name":"Applied Energy","issn_l":"0306-2619","issn":["0306-2619","1872-9118"],"is_oa":false,"is_in_doaj":false,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5003478236","display_name":"Kevin Mayer","orcid":"https://orcid.org/0000-0002-5340-2711"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Kevin Mayer","raw_affiliation_string":"Stanford University, 473 Via Ortega, 94305 Stanford, USA","raw_affiliation_strings":["Stanford University, 473 Via Ortega, 94305 Stanford, USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5068496801","display_name":"Benjamin Rausch","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Benjamin Rausch","raw_affiliation_string":"Stanford University, 473 Via Ortega, 94305 Stanford, USA","raw_affiliation_strings":["Stanford University, 473 Via Ortega, 94305 Stanford, USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5050641158","display_name":"Marie-Louise Arlt","orcid":"https://orcid.org/0000-0002-2887-1794"},"institutions":[{"id":"https://openalex.org/I8204097","display_name":"Ludwig-Maximilians-Universität München","ror":"https://ror.org/05591te55","country_code":"DE","type":"education","lineage":["https://openalex.org/I8204097"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Marie-Louise Arlt","raw_affiliation_string":"Ludwig-Maximilians-University Munich, Schackstraße 4, 80539 München, Germany","raw_affiliation_strings":["Ludwig-Maximilians-University Munich, Schackstraße 4, 80539 München, Germany"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5068184009","display_name":"Gunther Gust","orcid":"https://orcid.org/0000-0001-6671-1380"},"institutions":[{"id":"https://openalex.org/I161046081","display_name":"University of Freiburg","ror":"https://ror.org/0245cg223","country_code":"DE","type":"education","lineage":["https://openalex.org/I161046081"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Gunther Gust","raw_affiliation_string":"University of Freiburg, Rempartstraße 16, 79098 Freiburg, Germany","raw_affiliation_strings":["University of Freiburg, Rempartstraße 16, 79098 Freiburg, Germany"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5082507372","display_name":"Zhecheng Wang","orcid":"https://orcid.org/0000-0003-2441-3267"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zhecheng Wang","raw_affiliation_string":"Stanford University, 473 Via Ortega, 94305 Stanford, USA","raw_affiliation_strings":["Stanford University, 473 Via Ortega, 94305 Stanford, USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5064008689","display_name":"Dirk Neumann","orcid":"https://orcid.org/0000-0003-2178-3705"},"institutions":[{"id":"https://openalex.org/I161046081","display_name":"University of Freiburg","ror":"https://ror.org/0245cg223","country_code":"DE","type":"education","lineage":["https://openalex.org/I161046081"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Dirk Neumann","raw_affiliation_string":"University of Freiburg, Rempartstraße 16, 79098 Freiburg, Germany","raw_affiliation_strings":["University of Freiburg, Rempartstraße 16, 79098 Freiburg, Germany"]},{"author_position":"last","author":{"id":"https://openalex.org/A5028892842","display_name":"Ram Rajagopal","orcid":"https://orcid.org/0000-0002-4961-9539"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Ram Rajagopal","raw_affiliation_string":"Stanford University, 473 Via Ortega, 94305 Stanford, USA","raw_affiliation_strings":["Stanford University, 473 Via Ortega, 94305 Stanford, USA"]}],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5003478236","https://openalex.org/A5028892842"],"corresponding_institution_ids":["https://openalex.org/I97018004","https://openalex.org/I97018004"],"apc_list":{"value":4140,"currency":"USD","value_usd":4140,"provenance":"doaj"},"apc_paid":{"value":4140,"currency":"USD","value_usd":4140,"provenance":"doaj"},"has_fulltext":false,"cited_by_count":13,"cited_by_percentile_year":{"min":97,"max":98},"biblio":{"volume":"310","issue":null,"first_page":"118469","last_page":"118469"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"photovoltaic systems","score":0.451},{"keyword":"d-pv-locator","score":0.25},{"keyword":"large-scale","score":0.25},{"keyword":"rooftop-mounted","score":0.25}],"concepts":[{"id":"https://openalex.org/C41291067","wikidata":"https://www.wikidata.org/wiki/Q1897785","display_name":"Photovoltaic system","level":2,"score":0.8197619},{"id":"https://openalex.org/C159737794","wikidata":"https://www.wikidata.org/wiki/Q124274","display_name":"Azimuth","level":2,"score":0.6326107},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5374994},{"id":"https://openalex.org/C89600930","wikidata":"https://www.wikidata.org/wiki/Q1423946","display_name":"Segmentation","level":2,"score":0.48922324},{"id":"https://openalex.org/C2779844322","wikidata":"https://www.wikidata.org/wiki/Q2919140","display_name":"Tilt (camera)","level":2,"score":0.4417323},{"id":"https://openalex.org/C2778755073","wikidata":"https://www.wikidata.org/wiki/Q10858537","display_name":"Scale (ratio)","level":2,"score":0.42413688},{"id":"https://openalex.org/C2776748203","wikidata":"https://www.wikidata.org/wiki/Q83180","display_name":"Roof","level":2,"score":0.41054857},{"id":"https://openalex.org/C79403827","wikidata":"https://www.wikidata.org/wiki/Q3988","display_name":"Real-time computing","level":1,"score":0.40225384},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.38543883},{"id":"https://openalex.org/C62649853","wikidata":"https://www.wikidata.org/wiki/Q199687","display_name":"Remote sensing","level":1,"score":0.334509},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.20243841},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.17607048},{"id":"https://openalex.org/C58640448","wikidata":"https://www.wikidata.org/wiki/Q42515","display_name":"Cartography","level":1,"score":0.15157863},{"id":"https://openalex.org/C119599485","wikidata":"https://www.wikidata.org/wiki/Q43035","display_name":"Electrical engineering","level":1,"score":0.12870252},{"id":"https://openalex.org/C147176958","wikidata":"https://www.wikidata.org/wiki/Q77590","display_name":"Civil engineering","level":1,"score":0.08391899},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.082330674},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1016/j.apenergy.2021.118469","pdf_url":null,"source":{"id":"https://openalex.org/S109565702","display_name":"Applied Energy","issn_l":"0306-2619","issn":["0306-2619","1872-9118"],"is_oa":false,"is_in_doaj":false,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.28},{"id":"https://metadata.un.org/sdg/11","display_name":"Sustainable cities and communities","score":0.22},{"id":"https://metadata.un.org/sdg/7","display_name":"Affordable and clean energy","score":0.22}],"grants":[],"referenced_works_count":23,"referenced_works":["https://openalex.org/W1167988711","https://openalex.org/W2031489346","https://openalex.org/W2183341477","https://openalex.org/W2483809644","https://openalex.org/W2494424066","https://openalex.org/W2584768951","https://openalex.org/W2591724451","https://openalex.org/W2727721695","https://openalex.org/W2771594847","https://openalex.org/W2775111920","https://openalex.org/W2801455285","https://openalex.org/W2904145953","https://openalex.org/W2963986342","https://openalex.org/W2981468869","https://openalex.org/W2994435490","https://openalex.org/W3084146410","https://openalex.org/W3089159015","https://openalex.org/W3092092201","https://openalex.org/W3096498945","https://openalex.org/W3100617290","https://openalex.org/W3108718487","https://openalex.org/W3184938584","https://openalex.org/W4239771458"],"related_works":["https://openalex.org/W2900410449","https://openalex.org/W2908710372","https://openalex.org/W2998308618","https://openalex.org/W3204548188","https://openalex.org/W2175560954","https://openalex.org/W4234697259","https://openalex.org/W1607146263","https://openalex.org/W2020630876","https://openalex.org/W2369850339","https://openalex.org/W2213121457"],"ngrams_url":"https://api.openalex.org/works/W4206818839/ngrams","abstract_inverted_index":{"While":[0],"photovoltaic":[1],"(PV)":[2],"systems":[3,40,87,191,198],"are":[4,150,251],"being":[5],"installed":[6],"at":[7],"an":[8],"unprecedented":[9],"rate,":[10],"it":[11],"is":[12],"challenging":[13],"to":[14,20],"keep":[15],"track":[16],"of":[17,37,59,85,126,146,159,165,186,224,232,237],"them":[18],"due":[19],"their":[21,94],"decentralized":[22],"character":[23],"and":[24,53,66,96,128,137,149,156,188,196,230,240,244],"large":[25,105],"number.":[26],"In":[27,124,163],"this":[28,249],"paper,":[29],"we":[30,170],"present":[31],"the":[32,82,101,109,135,138,147,160,173,184,213,227],"3D-PV-Locator":[33,46,102,136,174,214],"for":[34,63,81,142,154,183],"large-scale":[35],"detection":[36,84],"roof-mounted":[38],"PV":[39,86,112,167,190,197,208],"in":[41,114],"three":[42],"dimensions":[43],"(3D).":[44],"The":[45,206],"combines":[47],"information":[48],"extracted":[49],"from":[50,88,108],"aerial":[51,89],"images":[52,90],"3D":[54,71,207],"building":[55],"data":[56,73,210],"by":[57,91,212],"means":[58],"deep":[60],"neural":[61],"networks":[62],"image":[64],"classification":[65],"segmentation,":[67],"as":[68,70,221],"well":[69,182],"spatial":[72],"processing":[74],"techniques.":[75],"It":[76,179],"thereby":[77],"extends":[78],"existing":[79,177],"approaches":[80],"automated":[83],"also":[92],"providing":[93],"azimuth":[95,127],"tilt":[97,129],"angles.":[98],"We":[99],"evaluate":[100],"using":[103],"a":[104,115],"dataset":[106],"gathered":[107],"official":[110,139],"German":[111],"registry":[113,140],"real-world":[116],"study":[117],"with":[118,248],"more":[119],"than":[120],"one":[121],"million":[122],"buildings.":[123],"terms":[125,164],"angles,":[130],"our":[131],"evaluation":[132],"shows":[133],"that":[134,172],"coincide":[141],"about":[143],"two":[144],"thirds":[145],"observations":[148],"within":[151],"neighboring":[152],"classes":[153],"84":[155],"99":[157],"percent":[158,193,203],"observations,":[161],"respectively.":[162],"detected":[166],"system":[168,209],"capacity,":[169],"show":[171],"clearly":[175],"outperforms":[176],"approaches.":[178],"performs":[180],"particularly":[181],"groups":[185],"small":[187],"medium-sized":[189],"(3.6–33.1":[192],"error":[194,204],"reduction)":[195],"tilted":[199],"beyond":[200],"40°":[201],"(25.6–38.1":[202],"reduction).":[205],"generated":[211],"can":[215],"inform":[216],"several":[217],"practical":[218],"applications,":[219],"such":[220],"improved":[222,235],"forecasting":[223],"solar":[225],"generation,":[226],"optimized":[228],"planning":[229],"operation":[231],"distribution":[233],"networks,":[234],"integration":[236],"electric":[238],"vehicles,":[239],"others.":[241],"All":[242],"datasets":[243],"pre-trained":[245],"models":[246],"associated":[247],"paper":[250],"available":[252],"online.":[253]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4206818839","counts_by_year":[{"year":2023,"cited_by_count":11},{"year":2022,"cited_by_count":1}],"updated_date":"2023-12-12T14:44:01.197167","created_date":"2022-01-25"}},"citation_counts":{"https://doi.org/10.1016/j.apenergy.2021.118469":12},"total_citations":12,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/64114","html_url":"https://ost.ecosyste.ms/projects/64114"}