Skip to content
Norbert Renner edited this page Jan 27, 2016 · 3 revisions

Example of overlapping changesets (#10) for CS 27169290 (timeout) and 27169302: two nodes created, then modified.

Summary

Achavi is not showing the two created notes of CS 27169290.

  • Changeset timestamps
    <changeset id="27169290" ... created_at="2014-12-02T00:01:56Z" closed_at="2014-12-02T01:02:13Z" ...>
    <changeset id="27169302" ... created_at="2014-12-02T00:02:35Z" closed_at="2014-12-02T00:02:35Z" ...>
    27169290 was edited in Potlatch and closed automatically after a timeout of one hour. The following 27169302 closed immediately and falls within the timestamp range of the first
  • The actual changes are first create in CS 27169290 then modify in CS 27169302 (nodes moved)
    <create><node id="3215109947" changeset="27169290" timestamp="2014-12-02T00:01:56Z" version="1" visible="true" user="..." uid="2146151" lat="46.0793512" lon="14.4970048">
    <modify><node id="3215109947" changeset="27169302" timestamp="2014-12-02T00:02:35Z" version="2" visible="true" user="..." uid="2146151" lat="46.0793619" lon="14.4970154">
    (It's the same for both nodes, just showing the first as an example here)
  • but the Achavi adiff query [adiff:"2014-12-02T00:01:55Z","2014-12-02T01:02:13Z"] for 27169290 only returns aggregated changes as changeset 27169302 (type="create" + version="2"), which is filtered out client-side
    <action type="create"><node id="3215109947" lat="46.0793619" lon="14.4970154" version="2" timestamp="2014-12-02T00:02:35Z" changeset="27169302" uid="2146151" user="...">
  • the last edit of 27169290 was at timestamp="2014-12-02T00:02:13Z":
    <create><node id="3215113580" changeset="27169290" timestamp="2014-12-02T00:02:13Z" version="1" ...>
  • and the adiff query without timeout [adiff:"2014-12-02T00:01:55Z","2014-12-02T00:02:13Z"] would return the changes as intended:
    <action type="create"><node id="3215109947" lat="46.0793512" lon="14.4970048" version="1" timestamp="2014-12-02T00:01:56Z" changeset="27169290" uid="2146151" user="...">

So the changeset edits don't actually overlap, only the changeset metadata time ranges because of the timeout:

 27169290  00:01:56 - 01:02:13  Potlatch
           00:02:13             last change (timeout, no overlap)
 27169302  00:02:35 - 00:02:35  iD

Data

(user replaced with "...", same user for both changesets)

Changeset

https://www.openstreetmap.org/api/0.6/changeset/27169290/

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
  <changeset id="27169290" user="..." uid="2146151" created_at="2014-12-02T00:01:56Z" closed_at="2014-12-02T01:02:13Z" open="false" min_lat="46.0793512" min_lon="14.4970048" max_lat="46.0797809" max_lon="14.497324" comments_count="0">
    <tag k="build" v="2.3-648-g9cab056"/>
    <tag k="version" v="2.3"/>
    <tag k="comment" v="Rampa"/>
    <tag k="created_by" v="Potlatch 2"/>
  </changeset>
</osm>

https://www.openstreetmap.org/api/0.6/changeset/27169302/

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
  <changeset id="27169302" user="..." uid="2146151" created_at="2014-12-02T00:02:35Z" closed_at="2014-12-02T00:02:35Z" open="false" min_lat="46.0792408" min_lon="14.4969268" max_lat="46.0799045" max_lon="14.4974096" comments_count="0">
    <tag k="comment" v="Lj"/>
    <tag k="created_by" v="iD 1.6.2"/>
    <tag k="imagery_used" v="Bing"/>
  </changeset>
</osm>

Changeset download

https://www.openstreetmap.org/api/0.6/changeset/27169290/download

<?xml version="1.0" encoding="UTF-8"?>
<osmChange version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
  <create>
    <node id="3215109947" changeset="27169290" timestamp="2014-12-02T00:01:56Z" version="1" visible="true" user="..." uid="2146151" lat="46.0793512" lon="14.4970048">
      <tag k="barrier" v="lift_gate"/>
    </node>
  </create>
  <create>
    <node id="3215113580" changeset="27169290" timestamp="2014-12-02T00:02:13Z" version="1" visible="true" user="..." uid="2146151" lat="46.0797809" lon="14.497324">
      <tag k="barrier" v="lift_gate"/>
    </node>
  </create>
</osmChange>

https://www.openstreetmap.org/api/0.6/changeset/27169302/download

<?xml version="1.0" encoding="UTF-8"?>
<osmChange version="0.6" generator="OpenStreetMap server" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
  <modify>
    <node id="3215113580" changeset="27169302" timestamp="2014-12-02T00:02:35Z" version="2" visible="true" user="..." uid="2146151" lat="46.0797793" lon="14.4973182">
      <tag k="barrier" v="lift_gate"/>
    </node>
  </modify>
  <modify>
    <node id="3215109947" changeset="27169302" timestamp="2014-12-02T00:02:35Z" version="2" visible="true" user="..." uid="2146151" lat="46.0793619" lon="14.4970154">
      <tag k="barrier" v="lift_gate"/>
    </node>
  </modify>
  <modify>
    <way id="315396780" changeset="27169302" timestamp="2014-12-02T00:02:35Z" version="2" visible="true" user="..." uid="2146151">
      <nd ref="3215105605"/>
      <nd ref="3215113580"/>
      <nd ref="3215109947"/>
      <nd ref="3215105606"/>
      <tag k="highway" v="service"/>
      <tag k="service" v="parking_aisle"/>
      <tag k="surface" v="asphalt"/>
    </way>
  </modify>
</osmChange>

adiff with timeout

Achavi query (incl. 1h timeout):
https://overpass-api.de/api/interpreter?data=[adiff:%222014-12-02T00:01:55Z%22,%222014-12-02T01:02:13Z%22];(node(bbox)(changed);way(bbox)(changed););out%20meta%20geom(bbox);&bbox=14.4970048,46.0793512,14.497324,46.0797809

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base="2016-01-23T13:16:02Z"/>

<action type="create">
  <node id="3215109947" lat="46.0793619" lon="14.4970154" version="2" timestamp="2014-12-02T00:02:35Z" changeset="27169302" uid="2146151" user="...">
    <tag k="barrier" v="lift_gate"/>
  </node>
</action>
<action type="create">
  <node id="3215113580" lat="46.0797793" lon="14.4973182" version="2" timestamp="2014-12-02T00:02:35Z" changeset="27169302" uid="2146151" user="...">
    <tag k="barrier" v="lift_gate"/>
  </node>
</action>
<action type="modify">
<old>
  <way id="315396780" version="1" timestamp="2014-12-02T00:01:19Z" changeset="27169279" uid="2146151" user="...">
    <nd ref="3215105605"/>
    <nd ref="3215105606"/>
    <tag k="highway" v="service"/>
    <tag k="service" v="parking_aisle"/>
    <tag k="surface" v="asphalt"/>
  </way>
</old>
<new>
  <way id="315396780" version="2" timestamp="2014-12-02T00:02:35Z" changeset="27169302" uid="2146151" user="...">
    <bounds minlat="46.0792838" minlon="14.4969588" maxlat="46.0798505" maxlon="14.4973699"/>
    <nd ref="3215105605" lat="46.0798505" lon="14.4973699"/>
    <nd ref="3215113580" lat="46.0797793" lon="14.4973182"/>
    <nd ref="3215109947" lat="46.0793619" lon="14.4970154"/>
    <nd ref="3215105606" lat="46.0792838" lon="14.4969588"/>
    <tag k="highway" v="service"/>
    <tag k="service" v="parking_aisle"/>
    <tag k="surface" v="asphalt"/>
  </way>
</new>
</action>

</osm>

adiff without timeout

Achavi query (without 1h timeout = latest edit timestamp):
https://overpass-api.de/api/interpreter?data=[adiff:%222014-12-02T00:01:55Z%22,%222014-12-02T00:02:13Z%22];(node(bbox)(changed);way(bbox)(changed););out%20meta%20geom(bbox);&bbox=14.4970048,46.0793512,14.497324,46.0797809

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base="2016-01-23T13:20:01Z"/>

<action type="create">
  <node id="3215109947" lat="46.0793512" lon="14.4970048" version="1" timestamp="2014-12-02T00:01:56Z" changeset="27169290" uid="2146151" user="...">
    <tag k="barrier" v="lift_gate"/>
  </node>
</action>
<action type="create">
  <node id="3215113580" lat="46.0797809" lon="14.4973240" version="1" timestamp="2014-12-02T00:02:13Z" changeset="27169290" uid="2146151" user="...">
    <tag k="barrier" v="lift_gate"/>
  </node>
</action>

</osm>