JOSM/Mapillary

Add Filter for Mapillary Traffic Sign layer

blackboxlogic opened this issue · 8 comments

Thanks for maintaining this plugin.

I'd like a way to filter the traffic signs that are loaded by the plugin on the Traffic Signs layer. The layer seems designed for "what signs are at this location" and I want more of "where are the one-way signs".

I poked at https://tiles.mapillary.com/maps/vtp/mly_map_feature_traffic_sign/2/ but I didn't find any documentation for the endpoint.

I'm currently trying to hack at mapcss to change the appearance of filtered signs, please save me from myself.

It looks like this feature already exists, adding a picture here for the next person.
JOSM -> Window -> Mapillary Filter
image

FTR: The way that the filter works is it adds a filter to Mapillary Expert Filter, which works exactly the same way that the Filter dialog works.

FYI, after setting a filter, I'm finding that newly loaded tiles are showing all signs and the filter must be toggled off/on to be effective.
But this is a minor inconvenience and the filter feature is exactly what I needed. Thank you.

@tsmock why if i select all the 'maxspeed' signs they are the ones that get hidden, and not the only ones that are shown?

Look like filter works in the opposite way that it should

@ireun there's a check box toward the right labeled like "show selected" which seems to have an inverting effect on the filters. I was able to get my desired effect by clicking around enough, but yes, the operation was not intuitive.
It was easier to work from the advanced filter screen.

Ohh I didn't notice that there is 'Mapillary Expert Filter' windows, thanks! Still I think what I said in previous comment could be fixed.

@tsmock i think all that should be done is negate the filter or add a - in front of it

-value:"speed-limit" shows only maximum-speed-limit signs

I'm yet to understand date filtering for traffic signs, is it even possible?

In web UI it is simple:

image

Yet I have no idea how to achieve the same in JOSM. I've tried sth like last_seen_at < 2022-01-01 but either it shows me all signs, or none at all. I've tried using 'hide' 'negate' all other options that can be done in filter

@ireun : The Mapillary filter dialog has a section where there is First Seen Start, First Seen End, Last Seen Start, and Last Seen End. This is a bit more complex than the Mapillary website filter, but what it allows is the following:

  • Object must have been first seen between 2020-01-01 and 2020-01-31
  • Object must have been last seen between 2023-12-01 and 2023-12-31
  • Object must have been first seen after 2020-01-01
  • Object must have been first seen before 2020-01-01
  • Object must have been last seen after 2023-12-01
  • Object must have been last seen before 2023-12-31

Alternatively, you can use the Mapillary Expert Filter. To see the full list of keys you can filter on, add Mapillary Images and Point Features (from the JOSM imagery list; you will probably have to go into imagery settings for it), select the appropriate layer (in this case, mapillary-traffic-signs-source), wait for the download to finish, right-click on the layer and Convert to OSM data (Expert mode enabled).

Quick rundown of the keys you might want to filter on:

  • first_seen_at (time since epoch in milliseconds)
  • last_seen_at (time since epoch in milliseconds)

If you've got feedback on the Mapillary Filter dialog, I would be more than happy to hear it. I would appreciate it if you could tell me everything that is unintuitive so I can fix it all at once (to have a single release where things change, instead of 20).

Please open a separate ticket for that though.