Source London

From OpenStreetMap Wiki
Jump to navigation Jump to search

Source London ( is a potential datasource for charging points for EV vehicles in London


I am hoping to load the charging points from all the service providers into OSM subject to permission. I feel that with the forthcoming rapid transition to non-fossil fuel based vehicles that charging points will become as important an element of transport infrastructure as petrol stations. I notice that there are already other charging point map services, and that another volunteer attempted to start an import from OpenChargeMap, but encountered problems with the licensing.

I am hoping that the individual companies will be willing to release their own datasets that they maintain as part of their operational requirements and which they usually make public on their websites.

I emailed the two companies that supply the infrastructure near me in London, Source London and Ubitricity. I've since heard of two other companies that run charging points in London. As there is a relatively small number I think the task of importing their data will be technically straightforward. I also hope that they can be considered an authoritative source for the location and status of their charge points.

Seeking permission

As mentioned above, I emailed Source London and Ubitricity. I did not receive a reply from Ubitricity and will follow that up later. Source London responded positively.

Below is an extract of correspondence I've had with their corporate@ email address:

Steven Hirschorn - 2020/06/20

The map is contributed to by thousands of volunteers around the world, and the data is made available free to the world under the open database license, and in many areas, it is now more complete than proprietary maps from other providers. You can see the edits I've already made to OpenStreetMap here - over 900 edits so far.

I am one of the volunteers and you can see the charging stations I've manually added to the map for my local area here: . Charging stations are one of the object types that make it into the main map rendering and I think it will really encourage the take up of EV cars and of the subscription services like Source London to make the location of charge points as widely known as possible. The data is also available to GPS providers so will make it easier for people to find their nearest charge point. For this reason I am contacting all EV Charging providers I find out about.

If you were willing to make the dataset available, it would be published by OpenStreetMap under the OpenDB License. There are also two options for making it available - you could send me an export of your database of charging points for me to import as a once-off task, or if you have a public API of charging points I could undertake to update the data every 3-6 months.

Source London Corporate - 2020/06/30

We are delighted to hear that you are trying to increase the visibility of charge points on OpenStreetMap and will be able to share our charge point location data with you to help facilitate this.

Source London Corporate - 2020/08/07

Apologies for the delay in responding to your message. We can confirm that we authorise you to extract the data from our station map as the data is live and accurate.

Other Licensing Concerns (Current stumbling block)

One more consideration brought up in the talk-gb mailing list:

It is possible that the initial data from SourceLondon is licence tainted as they manually created the points by using Google Maps. This would block a straight import, but might allow for a conflation exercise.[1]

I have contacted Source London again to attempt to establish how the location of the nodes was determined. Presumably this restriction on derived work also extends to other mapping providers.

One option would be to import notes into OSM and ask local mappers to use their own tools (eg Vespucci) to place the nodes on the map, deleting the notes as they go.[2]

Technical considerations

Obtaining an initial dataset

Though they initially offered to send a dataset, their original proposal was to send one with an accuracy to the nearest postcode area. I can tell that the data on their map is more accurate than that. In follow up emails they accepted my offer to extract the charging points from the map on their public website, which I've done by extracting the JSON returned in the background from the map XHR. It's not GeoJSON, but I could easily convert it with a Python script.

Data quality

Taking a random sample point on Store Street, it is visible in Google StreetView (not that we would use that for mapping purposes!) The location in SourceLondon's map has this on the other side of the road outside the way University of Law, Bloomsbury. The node charging station exists in OSM but has a single amenity=charging_station tag and no operator.

It is likely that the points in SourceLondon's list are current.

Keeping the data up to date

I've not found any documentation about the API, though I suspect this would be a preferable way of extracting the data for updates. Having failed to get a dataset directly from the supplier, I'm not hopeful of getting documentation for the API or an API key and that might be stretching my Python skillz anyway. However, each node has a unique ID assigned by Source London which I presume are assigned permanently, so doing a periodic update should be possible.

The technical process of conflation

From a quick glance, OSM already has about 255 charging points in the bounding box of the Source London data, though many of them will be from other providers, so 25% is the upper bound of nodes that would need to be reconciled because the Source London data has ~1000 nodes. I'd welcome advice on the conflation process. eg. I presume I'd need to work out which nodes were already there, whether to adjust their position and metadata to match the Source London data, whether to add a note on those that have conflicting data for someone to survey locally, whether to record the Source London ID within the metadata (seems like a good idea to simplify future reconciliation during updates)

The OSM Conflator Python tool has been recommended for this task in the talk-gb mailing list[3]

See Also