Modify

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?

  1. Create a node with addr:housenumber and addr:substreet but without addr:street
  2. 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 taylor.smock, 16 months ago

Owner: changed from team to anonymous
Status: newneedinfo

I'm reading the wiki page on addr:substreet and addr:parentstreet.

It sounds like the following address:

451 SubMain Street
Main Street

would have the tags:

addr:housenumber=451
addr:substreet=SubMain Street
addr:parentstreet=Main Street

Although it looks like addr:substreet could be the addr:street tag. I really need a better explanation of why addr: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.

comment:2 by osmuser63783@…, 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.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as needinfo The owner will remain anonymous.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from anonymous to the specified user. Next status will be 'new'.
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 remain 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.