Opened 11 years ago

Closed 11 years ago

[PATCH] Another way of computing merged node location

Reported by: Owned by: *Martin* team normal Core latest

Description

Hello

I've implemented third way how to compute location of the merged node. Please see my attached patch.

1. First way is to use location of the last selected node.
2. Second way is to average locations of all selected nodes.
3. Third way is to do weighted average where nearby nodes have lower weight than remote.

This behavior can be controlled by `merge-nodes.mode` property (0, 1, 2). I would like to create a GUI control in preferences to enable its easy setup, but I am not sure what tab should it belong to.

the patch

comment:1 Changed 11 years ago by stoecker

Summary: Another way of computing merged node location → [PATCH] Another way of computing merged node location

comment:2 Changed 11 years ago by bastiK

You cannot do average on lat/lon coordinates, use EastNorth space or 3D instead.

What is the weighted average supposed to do, exactly?

comment:3 follow-up:  4 Changed 11 years ago by *Martin*

You cannot do average on lat/lon coordinates, use EastNorth space or 3D instead.

Could you please help me with this? For two nodes I am able to find the formula but for more than two I am not successful. In any case results are very good for small distances (eg. 100km and less).

Visual example, (.) represents node:
Classic merge:

```Input : ...                       .
Result:        .
```

Weighted merge:

```Input : ...                       .
Result:             .
```

comment:4 in reply to:  3 Changed 11 years ago by bastiK

You cannot do average on lat/lon coordinates, use EastNorth space or 3D instead.

Should be easy: Just use candidates.get(i).getEastNorth(); and new Node(EastNorth en).

In any case results are very good for small distances (eg. 100km and less).

But still, it just looks wrong. :-)

Visual example, (.) represents node:
Classic merge:

```Input : ...                       .
Result:        .
```

Weighted merge:

```Input : ...                       .
Result:             .
```

Changed 11 years ago by *Martin*

improved patch using NorthEast

comment:5 Changed 11 years ago by *Martin*

Attached improved patch. Is it better now? :-)

optimized patch

comment:6 Changed 11 years ago by bastiK

Resolution: → fixed new → closed

In [4315/josm]:

applied #6696 - Another way of computing merged node location (patch by Martin Ždila)

Modify Ticket

Change Properties