Modify

Opened 3 months ago

Last modified 3 months ago

#23852 new enhancement

Warn about width=0

Reported by: Famlam Owned by: team
Priority: normal Milestone:
Component: Core validator Version:
Keywords: template_report width Cc:

Description

What steps will reproduce the problem?

  1. Validate any of the 8516 ways with width=0

What is the expected result?

A warning that width=0 is a very unlikely width of anything

What happens instead?

No warning

Please provide any additional information below. Attach a screenshot if possible.

There's 8516 ways with width=0, of which 7452 in combination with highway and 964 in combination with waterway. It seems at least some of them were added due to an old bug of iD (and possibly the number grows due to ways getting split).
A width of 0 is physically impossible: an object cannot exist at 0 width (in a 3-dimensional world)

Possible rules to warn against these kind of cases:

way[width=0] {
  throwWarning: tr("unusual value of {0}", "{0.key}");
}

or, to include unit support:

way[width][siunit_length(tag("width")) = 0] {
  throwWarning: tr("unusual value of {0}", "{0.key}");
}
Revision:19160
Build-Date:2024-08-01 15:31:59

Identification: JOSM/1.5 (19160 nl) Windows 10 64-Bit
OS Build number: Windows 10 Home 22H2 (19045)
Memory Usage: 315 MB / 2012 MB (17 MB allocated, but free)
Java version: 21.0.4+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920x1080x32bpp@60Hz (scaling 1.10×1.10)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: Cp1252
Locale info: nl_NL
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.19160, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=%UserProfile%\AppData\Local\JOSM\JOSM.exe]

Plugins:
+ OpeningHoursEditor (36258)
+ imagery_offset_db (36289)
+ measurement (36256)
+ pbf (36282)
+ pt_assistant (637)
+ reverter (36256)
+ tageditor (36298)
+ turnlanes-tagging (0.0.5)
+ undelete (36298)
+ utilsplugin2 (36298)

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Potlatch2&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
+ %UserProfile%\Documents\tijdelijke bestanden\josm-eigen.mappaint.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1

Validator rules:
+ %UserProfile%\Documents\tijdelijke bestanden\josm-eigen.validator.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/SuspiciousSwimming_Pool&zip=1
+ https://raw.githubusercontent.com/osm-fr/osmose-backend/master/plugins/TagFix_Destination.validator.mapcss
+ https://raw.githubusercontent.com/osm-fr/osmose-backend/master/plugins/Colour.validator.mapcss
+ https://raw.githubusercontent.com/osm-fr/osmose-backend/master/plugins/notprefix.validator.mapcss
+ https://raw.githubusercontent.com/osm-fr/osmose-backend/master/plugins/TagFix_MultipleTag2.validator.mapcss
+ https://raw.githubusercontent.com/Famlam/OsmMapcssValidationNL/main/netherlands.validator.mapcss

Last errors/warnings:
- 00001.310 W: extended font config - overriding 'filename.Malgun_Gothic=malgun.ttf' with 'MALGUN.TTF'
- 00001.312 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF'
- 00001.313 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
- 00002.437 E: java.security.KeyStoreException: Windows-ROOT not found. Oorzaak: java.security.NoSuchAlgorithmException: Windows-ROOT KeyStore not available

Attachments (0)

Change History (3)

comment:1 by skyper, 3 months ago

Well, I would have expected that iD at least would have implemented a validation in responds to its bug.

Overall, most of the tags with numeric values could probably be checked against a value of 0. You already mentioned lanes=* but

come to my mind and probably even

Last edited 3 months ago by skyper (previous) (diff)

comment:2 by Famlam, 3 months ago

I'm always afraid to touch height-related values, but yes, the others should be fine to add too if you wish (although some have very low occurrences). I just picked the one with a very large occurance and no questionable items.

P.s. for the list, maxaxleload too

Last edited 3 months ago by Famlam (previous) (diff)

comment:3 by skyper, 3 months ago

Yes, there is/was some cheating with height for 3D buildings but a value of 0 makes no sense.

Even with low occurrences it might make sense to add them as it might help users to prevent uploading data with these tags in first place.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to Famlam.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.