{"id":17229209,"url":"https://github.com/binnette/bookcases-delivrez","last_synced_at":"2025-03-25T18:45:47.379Z","repository":{"id":82857444,"uuid":"594838347","full_name":"Binnette/bookcases-delivrez","owner":"Binnette","description":"bookcases from delivrez","archived":false,"fork":false,"pushed_at":"2025-03-01T02:22:58.000Z","size":14745,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-01T03:21:14.633Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Binnette.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":"2023-01-29T19:41:03.000Z","updated_at":"2025-03-01T02:23:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"ffaa9ee5-7577-48cf-83cb-f66531d6b30c","html_url":"https://github.com/Binnette/bookcases-delivrez","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/Binnette%2Fbookcases-delivrez","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Binnette%2Fbookcases-delivrez/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Binnette%2Fbookcases-delivrez/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Binnette%2Fbookcases-delivrez/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Binnette","download_url":"https://codeload.github.com/Binnette/bookcases-delivrez/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245526182,"owners_count":20629834,"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-10-15T04:46:19.971Z","updated_at":"2025-03-25T18:45:47.373Z","avatar_url":"https://github.com/Binnette.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bookcases-delivrez\n\n**Data last updated on: 2025-03-01**\n\nPublic bookcases extracted from delivrez.fr\n\n![Bookcases count history](assets/bookcases_count_history.png)\n![Bookcases distribution pie](assets/bookcases_distribution_pie_chart.png)\n\n## ⚠️ DO NOT IMPORT INTO OPENSTREETMAP! ⚠️\n\nDo not import directly in OSM. Verify each bookcase in person before adding it to OSM.\n\n## How to Use the Data\n\nUse the data to display bookcases in OsmAnd, JOSM, uMap, and more. Visit them in person and add or update them on OpenStreetMap.\n\n### Using OsmAnd\n\n**Note:** To avoid lag, do not use `bookcases.gpx` file. Instead, use the region-specific GPX files, such as `Bretagne.gpx`.\n\n1. Open the `bookcases` folder for the latest data.\n2. Download a region-specific GPX file (e.g., `Bretagne.gpx`).\n3. Copy the GPX file to your device.\n4. Open OsmAnd.\n5. Go to Favorites.\n6. Use the **+** (import) button.\n7. Select the GPX file.\n8. Bookcases are now displayed on the map.\n\n\u003cimg alt=\"Bookcases in OsmAnd\" src=\"./assets/OsmAnd.png\" height=\"30%\" width=\"30%\"\u003e\n\n### Using JOSM\n\n1. Open the `bookcases` folder for the latest data.\n2. Download the `bookcases.geojson` file.\n3. Open JOSM.\n4. Use the Open File button.\n5. Select the `bookcases.geojson` file.\n6. Bookcases are now displayed on the map.\n\n## How to Update the Data\n\n1. Install the necessary Python libraries:\n    ```sh\n    pip install beautifulsoup4 fake_useragent geojson matplotlib pandas selenium shapely\n    ```\n2. Run `1_fetch_bookcases.py` to fetch and create `bookcases.geojson`.\n3. Run `2_filter_by_region.py` to split the bookcases into GeoJSON files for each French region.\n4. Run `3_create_OsmAnd_gpx.py` to convert each GeoJSON file into an OsmAnd GPX file.\n\nThe script will create `geojson` files in the new folder.\n\n- `bookcases.geojson` contains all bookcase\n- `giveboxes.geojson` contains all give boxes\n- `edibles.geojson` contains location of Incredible Edibles\n- `seedboxes.geojson` contains location of sesboxes\n\nYou will find in folder `region` all POI filtered by region.\n\n## About region files in asset folder\n\nYou can add your own 'regions' in the `asset/region` folder.\nFor example another country, etc.\n\nTo do so:\n\n1. Create or find a shape (geojson or other)\n1. Open your shape with JOSM\n1. Select your shape in JOSM\n1. In the menu, click on '**Create a multipolygon**'\n1. Export your layer as `geojson` file\n\nNote, if you use a geojson file as a region, you have to convert it as a multipolygon with this technique.\nOtherwise GeoPandas will not be able to parse them correctly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinnette%2Fbookcases-delivrez","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinnette%2Fbookcases-delivrez","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinnette%2Fbookcases-delivrez/lists"}