[Tagging] Width of shop frontage

Laurence Penney lorp at lorp.org
Tue Nov 23 15:23:08 GMT 2010


On 23 Nov 2010, at 05:47, Steve Bennett wrote:

> On Tue, Nov 23, 2010 at 7:57 AM, Laurence Penney <lorp at lorp.org> wrote:
>> I think it would be particularly useful to demonstrate that the whole of a row of shops has been surveyed. After taking account of the units tag, any gaps in a line of nodes - on a fully surveyed street - could be taken to be private houses or empty space.
> 
> If that's the most compelling use case, surely there are more direct
> ways of indicating this, like a note=*? I can't see how a renderer
> could ever make use of the units=* tag, so it's essentially only for
> other mappers anyway?

I am indeed thinking of other mappers rather than renderers.

One reason I'd like it in a predictable place (either units=* or width=*) is to facilitate an app whose purpose is to populate all the shops along a street.

For example, it would be nice to gather all the shops along Oxford Street:

http://www.openstreetmap.org/?lat=51.514746&lon=-0.146429&zoom=18&layers=M

My imagined app would first work out what street one was walking along using GPS. Let's say it determined you were walking east along Oxford Street. It would then divide the area around you into segments:

* North side: Marylebone Lane to Vere Street
* North side: Vere Street to Chapel Place
* North side: Chapel Place to Old Cavendish Street
* South side: Sedley Street to Woodstock Street
* South side: Woodstock Street to New Bond Street
* South side: New Bond Street to Dering Street

It would detect (or ask you to declare) which segment you are in, and then suggest you add POIs for all the shops by presenting a list of blank slots. It might start off with a default ~7m shop unit width, adjusting the width-per-unit as more nodes are placed into the space. Declaring a shop as width=2 units would get the node placed in the middle.

Here's a before & after:


|-------------- SS2
|
|
|
M
|
|
|
|-------------- SS1
|

Let's say, as you walk north up road M, the app determines there are 7 shop units available between sidestreet SS1 and sidestreet SS2. It presents 7 input boxes for you (prefilling some with any shop POIs found).

|-------------- SS2
| N5
| 
| N4
M 
| N3
| N2
| N1
|-------------- SS1
|

Here's the same street after I've walked up it, filling in 5 of the 7 boxes with shop POIs (marked N1..N5). For shop N4, I've declared width=3 units (perhaps by dragging an input box larger in the app's UI), so the node is placed in the middle of the space it takes up on the ground.

Regarding using addr:housenumber for this, it's not going to work where the numbers increase non-linearly, which is nearly everywhere. Also won't work where the large buildings (which might be themselves 3 or 5 shop units wide) have numbers. Shopping malls are problematic too - the numbers for the shop units are often difficult to find out. I'd also like to map half-units and one-third-units, which are quite common - and share a housenumber.

Regarding using the building outline, I'm not convinced it's useful to add buildings where you cannot see the back.

One cool thing about such an app would be that its main UI would not be a map, just a list of input boxes. Mobile mappers would NOT be placing dots on maps - something I've tried (and hate) with Mapzen POI Collector. Having a 2D UI for this kind of POI placement is suboptimal! The two dimensions of node location, which needless to say are easily converted to latlong, are: interpolation between sidestreet junctions with the main street, and a default "distance of shop frontage from road centre" with override.

I can't think of any quicker way to survey entire streets of shops into OSM. Is anyone else interested in developing such an app?

- L




More information about the Tagging mailing list