Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation does not help for validation intersect error #68

Closed
speppercorn opened this issue Apr 18, 2019 · 3 comments
Closed

Documentation does not help for validation intersect error #68

speppercorn opened this issue Apr 18, 2019 · 3 comments
Milestone

Comments

@speppercorn
Copy link

speppercorn commented Apr 18, 2019

At one time, I had Yellowknife overlapping with Cambridge Bay forcing a "Validation error: ... intersects ... area: ###" error which is now not happening anymore since I had to remove Cambridge Bay from being downloaded at all, see below. The documentation for this error says:
"If the area should be allowed to overlap, then an entry for the zone overlaps should be defined in the expectedZoneOverlaps.json file." How would this entry be defined? I see a "bounds" field with two sets of longitude/latitude (yes, reversed from the normal latitude/longitude). How are these values arrived at? Is there any easy way to plot these polygons and fix them and then write out the fixed file? My only option now is to remove one or both of the files, which is irritating as my dataset is then not complete. As of now, it looks like someone is trying to fix Cambridge Bay since I did not get this malformed data error before for this timezone.

Also, the following is a question as well as another documention issue, basically what is the contact information for anybody at OpenStreetMap to inform about files throwing errors?

Trying to regenerate the shape files so I have all correctly generated using 'node --max-old-space-size=8192 index.js', I have two "Invalid geojson received in Overpass Result" errors, forcing me to remove these timezones and boundaries from the json in order to continue. I understand these are problems with the actual OpenStreetMap data. Can you tell me who I could contact to get these files fixed? Is there any way for me to easily fix them myself?

getting data for Cambridge Bay-tz; Downloading progress: 14.3% done - 0.0 seconds left
downloading from overpass
waiting 4 seconds
Success, decreasing overpass request gap
combining border
Invalid geojson received in Overpass Result
Overpass query: [out:json][timeout:60];(relation["timezone"="America/Cambridge_Bay"];);out body;>;out meta qt;
saved problem file to Cambridge Bay-tz_convert_to_geom_error.json
To read more about this error, please visit https://git.io/vxKQq
done
error! [ { message: 'the first and last positions in a LinearRing of coordinates must be the same',
    line: 5 },
  { message: 'the first and last positions in a LinearRing of coordinates must be the same',
    line: 10973 },
  { message: 'the first and last positions in a LinearRing of coordinates must be the same',
    line: 28797 },
  { message: 'the first and last positions in a LinearRing of coordinates must be the same',
    line: 29045 } ]`
getting data for Rankin Inlet-tz; Downloading progress: 70.2% done - 0.0 seconds left
downloading from overpass
waiting 4 seconds
Success, decreasing overpass request gap
combining border
Invalid geojson received in Overpass Result
Overpass query: [out:json][timeout:60];(relation["timezone"="America/Rankin_Inlet"];);out body;>;out meta qt;
saved problem file to Rankin Inlet-tz_convert_to_geom_error.json
To read more about this error, please visit https://git.io/vxKQq
done
error! [ { message: 'the first and last positions in a LinearRing of coordinates must be the same',
    line: 4 } ]

Thanks.

@speppercorn
Copy link
Author

following up with additional tests. The databases produced by ZoneDetect now show the lat/long for Rankin or Cambridge Bay as not being in any zone, so this removes coverage.

@evansiroky
Copy link
Owner

Well, looks like some OSM editors failed to properly add all ways to the Cambridge Bay timezone relation after making some edits. Here is what the relation looks like when fetched from Overpass Turbo:

Screen Shot 2019-04-19 at 3 41 15 PM

The relation must be fixed in OSM by manually adding back all of the affected ways to the Cambridge Bay timezone relation. Unfortunately, OSM relations get corrupted like this all the time even for very important relations - I've had to fix the USA/Canada border once! I typically use JOSM to do this and here is a video that includes using the relation editor that might help.

As there hasn't been a new timezone database release since 2019a, I'm not able to make this a priority for myself right now. If at all possible, I'd recommend downloading a dataset from the releases because, as you have observed, OSM data corruption issues routinely break the builder script.

@evansiroky evansiroky added this to the Next release milestone Jun 5, 2019
@evansiroky
Copy link
Owner

I just fixed both the Cambridge Bay and Rankin Inlet relations in OpenStreetMap. Turns out the border for Serbia also had this issue, so I fixed that as well! I also recorded and made a video of my fixing the Cambridge Bay timezone and added it to the wiki. Hope this helps in the future.

How to fix broken relations in OpenStreetMap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants