[talk-ch] import of parking spaces in the city of Zürich

Fabian Stillhart fabian_stillhart at hotmail.com
Sun Jun 26 17:03:03 CEST 2022


I'm not a fan of the current state of public parking spaces in Zürich. Most of them are missing 🙂. During my research I found a list of all public parking spaces in Zürich. They are licensed under Creative Commons CCZero .
Therefore I'm interested in importing all these parking spaces, somehow.

Here is the link to the data source

Some data examples as GeoJSON:

,{"geometry":{"coordinates":[8.499601,47.37671],"type":"Point"},"id":"view_pp_ogd.43991","properties":{"art":"Blaue Zone","gebuehrenpflichtig":"nicht gebührenpflichtig","id1":206191.0,"objectid":43991.0,"parkdauer":60},"type":"Feature"}
,{"geometry":{"coordinates":[8.535288,47.373082],"type":"Point"},"id":"view_pp_ogd.43912","properties":{"art":"Zeitweise Taxi, zeitweise Güterumschlag","gebuehrenpflichtig":"nicht gebührenpflichtig","id1":190586.0,"objectid":43912.0,"parkdauer":null},"type":"Feature"}
,{"geometry":{"coordinates":[8.539875,47.377323],"type":"Point"},"id":"view_pp_ogd.47834","properties":{"art":"Nur für Taxi","gebuehrenpflichtig":"nicht gebührenpflichtig","id1":10275.0,"objectid":47834.0,"parkdauer":null},"type":"Feature"}
 ,{"geometry":{"coordinates":[8.537184,47.366241],"type":"Point"},"id":"view_pp_ogd.43915","properties":{"art":"Weiss markiert","gebuehrenpflichtig":"gebührenpflichtig","id1":185332.0,"objectid":43915.0,"parkdauer":120},"type":"Feature"}
,{"geometry":{"coordinates":[8.542311,47.381361],"type":"Point"},"id":"view_pp_ogd.47838","properties":{"art":"Nur mit Geh-Behindertenausweis","gebuehrenpflichtig":"nicht gebührenpflichtig","id1":10279.0,"objectid":47838.0,"parkdauer":null},"type":"Feature"}

My background: A programer who recently got started in OSM.

Now, there is a large amount of work to be done, things to be considered, issues to be solved and learnings to be made. Here are some points that I am thinking about:

  1.  There are nearly 49'000 parking spaces in this dataset. The dataset is from 2019, therefore it will contain outdated information.
  2.  The parking spaces are marked as points. I can see that parking spaces can be added as points and as areas. Personally I would prefer areas. Do we have any preference here? I think the map could suffer a lot if we suddenly have that many points in the map.
     *   https://photos.app.goo.gl/L3ydi3a5gWiNbTEG9

  1.  What happens to continous parking spaces along the street? Again, I think it would be better to have them as areas. But in this example, there is an outgoing path in between them.
     *   https://photos.app.goo.gl/oDi1GR7cJyiMDTkP7

  1.  Zürich has the concept of blaue Zone. Locals can park there with a residence parking card for an unlimited time. The card is bound to the zip code of the home address. So as a person living in 8055, I can park in all blaue Zone parking spaces in 8055. All blaueZone parking spaces in 8055 are marked as 8055 with a street sign. I am not aware of any edge cases. Therefore I really would like to add some label to mark these as blaueZone:8055 or similar. This should be easily possible using some zip code map.
  2.  Most/(all?) blaue Zone parking spaces are outdoor, therefore I would prefer to start with them.
  3.  I was not able to find enough information about some kind of half manual import pipeline. I would like to do it somehow like this:
     *   I want to take the raw data
     *   Extend it with additional information like the zip code.
     *   Convert it into a format that can be read by some kind of OSM client. (Which format to use? I would have guessed OsmChange<https://wiki.openstreetmap.org/wiki/OsmChange>)
     *   Split the dataset into usefull batches and process each of them like this:
     *   Do some kind of automated conflict resolution. There is an already existing parking space? Mark it and put the data point a separate list.
     *   Maybe let me preview each change and press "yes" or "later".
     *   Verify each completely missing point with a satellite image, fortunately we have a high enough resolution to see such lines. Again, edge cases should be marked and put into a separate list.
        *   https://photos.app.goo.gl/PVWrxQnmA76mg8Jp7
     *   Maybe, step c should provide a standardized rectangle area instead of a point. For example 2x4 Meter. Then I could rotate the parking space in the client and maybe connect it with endpoints from other parking spaces.
     *   Export these small batch of changes from this unknown OSM client and upload it.
     *   Proceed with the next batch at step d.
  4.  I mentioned above some separate lists of edge cases. How would I continue with these?
     *   Delete the current data and replace it? I think it would be sad if I remove areas and replace them with points.
     *   I would need some way to query OSM for each datapoint.
     *   It would be nice to add labels like parkdauer and "art" to existing parking spaces. Again, I would need to query OSM for each parking point, see if there is a parking area underneath it, check it's labels and build an OsmChange which contains the additon of these labels.
  5.  I discovered JOSM. Do you think it is the "right" client to do this?
  6.  Personally I do like the iD client. Sadly I can't find a way to bring a set of OsmChange's into iD and then using it's awesome conflict resolution tool. Any idea?
  7.  It will be many days of work to verify all changes. I would prefer to use a really really fast client which let's me fly through each change with some shortcuts.

So, that was a lot. What are your thoughts and opinions? How would you approach this problem?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.ch/pipermail/talk-ch/attachments/20220626/95da9ede/attachment-0001.htm>

More information about the talk-ch mailing list