{"id":24913174,"url":"https://github.com/pakillo/cityshademapper","last_synced_at":"2025-10-16T23:31:30.354Z","repository":{"id":67410242,"uuid":"453042592","full_name":"Pakillo/CityShadeMapper","owner":"Pakillo","description":"Create high resolution shade maps in cities","archived":false,"fork":false,"pushed_at":"2024-03-25T13:55:33.000Z","size":11312,"stargazers_count":26,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-28T10:44:49.732Z","etag":null,"topics":["gis","lidar","r-package","urban-data-science","urban-planning"],"latest_commit_sha":null,"homepage":"https://pakillo.github.io/CityShadeMapper/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pakillo.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2022-01-28T11:28:59.000Z","updated_at":"2025-01-25T22:03:42.000Z","dependencies_parsed_at":"2023-04-16T07:48:46.204Z","dependency_job_id":null,"html_url":"https://github.com/Pakillo/CityShadeMapper","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/Pakillo%2FCityShadeMapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pakillo%2FCityShadeMapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pakillo%2FCityShadeMapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pakillo%2FCityShadeMapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pakillo","download_url":"https://codeload.github.com/Pakillo/CityShadeMapper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236756707,"owners_count":19199894,"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":["gis","lidar","r-package","urban-data-science","urban-planning"],"created_at":"2025-02-02T05:29:56.945Z","updated_at":"2025-10-16T23:31:29.874Z","avatar_url":"https://github.com/Pakillo.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# CityShadeMapper\n\n\u003c!-- badges: start --\u003e\n[![R-CMD-check](https://github.com/Pakillo/CityShadeMapper/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/Pakillo/CityShadeMapper/actions/workflows/R-CMD-check.yaml)\n[![Codecov test coverage](https://codecov.io/gh/Pakillo/CityShadeMapper/branch/master/graph/badge.svg)](https://app.codecov.io/gh/Pakillo/CityShadeMapper?branch=master)\n[![Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip)\n[![HitCount](https://hits.dwyl.com/Pakillo/CityShadeMapper.svg?style=flat-square)](http://hits.dwyl.com/Pakillo/CityShadeMapper)\n[![HitCount](https://hits.dwyl.com/Pakillo/CityShadeMapper.svg?style=flat-square\u0026show=unique)](http://hits.dwyl.com/Pakillo/CityShadeMapper)\n\u003c!-- badges: end --\u003e\n\nCityShadeMapper is an open source [R package](https://www.r-project.org/) that generates high-resolution insolation or shade maps from remote sensing ([LiDAR](https://en.wikipedia.org/wiki/Lidar)) data. Free LiDAR data are now available for many countries (e.g. [Spain](https://pnoa.ign.es/el-proyecto-pnoa-lidar)). Shade maps can be generated for every hour of the year and every square meter of entire cities (e.g. see https://www.mapasdesombra.org).\n\n## Installation\n\n```{r eval=FALSE}\n# install.packages(\"remotes\")\nremotes::install_github(\"Pakillo/CityShadeMapper\")\n```\n\n\n## Usage\n\nAn example using LiDAR data from Sevilla, Spain (provided by [IGN](https://pnoa.ign.es/el-proyecto-pnoa-lidar)):\n\n```{r out.width=\"100%\", eval = FALSE}\nlibrary(\"CityShadeMapper\")\n\n# Read LiDAR data\nlidar \u003c- read_lidar(system.file(\"extdata\", \"catedral.laz\", package = \"CityShadeMapper\"))\n\n# Calculate heights from LiDAR data\nheights \u003c- calc_heights_from_lidar(lidar)\n\n# Calculate shade maps for 30 April (all day)\nshade \u003c- make_shademap(heights, date = \"2022-04-30\", hour = 8:21)\n\nplot_shademap(shade, legend = FALSE, animate = TRUE, smooth = TRUE)\n```\n\n![](man/figures/catedral_abril.gif)\n\nSee https://www.mapasdesombra.org for a more developed application of shade maps at both the canopy and ground level for Sevilla city in southern Spain.\n\n\n## How it works\n\nCityShadeMapper builds upon wonderful open source packages (e.g. [lidR](https://github.com/r-lidar/lidR), [solartime](https://cran.r-project.org/package=solartime), [rayshader](https://www.rayshader.com/), [terra](https://rspatial.github.io/terra/index.html), [GDAL](https://gdal.org/), etc) that make it possible. CityShadeMapper uses the LiDAR point cloud to build a detailed height map of the city, including trees and buildings. From this height information, and knowing the sun position at every time of year given the geographic coordinates of the city, CityShadeMapper calculates the amount of solar rays hitting every pixel of the surface (either at the roof/canopy or the ground level).\n\n\n## Limitations\n\nShade intensity under tree canopies is currently fixed at a low (5% illumination) value. If there is information available about vegetation type, density, etc, it could be used to refine the calculation of shade intensities below tree canopies, i.e. at the ground level. Illumination calculations at the canopy/roof level is unaffected by this.\n\n\n## Citation\n\nIf you found `CityShadeMapper` useful we'd love to know. Please do [get in touch](mailto:f.rodriguez.sanc@gmail.com). And please cite `CityShadeMapper` whenever you use it:\n\n```{r comment=NA}\ncitation(\"CityShadeMapper\")\n```\n\n\n## Funding\n\nThe development of this software has been funded by Fondo Europeo de Desarrollo Regional (FEDER) and Consejería de Transformación Económica, Industria, Conocimiento y Universidades of Junta de Andalucía (proyecto US-1381388 led by Francisco Rodríguez Sánchez, Universidad de Sevilla).\n\n![](man/figures/feder.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpakillo%2Fcityshademapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpakillo%2Fcityshademapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpakillo%2Fcityshademapper/lists"}