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:

FieldRequiredDescriptionExample
neighborhoodYesNeighborhood name (English)Baka
nameYesShelter identifierShelter 681
addressYesStreet address (without city)8 Efrayim St.
shelter_typeYesOne of the allowed types (see below)Public Shelter
capacityNoNumber of people it can hold80
operatorNoWho operates the shelterJerusalem Municipality
latitudeYesLatitude (must be 31.7–31.9)31.75959347
longitudeYesLongitude (must be 35.1–35.3)35.2189683
accessibleNoWheelchair accessible? yes or nono
notesNoAny additional infoEntrance from courtyard

Shelter Types

  • Public Shelter — Standard public bomb shelter
  • Protected Parking — Underground parking converted to protected space
  • Residential Protected Parking — Residential building protected parking
  • School 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

  1. Fork this repository
  2. Add rows to data/shelters/community.csv (or create a new CSV in data/shelters/)
  3. Run the validation script: python scripts/validate.py
  4. 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.