Proposal:Displacement

From OpenStreetMap Wiki
Jump to navigation Jump to search
Displacement
Proposal status: Abandoned (inactive)
Proposed by: Florio Pal
Applies to: node relation
Definition: Defines a recording of location shift for easier mapping.
Draft started: 2014-04-01


Usage


Rationale

The demand for indoor mapping is rising, but with limited editor support it is extremely difficult for newbies to map buildings with multiple levels.

This proposal presents a simple and efficient way to editing problems, by dissolving the third dimension into the second; instead of stacking things on top of each other, we draw them next to each other.

New Tags

This proposal introduces a new relation type called "displacement". The relation has no tags (other than type=displacement), and has the following members:

Type Role Recurrence? Discussion
node source one an existing node that serves as the displacement base (e.g. corner of building)
node destination one the displaced copy of the source node; source and destination together form the

displacement vector, the reverse of which must be applied to all members of the relation except the "source" node.

node displaced 0..n all nodes that form the displaced object must be part of the relation so that

software processing the data knows that it must be moved back.

This proposal also introduces a new tag namespace, called "displaced:*", whereby any existing tag can be prefixed with "displaced:" to shield it from applications that do not know about displacement operations.

How to use

This example shows how to create a new floor for an existing building. First, you select an existing building:

Select a building

Then you insert a copy of it and place it into a free space, removing the entrance node:

Create a copy and place it in a free space (remove entrace node)

The copy can be placed in any free space on the map. If you are mapping near the coast, maybe move the copy out to sea where it is not in the way.

Now, prefix existing tags with displaced: to avoid mis-interpretation:

Prefix tags with displaced: to avoid mis-interpretation

Finally, create a displacement relation:

Create the displacement relation

When creating the displacement relation it is important to have one source and one destination node that will allow for the reversal of the displacement by rendering software. Source and destination nodes are illustrated by the green arrow in the picture.

Of course the above is just the beginning, you would then continue with indoor-mapping the ground and first floor. More floors can be created in the same way as long as there is space.

Outlook

In order to more efficiently use the available space, an extended type of relation could be defined that not only allows displacement but also scaling. Then, several floors of one building could be drawn at 1:10 scale or so inside the building, and software would scale things back to normal. I am planning to submit a proposal for that around the same time next year.