Import/ParkMoto UK Motorcycle Parking

From OpenStreetMap Wiki
Jump to navigation Jump to search

Background

ParkMoto is a free motorcycle parking finder for London ([[1]]). This page documents the process used allowing imports of motorcycle parking bay data from London borough councils into OpenStreetMap using Freedom of Information (FOI) requests.

The import added 797 motorcycle parking bays across four London boroughs between April and May 2026.

OSM account: Parkmoto

Contact: support@parkmoto.london

Data Sources

Borough Source Format Coordinates Licence Bays Added
Camden Open data portal (opendata.camden.gov.uk) CSV WGS84 lat/lon OGL v3.0 (explicit on portal) 240
Tower Hamlets FOI response (ref 70162195) XLSX Street names only (geocoded via Nominatim) OGL v3.0 (confirmed in writing) 69
Lambeth FOI response (ref IRN45053076, EIR 2004) CSV Street names only (geocoded via Nominatim) OGL v3.0 (confirmed in writing) 313
RBKC FOI response (ref 21112885) CSV British National Grid (converted via pyproj) OGL v3.0 (confirmed in writing) 171

Note: Tower Hamlets explicitly stated GPS coordinates were subject to third-party rights and did not provide them. Street names were geocoded via Nominatim.

Licensing

  • Camden data is published under OGL v3.0 on their open data portal.
  • Each FOI request explicitly asked for data to be released under OGL v3.0.
  • Tower Hamlets, Lambeth and RBKC confirmed OGL v3.0 re-use in writing via email.
  • OGL v3.0 is compatible with OSM's ODbL (Open Government Licence).

I have the Written email confirmation of OGL v3.0 re-use permissions from the following boroughs and am more than happy to provide these upon request.

FOI Request Template

The following template was sent to each borough's FOI team. I'm assuming it can also be adapted for other UK councils.

Dear [Borough] FOI Team,

We are writing to make a request under the Freedom of Information Act 2000.

What we are asking for:
Please send us the council's current list of designated motorcycle parking bays
in the London Borough of [Borough]. For each bay, please include the following
where you hold it:

1. Location: GPS coordinates (latitude and longitude in WGS84, or British
   National Grid eastings and northings) and the street or site name.
2. Capacity: the number of motorcycle parking spaces in the bay.
3. Bay type: solo-motorcycle only, shared with mopeds or scooters, or shared
   with another vehicle type.
4. Restrictions: any time-of-day, day-of-week, or permit-based rules.
5. Fee status: free, paid, or permit-only. If paid, the payment method
   (PayByPhone code, RingGo code, or a physical meter).
6. Postcode, where you hold it.
7. Last updated date, where you hold it.

We are only asking for information you already hold. You do not need to run
new surveys or create information that does not exist.

Format preference:
Under Section 11 of the Act, please send the data in a reusable electronic
format. In order of preference: CSV (UTF-8), GeoJSON, Excel (XLSX),
Shapefile (zipped with .prj file).

Please do not send the data as a PDF or scanned images (note: this was specifically stated as I didn't want to be swarmed with converting formats and so on).

Licence:
We would like the data released under the Open Government Licence v3.0.

Kind regards,
[Your name/project]

Tips for FOI Requests

  • Some councils handle parking data under the Environmental Information Regulations 2004 (EIR) rather than FOIA 2000. This is normal for geographic/environmental data.
  • Some councils may not hold GPS coordinates. Street names are sufficient and can be geocoded without much difficulty.
  • Some councils may ask for your full name under Section 8(1)(b). Pseudonyms were and can be rejected.
  • Response deadlines are 20 working days under Section 10(1) of FOIA 2000. Keep a calendar for these so you can send follow-up emails if required.
  • After receiving the data, send a follow-up email asking/requesting the council to confirm OGL v3.0 licensing. This provides written documentation. I personally did this and was provided the written email confirmaiton.

Import Methodology

Step 1: Data Processing

  1. Receive FOI response (CSV, XLSX, or other format)
  2. Parse the data and extract: street name, coordinates (if provided), bay type, restrictions, fee status
  3. If no GPS coordinates provided, geocode street names via Nominatim
  4. If coordinates are in British National Grid (BNG), convert to WGS84 using pyproj

Step 2: Gap Analysis

  1. Query Overpass API for existing motorcycle parking bays in the borough
  2. Compare council bays against OSM bays using 50-metre matching radius (haversine distance)
  3. Identify bays in the council data that do not exist in OSM ("missing bays")

Step 3: Spot Check

  1. Select 6 bays at random from the missing bays list, spread across different areas of the borough
  2. Verify each bay exists using Mapillary street-level imagery or personal ground survey
  3. If accuracy is below 90%, investigate data quality before proceeding
  4. Results across four boroughs: 94-100% accuracy

Note: The OSM community recommends against using Google Maps or Google Street View for verification. Use Mapillary, personal surveys, or other OSM-compatible sources instead. The initial Camden import in this project used Google satellite imagery for spot-checking before this guidance was received from the community. All subsequent imports (Tower Hamlets, Lambeth, RBKC) used Mapillary and personal ground surveys.

Step 4: JOSM Import

  1. Generate an .osm file from the missing bays data using a Python script
  2. Open the file in JOSM
  3. Review the data visually
  4. Upload with a descriptive changeset comment and source attribution
  5. Request review on every changeset

Tags Used

Tag Value Notes
amenity motorcycle_parking Standard tag
source [Borough] Council FOI response (OGL 3.0) Or "open data" for Camden
fee yes / no Based on council data
capacity [number] Where provided by council
opening_hours [hours] Where restrictions apply
postal_code [postcode] NOT addr:postcode (motorcycle bays are not addressable objects)

Tags NOT used:

  • addr:postcode - not appropriate for non-addressable objects (see Key:postal_code)
  • addr:street - not appropriate for non-addressable objects
  • name - motorcycle bays do not have individual names

Tag Corrections Made

During the import process, community feedback identified two tagging errors:

  1. addr:postcode changed to postal_code (240 Camden bays, changeset 181825218). UK convention is to use postal_code for non-addressable objects.
  2. addr:street removed (745 bays across all boroughs, changeset 182873216). addr:street is for addressable objects only.

Quality Assurance

  • 6 random bays spot-checked per borough before upload (94-100% accuracy across all four)
  • Review requested on every changeset
  • Community feedback incorporated (postcode tag convention, addr:street removal)
  • OGL v3.0 licensing confirmed in writing for Lambeth and RBKC, explicit on portal for Camden

Changesets

Changeset Borough Bays Type Date
181454614 Camden 240 Bulk import April 2026
181692301 Tower Hamlets 69 Bulk import April 2026
181825218 Camden 240 Tag correction (postcode) April 2026
182359976 Lambeth 313 Bulk import May 2026
182853493 RBKC 171 Bulk import May 2026
182873216 All 745 Tag correction (addr:street) May 2026

Lessons Learned

  1. Follow import guidelines before uploading. This import was done without prior community consultation. Future imports will follow the full process including discussion on the imports mailing list.
  2. Use postal_code, not addr:postcode for non-addressable objects like parking bays (UK convention).
  3. Do not use addr:street on parking bays. They are not addressable objects.
  4. Use Mapillary or ground surveys for verification, not Google Maps.
  5. Get OGL confirmation in writing from each council after receiving FOI data.
  6. Council policies change independently of data. Camden introduced parking charges months after the data was imported. Regular policy checks are needed.

Community Feedback

This import received feedback from the OpenStreetMap community which led to corrections:

  • eastender identified the addr:postcode vs postal_code convention (corrected in changeset 181825218)
  • r/openstreetmap community identified addr:street usage, attribution format, and licensing documentation gaps (all corrected)

Future Work

  • All four borough datasets now have OGL v3.0 confirmed in writing
  • Additional London boroughs may be added if open data or FOI responses become available
  • Any future imports will follow the full Import/Guidelines including:
    • Wiki documentation created before importing
    • Post to the Community Forum with the import tag
    • Community consultation period before uploading
    • Dedicated import account (already in use)
  • All future spot-checks will use Mapillary or personal ground surveys
  • Import data and scripts available on request (contact support@parkmoto.london)

See Also