Modify

Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#2801 closed enhancement (fixed)

Display junction nodes with a different style à la Potlatch

Reported by: pov Owned by: ulfl
Priority: minor Milestone:
Component: Internal mappaint style Version:
Keywords: Cc:

Description

Even though I don't like potlatch interface and find edition with it cumbersome, I think one thing is great in its latest incarnation: the way it display junction with a different style. I tried to look at the source but couldn't really find where the rendering happens. If you don't find time to do it, a pointer as to where to look at would be also appreciated.

Attachments (3)

junction_nodes.patch (4.7 KB) - added by anonymous 10 years ago.
First attempt of a junction nodes mappaint patch
Screenshot-JOSM-Node.png (115.9 KB) - added by bastiK 10 years ago.
suggestion
Screenshot-JOSM-nodes-notFilled.png (122.9 KB) - added by bastiK 10 years ago.
Not filled (for comparison)

Download all attachments as: .zip

Change History (16)

comment:1 Changed 10 years ago by anonymous

Component: CoreInternal mappaint style
Owner: changed from team to ulfl

comment:2 Changed 10 years ago by ulfl

Clarify: Potlatch displays small black rectangles around each junction of a selected way (where two or more ways meet). This is detected by "geometry", no special tagging needed/used. Sounds useful to detect unintentionally unconnected/connected ways while editing.

To Develop: The display part should be easy, as selected nodes are already displayed in a special way. I currently don't know if it's easy/fast to detect which nodes should be displayed in this special way.

comment:3 Changed 10 years ago by anonymous

I too think this is a very useful feature in potlatch, and perhaps the feature I miss most when using JOSM. Particularly when trying to fix some of the many connectivity bugs, as e.g. shown by OSM inspector's routing layer.

I had a quick look at the code and from first looks, it does look quite easy to do. So I have created a patch that seems to work. The information about if it is a junction comes from the getReferrers() call on the node class, so it should be reasonably fast. But I am completely unfamiliar with JOSM's code, so I have no idea if this is solved in the correct way, or how many layers of abstraction it breaks. But hopefully someone can use it as a basis and merge a proper solution.

Changed 10 years ago by anonymous

Attachment: junction_nodes.patch added

First attempt of a junction nodes mappaint patch

comment:4 Changed 10 years ago by bastiK

The way it is implemented seems ok.

But it looks quite strange on the map, we should find another style.

Changed 10 years ago by bastiK

Attachment: Screenshot-JOSM-Node.png added

suggestion

comment:5 Changed 10 years ago by bastiK

If we fill all nodes, it doesn't look that bad. (See screenshot.)

Changed 10 years ago by bastiK

Not filled (for comparison)

comment:6 Changed 10 years ago by pov

I'm not really fond of neither styles even though the second one is a lot less heavy. Could we work something out with a different color style or something? Or Maybe just make the node a bit bigger just not that much bigger.

comment:7 Changed 10 years ago by pov

God am I rude! I didn't say thanks for the work you did!

comment:8 Changed 10 years ago by anonymous

I agree, it looks a little odd sometimes. Originally I thought it was due to the middle node not centered, as the size isn't divisible, but from your screen shots that doesn't seem to be the case. The all filled does indeed look better, so perhaps that is acceptable?

I think it wouldn't be bad to have a certain amount of consistency between potlatch and josm with respect to this kind of visualisation, so that more people are likely to recognize what these "obscure" patterns symbolise. Hence, why I slightly prefer the square surrounding of the nodes, rather than something else like bigger nodes.

But personally I am not too fussed about the style though, as long as it is possible to easily distinguish nodes that are connected from those that aren't.

Later on, it might even make sense to distinguish the cases further, as there are still a couple of conditions that aren't easily visible. (e.g. crossings, where three ways are connected, but the fourth one isn't. Or highways connected to landuse areas rather than the other highway underneath the area.) But that definitely would need more thought and I think it is best to see what impact this change has first and if it helps improve the connectivity data-quality problem.

comment:9 Changed 10 years ago by bastiK

I applied your patch with a few modifications: [3159]

Now it draws 5x5 pixel nodes for junction nodes (instead of 3x3 for normal nodes).

Tagged nodes without symbol are now filled, so both drawing styles are orthogonal.

Generally I agree that consistency is nice, but in this case we shouldn't force it.

PS: Why not add a nick next time? I was wondering whether pov was anonymous, but now I know he isn't.

comment:10 Changed 10 years ago by anonymous

It looks like there are some problems with it after all.

I just got the following exception

org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive must be part of the dataset: {Node id=-1542 version=0 V lat=49.6032807106894,lon=6.555280467900632}

at org.openstreetmap.josm.data.osm.OsmPrimitive.checkDataset(OsmPrimitive.java:169)
at org.openstreetmap.josm.data.osm.OsmPrimitive.getReferrers(OsmPrimitive.java:946)
at org.openstreetmap.josm.data.osm.Node.isJunctionNode(Node.java:200)

I will try and see if I can reproduce it and see what goes wrong, but it might be that you can identify the problem quicker.

comment:11 Changed 10 years ago by bastiK

Resolution: fixed
Status: newclosed

I think the bug wasn't caused, but revealed by the change.

Please open another report when you are able to reproduce the problem.

comment:12 Changed 10 years ago by anonymous

Yes, it does look like it simply reveals another bug, so I have opened ticket #4815, as it does appear to be reproducable.

I don't think I will be able to help investigate though, as this seems beyond my understanding of the JOSM code at the moment.

comment:13 Changed 10 years ago by anonymous

btw, thanks for merging. Apart from that bug, it seems to be working well. Although, I do wonder, if the difference between 5x5 and 3x3 is too small for people to notice if they don't know this feature yet. I have set my preferences to 7x7 which feels like a better compromise to me between visibility and disturbing other aspects by being too prominent.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain ulfl.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.