Opened 16 months ago
Last modified 15 months 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 (2)
comment:1 by , 16 months ago
Owner: | changed from | to
---|---|
Status: | new → needinfo |
comment:2 by , 15 months 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.
I'm reading the wiki page on
addr:substreet
andaddr:parentstreet
.It sounds like the following address:
would have the tags:
Although it looks like
addr:substreet
could be theaddr:street
tag. I really need a better explanation of whyaddr:substreet
is 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.