Import/ParkMoto UK Motorcycle Parking
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
- Receive FOI response (CSV, XLSX, or other format)
- Parse the data and extract: street name, coordinates (if provided), bay type, restrictions, fee status
- If no GPS coordinates provided, geocode street names via Nominatim
- If coordinates are in British National Grid (BNG), convert to WGS84 using pyproj
Step 2: Gap Analysis
- Query Overpass API for existing motorcycle parking bays in the borough
- Compare council bays against OSM bays using 50-metre matching radius (haversine distance)
- Identify bays in the council data that do not exist in OSM ("missing bays")
Step 3: Spot Check
- Select 6 bays at random from the missing bays list, spread across different areas of the borough
- Verify each bay exists using Mapillary street-level imagery or personal ground survey
- If accuracy is below 90%, investigate data quality before proceeding
- 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
- Generate an .osm file from the missing bays data using a Python script
- Open the file in JOSM
- Review the data visually
- Upload with a descriptive changeset comment and source attribution
- 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:
- addr:postcode changed to postal_code (240 Camden bays, changeset 181825218). UK convention is to use postal_code for non-addressable objects.
- 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
- 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.
- Use postal_code, not addr:postcode for non-addressable objects like parking bays (UK convention).
- Do not use addr:street on parking bays. They are not addressable objects.
- Use Mapillary or ground surveys for verification, not Google Maps.
- Get OGL confirmation in writing from each council after receiving FOI data.
- 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)