Opened 6 years ago

Last modified 6 years ago

#18959 closed enhancement

JOSM should store and use the information that parents were downloaded — at Version 4

Reported by: skyper Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: parents download information Cc:

Description (last modified by skyper)

Follow up from #18528, see GerdP in comment 19.

Best would be to store this information in a new flag.

  • Currently, JOSM does not store information that parent objects where downloaded which can lead to additional traffic.
  • There a many situations where the download area is used to determine if all parents of an object have been downloaded which is not the best solution in many situations.

I know this is quite some work and might need some time. Thanks in advance.

Use case / Example

  • download parents
  • all split and combine way actions
  • validator test with parent relations involved
  • to be continued

Change History (4)

comment:1 by Don-vip, 6 years ago

Priority: majornormal

comment:2 by Klumbumbus, 6 years ago

Summary: JOSM should store and use the information that parents where downloadedJOSM should store and use the information that parents were downloaded

comment:3 by GerdP, 6 years ago

My thoughts:

  • Let's assume we implement a new flag PARENTS_KNOWN and new getter/setter methods like boolean parentsKnown() / void setParentsKnwon(boolean flag)
  • Let's assume that the flag is set to true for all objects which are downloaded from a server that makes sure that parents are complete:
    1. Retrieving map data by bounding box: GET /api/0.6/map or the corresponding overpass query
    2. the Download Parents action would set the flag for the object for which the parents were retrieved
  • This would allow to improve all actions which change objects in a way that parents might be corrupted, esp. split / join actions. Those actions would ask for confirmation that missing informaion should be downloaded if the flag is not set.
  • When we load a file from disk (either in OSM format or something else which is converted to OSM) and this file contains one or more bounding boxes (bounds) we have to decide if the data within those bounds is considered complete or not. Several tools like osmfilter or even a simple text editor allow to change or remove data in the file. We use this to producde test data. So, to stay on the safe side we might decide to distrust any data loaded from disk, means, the new flag would not be set. Obviously this could cause confusion when mappers save their work to disk and reload it. Validator results might change.
  • We would need a new file format that allows to store the flag. Without such a possibility we will not be able to reproduce certain situations when debugging or testing. The format should also contain a checksum.

comment:4 by skyper, 6 years ago

Description: modified (diff)
Keywords: parents download information added
Note: See TracTickets for help on using tickets.