This repository contains scripts for analyzing and validating cinema data for the Clusterflick project. These scripts help discover new venues, validate cinema IDs, and check coordinate accuracy.
Install dependencies:
npm installThis will install the scripts package from GitHub along with other required
dependencies.
Some scripts require environment variables. Copy the example file and fill in your values:
cp .env.example .envThen edit .env with your API keys:
MAPS_API_KEY=your_google_maps_api_keyThese scripts check that cinema IDs in the database match the IDs used by cinema chain websites.
npm run check:cineworld-ids # Validate Cineworld cinema IDs
npm run check:curzon-ids # Validate Curzon cinema IDs
npm run check:everyman-ids # Validate Everyman cinema IDs
npm run check:myvue-ids # Validate MyVue cinema IDs
npm run check:odeon-ids # Validate Odeon cinema IDs
npm run check:omniplex-ids # Validate Omniplex cinema IDs
npm run check:picturehouse-ids # Validate Picturehouse cinema IDsnpm run check:coordinates # Validate cinema coordinates using Google Maps APIRequires MAPS_API_KEY environment variable.
These scripts discover new venues from event platforms that may need to be added to the cinema database.
npm run discover:designmynight # Discover venues from DesignMyNight
npm run discover:dice # Discover venues from Dice.fm
npm run discover:eventbrite # Discover venues from Eventbrite
npm run discover:outsavvy # Discover venues from Outsavvy
npm run discover:ticketsource # Discover venues from TicketSourceThese scripts find potential new cinemas from external data sources.
npm run find:openstreetmap # Find cinemas from OpenStreetMap data
npm run find:mycommunitycinema # Find cinemas from MyCommunity Cinema
npm run find:independentcinemaoffice # Find cinemas from Independent Cinema Office
npm run find:pearl-and-dean # Find cinemas from Pearl & Deannpm run generate:map # Generate a KML map file of all cinemasThe data/ directory contains reference data files:
London_GLA_Boundary.geojson- GeoJSON boundary of Greater Londonopenstreetmap.json- Cinema data exported from OpenStreetMapmycommunitycinema.json- Cinema data from MyCommunity Cinemaindependentcinemaoffice.json- Cinema data from Independent Cinema Office
This project uses the scripts package
as a dependency. The scripts package provides:
scripts/common/utils- Utility functions (readJSON, fetchText, fetchJson, etc.)scripts/common/geo-utils- Geographic utilities (isInLondon)scripts/common/cache- Caching utilities (dailyCache)scripts/common/distance-in-km-between-coordinates- Geo calculationsscripts/common/source-utils- Source matching utilitiesscripts/cinemas- Cinema data access (getAllCinemaNames, getCinemaAttributes, etc.)scripts/sources- Event source access (getSourceDiscoverVenues, etc.)
MIT