Easily map individual parking spaces using the terracer plugin in JOSM

Posted by PlaneMad on 7 March 2016 in English (English).

Made this gif around a year ago for someone asked me how to trace parking spaces. After trying different methods and plugins, I found this to be the simplest workflow:

Is there a quicker way? please share.

Comment from Stereo on 7 March 2016 at 20:09

You can save the second line by using the extrude mode (X), then alt-dragging the first line down.

Comment from stephan75 on 7 March 2016 at 20:46

Hello PlaneMad, when I have finished ALL tasks in the tools listed on for my local area, I will consider to start some micro mapping of parking lots … not earlier … :-)

Comment from RobJN on 7 March 2016 at 22:40

Would have to adapt the Terracer plugin to make it quicker (to remove need to remove building tag and add amenity tag). Good animation as always :-)

Comment from pizzaiolo on 8 March 2016 at 14:55


Comment from Chetan_Gowda on 9 March 2016 at 14:50

This is awesome @PlaneMad.

Comment from DaCor on 9 March 2016 at 18:33

not dismissing your work, but I think my way is easier and a lot more in line with the norm

Map the whole parking area as amenity=parking

Thats it. 1 polygon/closed way

If I know the info, I will add capacity, operator etc

I’m not sure I see any benefit in mapping spaces to this level of detail (and I’m a lover of micromapping)

One major downside is the visual clutter it would create due to the amount of Parking icons appearing on the map

Comment from seav on 3 April 2016 at 08:47

@DaCor, there would be no visual clutter because the tag is amenity=parking_space, not amenity=parking.

Comment from mirror176 on 23 January 2020 at 11:14

oops, meant to comment here instead of at the source so pasting here too… A plugin called gridify can help make slightly shorter work of that; draw a box (I use building tool), check/change tags, use gridify to split in # of rows ‘and’ columns. I then select the spaces and the general parking area and add both (should I just do spaces only?) to a relation of type=site and site=parking. Seems to work nicely on the slanted parking slots too though you need to start from a paralellogram even if you sloppily make a box and add a couple nodes then delete the excess from the corners or grab 2 of the nodes on one side and slide them to get your slant.

Comment from LogicalViolinist on 19 March 2021 at 14:21

I use building tool: 1 time setup: go to Data>Set Building size>Advanced>[Set all relavent parking tags there I want by default]

  1. Trace outline of two rows with building tool(B)
  2. trace middle lane with way tool(A).
  3. select middle way, then split(alt+x)
  4. trace each parking spot top to bottom while connecting to middle
  5. Select the new ways and the middle node and split the ways (P)
  6. Select each line one by one and split then(alt+x)

Comment from mirror176 on 19 March 2021 at 22:54

Though you can do that, if spaces are evenly divided, the example above requires drawing 12 less lines and does not require all the split operations as gridify does all that work for you. When I do longer or curved parking and notice distortions then I will manually break it up into smaller chunks (=occasional use of step 4+6 but on groups of spaces) then apply gridify to each chunk. This also works with angled spots where cars enter only in one direction. I also sometimes ignore the current ‘paint’ and divide the area as its likely intended figuring after a while it all gets repainted/paved and the next try will likely be better; areas for that are usually bordered by curbs. If it seems less bounded then I may copy the paint as is now. To deal with the missing spaces on the ends I usually map as if they were there so other spaces line up right and delete the fakes after to get more consistent dimensions on the spaces. Adding the single end spaces later would also work but seems like more work to add a 4+ node area after then to delete an area. I will usually add lines/nodes temporarily if helps with alignment then delete when done if they weren’t a further part of the object. One example area I worked on (and need to do a lot more) with angled spaces is but I can find others again if desired.

Login to leave a comment