Modify

Opened 3 months ago

Last modified 2 months ago

#18522 new enhancement

"Automatically obtain source from current layers" does not work as expected

Reported by: YjM Owned by: team
Priority: normal Milestone:
Component: Core Version: tested
Keywords: upload changeset source Cc: taylor.smock

Description

What steps will reproduce the problem?

  1. Download some OSM data inside of the Czech Republic
  2. Add "Czech RUIAN budovy" as a template
  3. Make some changes to the map
  4. Open upload dialog and select "Automatically obtain source from current layers"

What is the expected result?

The feature will fill in expected and common "source" values for each layer.
E.g. for "Czech RUIAN budovy" its common source value is "cuzk:ruian" (see Taginfo, it's no. 10 in source's values)
For "Czech pLPIS" its common value is just "lpis" (see Taginfo again) and so on..

What happens instead?

The feature only fills in the literal names of the layers.

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

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-01-02 22:34:59 +0100 (Thu, 02 Jan 2020)
Build-Date:2020-01-02 21:52:31
Revision:15628
Relative:URL: ^/trunk

Identification: JOSM/1.5 (15628 cs) Windows 10 64-Bit
OS Build number: Windows 10 Enterprise 1903 (18362)
Memory Usage: 456 MB / 989 MB (154 MB allocated, but free)
Java version: 1.8.0_231-b11, Oracle Corporation, Java HotSpot(TM) Client VM
Screen: \Display0 1366x768, \Display1 1280x960
Maximum Screen Size: 1366x960
Dataset consistency test: No problems found

Plugins:
+ ColorPlugin (1537115529)
+ FastDraw (35256)
+ OpeningHoursEditor (35250)
+ PicLayer (35248)
+ Tracer-testing (1569951680)
+ apache-commons (35092)
+ buildings_tools (35248)
+ ejml (35122)
+ geotools (35169)
+ imagery_offset_db (35248)
+ jaxb (35092)
+ josm-batch-downloader (1.0.2)
+ jts (35122)
+ mapathoner (0.10.2)
+ markseen (14)
+ measurement (35248)
+ opendata (35248)
+ pointInfo (35248)
+ reverter (35248)
+ tageditor (35258)
+ todo (30306)
+ turnlanes-tagging (283)
+ utilsplugin2 (35248)

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://github.com/MissingMaps/josm_styles/raw/master/mm_validation.mapcss

Last errors/warnings:
- W: java.net.UnknownHostException: earthwatch.digitalglobe.com
- W: java.net.UnknownHostException: earthwatch.digitalglobe.com
- W: java.net.UnknownHostException: earthwatch.digitalglobe.com
- W: java.net.UnknownHostException: earthwatch.digitalglobe.com
- W: java.net.UnknownHostException: earthwatch.digitalglobe.com
- W: java.net.UnknownHostException: earthwatch.digitalglobe.com
- W: java.net.UnknownHostException: earthwatch.digitalglobe.com
- W: java.net.UnknownHostException: earthwatch.digitalglobe.com
- W: java.net.UnknownHostException: earthwatch.digitalglobe.com
- W: Není zvolena výchozí vrstva, vybírám první vrstvu.

Attachments (1)

18522.patch (5.0 KB) - added by taylor.smock 3 months ago.
Initial work on allowing <source> tags in imagery information, to be used when obtaining source information from layers

Download all attachments as: .zip

Change History (20)

comment:1 Changed 3 months ago by Don-vip

Cc: taylor.smock added

comment:2 Changed 3 months ago by Don-vip

Keywords: upload changeset source added

comment:3 Changed 3 months ago by skyper

Additionally:

  • Existing values are always overridden instead of only adding new ones to the existing ones.
  • Notes and Validator layers are not supported.

comment:4 Changed 3 months ago by taylor.smock

It looks like neither https://josm.openstreetmap.de/wiki/Maps/Czech%20Republic#CzechRUIANbudovy nor https://josm.openstreetmap.de/wiki/Maps/Czech%20Republic#CzechpLPIS have the common source tags. The editor-layer-index doesn't have those either, which means that Vespucci/iD/other editors also don't have it.

So, @Don-vip, do we want to add a <source> attribute to the Imagery Sources page and indicate that the <name> attribute will be used if <source> is not defined?

@skyper: The latter (notes and validator layers) could be easily added. They just have to @override the getChangesetSourceTag method. I didn't consider the former since obtain from current layers replaced the source changeset tag. I can see how that might be annoying though.

comment:5 Changed 3 months ago by stoecker

For map entries we use the id when existing, otherwise the name. ID's could be synced between different editors, but currently aren't, although we try to keep them identical for new entries.

comment:6 in reply to:  4 Changed 3 months ago by Don-vip

Replying to taylor.smock:

So, @Don-vip, do we want to add a <source> attribute to the Imagery Sources page and indicate that the <name> attribute will be used if <source> is not defined?

Indeed I think we need an additional source tag for this. The czech RUIAN is a good example as we have 2 entries (parcely and budovy) but OSM mappers seem to use a single generic "cuzk:ruian" value.

Changed 3 months ago by taylor.smock

Attachment: 18522.patch added

Initial work on allowing <source> tags in imagery information, to be used when obtaining source information from layers

comment:7 Changed 3 months ago by Don-vip

Milestone: 20.01

comment:8 Changed 3 months ago by Don-vip

Summary: "Automatically obtain source from current layers" does not work as expected[Patch] "Automatically obtain source from current layers" does not work as expected

comment:9 Changed 3 months ago by stoecker

No! No additional useless id. We already have an id and the source tag in OSM objects is deprecated anyway, so it has no meaning anymore. Use the maps id.

comment:10 Changed 3 months ago by stoecker

Summary: [Patch] "Automatically obtain source from current layers" does not work as expected"Automatically obtain source from current layers" does not work as expected

comment:11 Changed 3 months ago by Don-vip

Milestone: 20.01

comment:12 in reply to:  9 Changed 3 months ago by taylor.smock

Milestone: 20.01
Summary: "Automatically obtain source from current layers" does not work as expected[Patch] "Automatically obtain source from current layers" does not work as expected

Replying to stoecker:

No! No additional useless id. We already have an id and the source tag in OSM objects is deprecated anyway, so it has no meaning anymore. Use the maps id.

I may have misinterpreted his issue (he did reference taginfo, which AFAIK doesn't look at changeset tags, but he was specifically referring to the Automatically obtain source from current layers feature, which is for the changeset source tag).

I think the issue was that the source tag in the changeset tags isn't filled as expected, specifically for "Czech RUIAN budovy" and "Czech RUIAN parcely", where they both apparently want the same source tag (cuzk:ruian). If we were to use the id for that, then there would be two entries that are different that have the same id (not ideal for id, especially if the locality wants special characters, like :).

What the patch did was allow for cases where the id and name could not be used for the source attribute (for example, a locality updates its imagery every year, so you could have 2017, 2018, and 2019 imagery all coexistant. You don't want to get rid of older imagery, since 2018 was higher quality than 2019, and 2017 covers a larger area, but the the locality specifically wants to be attributed as locality:department with no additional information, like the year, so you cannot depend upon the name or id for the source tag). It does make it harder to know what imagery was used without a specific tag showing the id though.

I'll go ahead and change this to needinfo, since I am not conversant in how Czech wants its data sourced. Hopefully YjM knows more about that specific situation.

It did not, at any point, add a source tag to an OSM primitive, just the source in the OSM changeset.

Maybe revisit if imagery_used is ever added as a changeset tag? (#11910)

comment:13 Changed 3 months ago by taylor.smock

Owner: changed from team to YjM
Status: newneedinfo

comment:14 Changed 3 months ago by taylor.smock

Milestone: 20.01
Summary: [Patch] "Automatically obtain source from current layers" does not work as expected"Automatically obtain source from current layers" does not work as expected

comment:15 Changed 3 months ago by stoecker

Do we use the Id already when we have it? I thought that ticket was about that we use the name instead?

I don't care much what details the mappers WANT in the changeset tags. This is a technical matter and both JOSM and iD decided to use these map Ids for identification of map entries. Changesets aren't part of the database directly but metainformation, so slightly different rules apply. We e.g. also don't allow to set the user agent of JOSM.

comment:16 in reply to:  15 Changed 3 months ago by taylor.smock

Replying to stoecker:

Do we use the Id already when we have it? I thought that ticket was about that we use the name instead?

I don't care much what details the mappers WANT in the changeset tags. This is a technical matter and both JOSM and iD decided to use these map Ids for identification of map entries. Changesets aren't part of the database directly but metainformation, so slightly different rules apply. We e.g. also don't allow to set the user agent of JOSM.

I thought that it was about using a source that the providing agency required for their imagery. Again, hopefully YjM can clarify.

We don't currently use id in the changeset tags (I think #11910 was going in that direction, but with imagery_used instead of source). We do currently use name for the source tag in the changeset, which may or may not be unique, may or may not describe the imagery well, and may or may not fulfill requirements on citing the imagery. id must be unique, may or may not describe the imagery well, and may or may not fulfill requirements on citing the imagery (since it must be unique, and an agency might want to be cited for all their sources as locality:department).

comment:17 Changed 3 months ago by stoecker

name is bad, as it is different for each language and usually very long. The id is what should be used in the changesets. The id is reproducible together with the JOSM wiki and its history (or ELI for iD).

If there are special requirements for some maps, then the id should be choosen accordingly.

comment:18 Changed 3 months ago by Klumbumbus

We used to use the translated imagery name and switched to the untranslated name (which is usually in english) in #16357. iD uses the untranslated name too, but in the key imagery_used, see e.g. https://www.openstreetmap.org/changeset/79294003.

comment:19 Changed 2 months ago by Don-vip

Owner: changed from YjM to team
Status: needinfonew

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set.
to The owner will be changed from team to the specified user.
The owner will change to YjM
as duplicate The resolution will be set to duplicate.The specified ticket will be cross-referenced with this ticket
The owner will be changed from team to anonymous.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.