Opened 2 years ago
Last modified 7 weeks ago
#23192 needinfo defect
Do not warn "House number without a street" when there is addr:substreet
| Reported by: | anonymous | Owned by: | anonymous |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Core | Version: | |
| Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- Create a node with addr:housenumber and addr:substreet but without addr:street
- Perform data validation
What is the expected result?
No validator warning.
What happens instead?
The validator raises a warning that "House number without a street".
Please provide any additional information below. Attach a screenshot if possible.
In the UK house numbers can refer to a street e.g. 4 Ratho Street or they can refer to a different entity, e.g. 4 Allermuir Cottages, Ratho Street. It has been agreed that the latter situation should be mapped as addr:housenumber=4, addr:substreet=Allermuir Cottages, addr:parentstreet=Ratho Street. (See also https://wiki.openstreetmap.org/wiki/Addresses_in_the_United_Kingdom)
In this situation the JOSM validator raises the warning "House number without a street" because the object has addr:housenumber but not addr:street. This warning should not be raised when the object has addr:substreet.
Revision:18822 Build-Date:2023-08-30 11:52:18 Identification: JOSM/1.5 (18822 en_GB) Mac OS X 12.6.3 OS Build number: macOS 12.6.3 (21G419) Memory Usage: 913 MB / 2048 MB (296 MB allocated, but free) Java version: 17.0.8+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM Look and Feel: com.apple.laf.AquaLookAndFeel Screen: Display 69733824 1440×900 (scaling 2.00×2.00) Maximum Screen Size: 1440×900 Best cursor sizes: 16×16→16×16, 32×32→32×32 System property file.encoding: UTF-8 System property sun.jnu.encoding: UTF-8 Locale info: en_GB Numbers with default locale: 1234567890 -> 1234567890 VM arguments: [-Djpackage.app-version=18822, --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.apple.eawt=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=/Applications/JOSM.app/Contents/MacOS/JOSM] Dataset consistency test: No problems found Plugins: + apache-commons (36034) + ejml (35924) + geotools (36068) + jackson (36034) + jaxb (36118) + jts (36004) + opendata (36126) + utilsplugin2 (36134) Last errors/warnings: - 00004.512 W: Update plug-ins - You updated your JOSM software. To prevent problems the plug-ins should be updated as well. Update plug-ins now? - 02363.198 W: org.openstreetmap.josm.data.osm.search.SearchParseError: Unexpected token: <equals>
Attachments (0)
Change History (3)
comment:1 by , 2 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → needinfo |
comment:2 by , 2 years ago
You are right, and some mappers would use street + parentstreet e.g.
addr:housenumber=451 addr:street=SubMain Street addr:parentstreet=Main Street
But what do you do when the thing in addr:street is not a street? It could be a business or retail park, a building or a small group of buildings (examples).
Some mappers propose using addr:street anyway but that is semantically wrong and leads to issues, for example Nominatim expects the thing in addr:street to also exist as a street. Some use addr:place but addr:place has been widely misused in the UK to mean addr:suburb (i.e. as something that comes after the street, not instead of it). Therefore addr:substreet has been invented.
If you want to read the full rationale it is here.
Time will tell what mappers prefer. I am suggesting this change only because I hope it's only a small code change - not to raise the validator warning when addr:substreet is present, same as how the validator warning isn't raised when addr:place is present.
comment:3 by , 7 weeks ago
Some use addr:place but addr:place has been widely misused in the UK to mean addr:suburb (i.e. as something that comes after the street, not instead of it
Another option would be to have extra tag recording whether this was verified to not be a problem.
Or "just" fixing bogus addr:place
Inventing new tagging scheme just for UK and expecting everyone to support it seems clearly inferior.
And tagging substreet without having street tagged is just absurd and bogus.
Validator warning here is right and points out that some use broken tagging scheme.
Warning: I am not from UK



I'm reading the wiki page on
addr:substreetandaddr:parentstreet.It sounds like the following address:
would have the tags:
Although it looks like
addr:substreetcould be theaddr:streettag. I really need a better explanation of whyaddr:substreetis needed. Please keep in mind that I do not live in the UK, so I don't understand the UK addressing system, and I may be generating an address that is invalid for the UK.