public_library_map/README.md

65 lines
2.3 KiB
Markdown
Raw Normal View History

2021-01-17 19:47:25 +11:00
# Public library data map
2019-08-13 21:34:31 +10:00
This project collects and maps data from public libraries across the Australia and the external Territories of Christmas Island and the Cocos (Keeling) Islands.
2019-08-13 21:34:31 +10:00
2021-01-17 19:47:25 +11:00
You should be able to find the location of every public library in Australia territory, plus the standard loan period for each libary service, and whether they charge overdue fines (if known, in both cases).
2019-08-13 21:34:31 +10:00
2021-01-17 19:47:25 +11:00
Check out the map at [librarymap.hugh.run](https://librarymap.hugh.run).
2019-08-13 21:34:31 +10:00
2024-07-29 19:44:47 +10:00
Find more on this project at [about](https://librarymap.hugh.run/about).
2021-01-17 19:47:25 +11:00
## Attributions
2024-07-29 19:44:47 +10:00
See [sources](https://librarymap.hugh.run/sources).
2021-01-17 19:47:25 +11:00
2021-01-18 10:34:03 +11:00
## Want to help?
See [contributing](https://librarymap.hugh.run/contributing/), especially *[which files to update](https://librarymap.hugh.run/contributing/#which-files-to-update)*.
2021-01-18 10:34:03 +11:00
2024-08-10 10:58:56 +10:00
## Deployment
The website for this project uses [git-webhooks](https://git.suboptimal.solutions/hugh/git-webhooks) with a customisation to run the `process.js` file that is found in this repository on each pull. The file is stored with the webhooks files so that everything can be `npm install`ed together.
This `process.js` file syncs any changes from the csv files into the topojson attributes (e.g. when a library changes their ILS).
## Updating the topojson
### Update boundaries
* make a copy of `/public_library_map/boundaries.geo.json`
* update in `qgis`
* save the copied file
### Simplify to reduce the file size
#### Option 1
* upload to https://mapshaper.org/ and 'simplify' the boundaries
* download the simplified version
* replace `/public_library_map/boundaries.geo.json`
#### Option 2
```bash
sudo npm install -g mapshaper
mapshaper boundaries.geo.json snap -clean -o force precision=0.0001 format=geojson boundaries.geo.json
```
### Turn it into `topojson`:
```bash
sudo npm install -g topojson-server
geo2topo boundaries.geo.json -q 50000 > website/data/boundaries.topo.json
```
2024-08-03 18:27:51 +10:00
## Contributing
To contribute to the map data you can contact Hugh at librarymap [at] hugh.run. If necessary, I will add an account for you on `git.suboptimal.solutions` if you want to contribute to the code.
2024-08-03 13:45:47 +10:00
Contributors are listed at [contributors.txt](contributors.txt).
2021-01-17 19:47:25 +11:00
## Licenses
**/website/data**: [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/)
2021-01-18 10:34:03 +11:00
**everything else**: [GPL-3.0-or-later](https://www.gnu.org/licenses/gpl-3.0.txt)