<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 7, 2017 at 1:43 AM, Frederik Ramm <span dir="ltr"><<a href="mailto:frederik@remote.org" target="_blank">frederik@remote.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 03/07/2017 02:06 AM, Kevin Kenny wrote:<br>
> There are reasonable use cases for wanting to take a timezone name and<br>
> get back a multipolygon<br>
<br>
</span>Question is, does (the core database of) OSM have to fulfil these use cases!<br></blockquote><div><br></div><div>It at least has to hold the geodata needed for a client to satisfy them. If it turns out that relations are The Wrong Thing, do we at least have consensus that time zones are made up of administrative regions, whose boundaries are a proper subject for OSM? (Time zone boundaries at the level of detail demanded by tzdata are hard to obtain for many places; this is a need that OSM could fill.)<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="">
> or to get a list of name and multipolygon for<br>
> all the timezones (or all the timezones on a given map). That's hard to<br>
> do unless there are relations for the timezones. Not impossible, we<br>
> could query administrative boundaries for the tag, but that's likely to<br>
> be SLOW since the tag will at best be in hstore and not indexed.<br>
> Grouping disjoint items, such as "all the administrative regions in a<br>
> time zone" seems tailor-made for relations.<br>
<br>
</span>In my opinion, no. We've been there - people (ab)using relations like<br>
some kind of bookmark, to make data retrieval easier (e.g. a relation<br>
"all cycleways in XY city" just because it was slow/difficult to<br>
retrieve them otherwise).<br></blockquote><div><br></div><div>"All cycleways in XY city" is a very bad example, because PostGIS can do that easily without relations. I do that sort of thing all the time, using ST_Intersects queries. That doesn't work too well at the continental level, though!<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
You would typically use a relation to group things when they can be in<br>
more group than one, and therefore tagging the membership on the<br>
individual object becomes cumbersome - cycle, bus, or hiking routes are<br>
a prime example, since the same street/way can be part of several of them.<br>
<br>
Not so with time zones, I should hope; a region can only be associated<br>
with exactly one (not 0, not more than one) time zone. Hence adding a<br>
time zone tag to the object is the easiest way to maintain the data and<br>
to ensure that you don't accidentally have two!<br>
<br>
I agree it might make things a little more difficult for the consumer<br>
but an overpass query can quickly find every boundary relation tagged<br>
with a certain time zone, and I'm sure sooner or later specialist sites<br>
will take the data and prepare daily updated json files or whatever that<br>
one can overlay on a map.<br>
<span class="im HOEnZb"></span><br></blockquote></div><br></div><div class="gmail_extra">Hmm... thinking here. The relation types I use most often are multipolygon (not so much to group things, as to deal with shapes of complex topology), route (no doubt the many-to-many example that you were thinking of) and group - where there is a named object that is made up of components: chains of lakes and archipelagoes come to mind. It struck me as if a time zone was a similar thing to an archipelago: a named object made up of countries, states, counties, whatever... non-overlapping component regions. But maybe simply tagging administrative regions with their time zone names, and having validators in places like JOSM to test for overlaps, will be good enough.<br><br></div><div class="gmail_extra">As long as we have consensus that the administrative boundaries of time zones, however structured, are proper subject material for OSM, I'm reasonably content. I can add rules to my import of OSM data if I must, to produce correctly-structured auxiliary tables.<br><br></div><div class="gmail_extra">Nevertheless, I think we need to consider the common use cases of: <br><br>(1) a map that wants to render time zone boundaries. I once did the operator interface for the central control room of a very large television broadcast network, and a map showing the locations of affiliate stations and their timezones was a key component.<br><br></div><div class="gmail_extra">(2) a navigation system that wants to warn a driver or passenger that it's time to change the clock.<br><br></div><div class="gmail_extra">(3) a system that can take a map click and answer the question of "what time is it in this place?"<br><br></div><div class="gmail_extra">just as a sanity check that the data model is adequate in principle to answer those questions. <br><br>We can presume that the rules for calculating "what time is it" are out of scope. The question OSM has to answer is "what rule set applies in place XXX?" and "where does the rule set named YYY apply?"<br><br></div></div>