← back to map

Methodology

How this map of New York City houses of worship was built — sources, limits, and what it does and doesn't show.

Data source

Every point on the map comes from OpenStreetMap (OSM), queried through the Overpass API and refreshed monthly. The query pulls every feature tagged amenity=place_of_worship inside the New York City administrative boundary (OSM relation 175905):

[out:json][timeout:180];
area(3600175905)->.nyc;
(
  node["amenity"="place_of_worship"](area.nyc);
  way["amenity"="place_of_worship"](area.nyc);
  relation["amenity"="place_of_worship"](area.nyc);
);
out center tags;

That returned 2,847 features inside the five boroughs. (An earlier version of this map used a bounding box and pulled in ~1,300 sites from Newark, Jersey City, Hackensack, Yonkers, and Nassau County — those have been removed.)

Classification

OSM tags each place of worship with a religion value (e.g., christian, jewish, muslim) and, optionally, a denomination (e.g., catholic, baptist, orthodox). The processing script (process.py) maps those raw values to eight top-level groups — Christian, Jewish, Muslim, Buddhist, Hindu, Sikh, Other, Unknown/unspecified — and to a curated list of denomination labels.

Notable classification choices:

What this map is

What this map is not

Known limitations of OSM tagging

Reproducing this map

Three files: overpass-query.txt (the Overpass query), process.py (classification + reduction), and index.html (the Leaflet front end). Run:

curl -X POST -d @overpass-query.txt https://overpass-api.de/api/interpreter -o raw.json
python3 process.py     # writes data.json
# then serve the folder over HTTP

Better sources for specific traditions

← back to map