JLM Shelters Data
February 20, 2026 · View on GitHub
Community-maintained dataset of public bomb shelters and protected spaces in Jerusalem, Israel.
This repository serves as the data pipeline for JLM Shelters — a map-based web app that helps Jerusalem residents locate their nearest shelter during emergencies.
Why This Exists
The City of Jerusalem publishes shelter data, but it can be incomplete, outdated, or missing shelters entirely. This repo lets anyone contribute shelter locations, corrections, or additional details to improve coverage for all residents.
Data Format
Shelters are stored as CSV files in data/shelters/. Each row represents one shelter with the following fields:
| Field | Required | Description | Example |
|---|---|---|---|
neighborhood | Yes | Neighborhood name (English) | Baka |
name | Yes | Shelter identifier | Shelter 681 |
address | Yes | Street address (without city) | 8 Efrayim St. |
shelter_type | Yes | One of the allowed types (see below) | Public Shelter |
capacity | No | Number of people it can hold | 80 |
operator | No | Who operates the shelter | Jerusalem Municipality |
latitude | Yes | Latitude (must be 31.7–31.9) | 31.75959347 |
longitude | Yes | Longitude (must be 35.1–35.3) | 35.2189683 |
accessible | No | Wheelchair accessible? yes or no | no |
notes | No | Any additional info | Entrance from courtyard |
Shelter Types
Public Shelter— Standard public bomb shelterProtected Parking— Underground parking converted to protected spaceResidential Protected Parking— Residential building protected parkingSchool Shelter— Shelter in a school facility
Coordinate Validation
Coordinates must fall within the Jerusalem metro area:
- Latitude: 31.7 – 31.9
- Longitude: 35.1 – 35.3
Submissions with coordinates outside this range will be rejected by the validation script.
How to Contribute
Option 1: Edit the CSV directly
- Fork this repository
- Add rows to
data/shelters/community.csv(or create a new CSV indata/shelters/) - Run the validation script:
python scripts/validate.py - Submit a pull request
Option 2: Open an issue
If you know of a shelter but don't have all the details, open an issue with whatever information you have. We'll verify and add it.
Option 3: Submit a correction
If existing data is wrong (bad coordinates, wrong address, shelter no longer exists), open an issue or PR with the correction.
Validation
Run the validation script to check your data before submitting:
pip install -r requirements.txt
python scripts/validate.py
This checks:
- Required fields are present
- Coordinates are within Jerusalem bounds
- Shelter type is a valid value
- No duplicate entries (same coordinates within 10m)
How Data Flows to the Website
This repo (community data)
↓
Merged into main dataset
↓
JLM-Shelters-Dot-Com repo
↓
scripts/parse_csv.py → PostgreSQL → generate_data.py → GeoJSON
↓
Deployed to jlmshelters.com
Maintainers periodically merge validated community submissions into the main shelter database.
License
This data is provided under ODC-ODbL — you're free to use, share, and adapt it as long as you attribute and share alike.
Related
- JLM Shelters Website — The live map
- JLM-Shelters-Dot-Com — Website source code