Skip to content

Repository files navigation

🇬🇧 English | 🇮🇹 Italiano

ALCAMPETTO — Basketball courts in Milan

🏀 Basketball courts in Milan

A photographic atlas of free-access basketball courts in Milan and surrounding areas.

Browse the atlas →

For each court, the following data points are available:

  • geographic details: address and GPS coordinates;
  • court features: number of hoops, three-point line, fencing, lighting;
  • qualitative notes on the condition of hoops and court surface;
  • photo gallery: from two to five images per court;
  • freshness indicator (green if data is less than 12 months old, yellow between 12 and 24 months, grey if older).

Contribute

Found a court that's missing? Report it through the contribution form.

Before opening a pull request, please open an issue first to discuss your idea and get feedback from the maintainer.

Note on images

The images in this repository are web-optimized (resized and converted to webp format) to ensure smooth browsing. They are not intended as high-resolution prints.

Photography protocol

All images are captured following a standardised protocol to ensure consistency and comparability across courts.

General conditions

  • Time of day: morning, preferably early (soft light, empty courts). Photos taken later in the morning are also accepted, provided lighting conditions are adequate.
  • Court: empty, no people in frame.
  • Light: natural. Overcast or clear sky both acceptable. Avoid harsh midday direct light.
  • Equipment: DSLR or mirrorless camera (RAW files preferred). Smartphones are accepted as a secondary option; photos may be replaced in the future with higher-resolution shots.

The 4 standard shots

Photography protocol — shooting positions

# Name Position Subject
1 Overview Least obstructed corner, eye level Full court in frame, landscape orientation
2 Hoop 1 Free-throw line, central axis of the paint Hoop, backboard and part of the paint
3 Hoop 2 Free-throw line, opposite end Same as photo 2, mirrored
4 Surface Centre court, standing upright Camera pointing straight down (nadir); centre circle and half-court line in frame

Documented exceptions

  • The 4 standard shots may be supplemented — never replaced — by additional photos documenting particular conditions of the court.

Dataset version

Current version is 0.4.0. At this stage of the project (0.x), compatibility with previous versions of the JSON structure is not guaranteed.

Data schema

Each court is described by a JSON object. Fields are grouped by category.

Identification

Field Type Description
id string Unique court identifier (e.g. "001").
created string Date the record was first created, YYYY-MM-DD.
updated string Date of the last update, YYYY-MM-DD.

Location

Field Type Description
address string Street or square nearest to the court.
city string Municipality name (e.g. "Milano", "Sesto San Giovanni").
district string|null Administrative subdivision (e.g. "Municipio 8"). null for municipalities without subdivisions.
coordinates object Geographic position with lat and lng (WGS 84).

Court features

Field Type Description
hoops integer Number of hoops (typically 1, 2 or more).
surface string Materials used for the surface. (property collected but not yet exposed)
half_court boolean true if the court is a half court only.
three_pt_line boolean true If a three-point line is marked on the surface.
fenced boolean true If the court is enclosed by a fence.
lit boolean true If the court has lighting for evening play.

Media and text

Field Type Description
audio string|null Path relative to the project root to the file audio recorded on the court.
photos array Array of photo surveys, ordered from most recent to oldest. Each element is an object with the fields described below. photos[0] is always the current survey.
photos[].date string Date of the survey, YYYY-MM-DD.
photos[].overview string|null Wide-angle photo. Path relative to the project root.
photos[].context string|null Context photo (optional).
photos[].details array Array of close-up photos. See photography protocol section.
i18n object Localised text, keyed by ISO 639-1 language code (it, en, …). Each language provides nome (court name) and note (free-text description).

Example

{
    "id": "001",
    "created": "2026-03-30",
    "updated": "2026-04-16",
    "address": "Giardino Sergio Vieira de Mello",
    "city": "Milano",
    "district": "Municipio 8",
    "coordinates": {
      "lat": 45.49409,
      "lng": 9.1173
    },
    "hoops": 2,
    "surface": "cemento",
    "half_court": false,
    "three_pt_line": true,
    "fenced": false,
    "lit": true,
    "audio": "audio/001/001-beat.mp3",
    "photos": [
      {
        "date": "2026-04-16",
        "overview": "photos/001/2026-04-16/overview.webp",
        "context": "photos/001/2026-04-16/context.webp",
        "details": [
          "photos/001/2026-04-16/hoop-1.webp",
          "photos/001/2026-04-16/hoop-2.webp",
          "photos/001/2026-04-16/surface.webp",
          "photos/001/2026-04-16/benches.webp",
          "photos/001/2026-04-16/flyer.webp",
          "photos/001/2026-04-16/shopping-cart.webp",
          "photos/001/2026-04-16/noticeboard.webp",
          "photos/001/2026-04-16/auth-1.webp"
        ]
      },
      {
        "date": "2026-03-30",
        "overview": "photos/001/2026-03-30/overview.webp",
        "context": null,
        "details": [
          "photos/001/2026-03-30/hoop-1.webp",
          "photos/001/2026-03-30/hoop-2.webp"
        ]
      }
    ],
    "i18n": {
      "it": {
        "nome": "Campetto di Giardino Sergio Vieira de Mello",
        "note": "Campetto in buono stato, presenta ben undici panchine lungo i lati. Sette piccoli lampioni ai lati dovrebbero garantire l'illuminazione notturna. Un canestro senza retina. Uno stallo per sei posti bici a bordo campo."
      },
      "en": {
        "nome": "Giardino Sergio Vieira de Mello Basketball Court",
        "note": "Court well mantained, with eleven benches along its sides. Seven small court lights on the sides should provide nighttime illumination. One rim without net. A six-space bike rack right beside the court."
      }
    }
  }

License

This project uses different licenses for different components:

Component License Applies to
Codice sorgente EUPL-1.2 README, .js, .html, .css, .json-schema files
Dati (JSON) CC BY 4.0 all data files (*.json)
Foto e audio CC BY-NC-ND 4.0 all photographs and audio files

Originally the whole project was under a single MIT license; on 18 April 2026 it was split into the component-specific licenses listed above. From v0.5.0 the source-code component moves from MIT to the EUPL-1.2 (European Union Public Licence): releases up to and including v0.4.0 remain available under MIT — a license already granted cannot be revoked — while v0.5.0 and later are under the EUPL-1.2. Photographs and audio were always subject to copyright law regardless of the license applied to the software component.


Code is generated with the assistance of Claude AI

About

Al campetto è un atlante fotografico dei campi di pallacanestro accessibili a Milano e dintorni. https://alcampetto.org/

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages