This is a static archive of our old OpenStreetMap Help Site. Please post any new questions and answers at community.osm.org.

The renderd_expire command update wrong tiles.

0

I make an edit on a place which can be see on the picture1, i create a test area called iD_test20170104.1 as show on the picture2, but a way occured which point to the place which i built before, then i delete the iD_test20170104.1, but the way still exist. And now i do not know how to restore the map to the original state.

It is on my own rails port, and i use iD editor to make the edit, and use osmosis command to produce a changes.osc.gz file, then use osm2pgsql with -append and -e options to generate a expire.list file, finally, i use "cat /data/mod_map/expire.list | /root/src/mod_tile/render_expired -m osmcarto -z 10 -Z 18 -T=10" command to re-renderd the tile, but the error occurs.

Is there a possibility that the changes.osc.gz files node id have conflict with the exist nodes causes the error? The changes.osc.gz file can be shown below.

<?xml version='1.0' encoding='UTF-8'?>
<osmChange version="0.6" generator="Osmosis 0.45">
  <create>
    <node id="12" version="1" timestamp="2017-01-04T01:56:57Z" uid="2" user="osm_test" changeset="4" lat="39.9760643" lon="116.3371492"/>
     <node id="13" version="1" timestamp="2017-01-04T01:56:57Z" uid="2" user="osm_test" changeset="4" lat="39.9761444" lon="116.337109"/>
    <node id="14" version="1" timestamp="2017-01-04T01:56:57Z" uid="2" user="osm_test" changeset="4" lat="39.9762369" lon="116.3371439"/>
    <node id="15" version="1" timestamp="2017-01-04T01:56:57Z" uid="2" user="osm_test" changeset="4" lat="39.9762369" lon="116.3372592"/>
    <node id="16" version="1" timestamp="2017-01-04T01:56:57Z" uid="2" user="osm_test" changeset="4" lat="39.9761814" lon="116.3373584"/>
    <node id="17" version="1" timestamp="2017-01-04T01:56:57Z" uid="2" user="osm_test" changeset="4" lat="39.9761198" lon="116.3373745"/>
    <node id="18" version="1" timestamp="2017-01-04T01:56:57Z" uid="2" user="osm_test" changeset="4" lat="39.976056" lon="116.337337"/>
    <node id="19" version="1" timestamp="2017-01-04T01:56:57Z" uid="2" user="osm_test" changeset="4" lat="39.9760314" lon="116.3372377"/>
    <way id="2" version="1" timestamp="2017-01-04T01:56:57Z" uid="2" user="osm_test" changeset="4">
      <nd ref="12"/>
      <nd ref="13"/>
      <nd ref="14"/>
      <nd ref="15"/>
      <nd ref="16"/>
      <nd ref="17"/>
      <nd ref="18"/>
      <nd ref="19"/>
      <nd ref="12"/>
      <tag k="description" v="2017.1.4日9:57在大运村的一个测试区域"/>
      <tag k="leisure" v="park"/>
      <tag k="name" v="iD_test20170104.1"/>
    </way>
  </create>
</osmChange>

alt text

alt text

alt text

asked 04 Jan '17, 06:05

yuyy's gravatar image

yuyy
236222431
accept rate: 20%

edited 10 Jan '17, 10:13

SomeoneElse's gravatar image

SomeoneElse ♦
36.9k71370866

1

Also is this on osm.org or on your own copy of the rails port (with data loaded)?

(06 Jan '17, 13:22) SomeoneElse ♦
2

It is on my own rails port, and i use iD editor to make the edit, and use osmosis command to produce a changes.osc.gz file, then use osm2pgsql with -append and -e options to generate a expire.list file, finally, i use "cat /data/mod_map/expire.list | /root/src/mod_tile/render_expired -m osmcarto -z 10 -Z 18 -T=10" command to re-renderd the tile, but the error occurs.

(07 Jan '17, 08:02) yuyy

One Answer:

0

I think it was caused by the conflict id in the changes.osc.gz file and the tile server database. I installed my own rails port, and when i use the editor to make a changes file, the index id of the node and way are begin at 1, but there has be a node or a way which id is 1 in the tile server database, so when i use osm2pgsql with -append option to import the changes file into the database, the error occurs.

And now, what confuses me is that the index id of the nodes and ways are automatically generated by the osmosis command, how can i set them to start at a large index number?

answered 10 Jan '17, 11:19

yuyy's gravatar image

yuyy
236222431
accept rate: 20%

Source code available on GitHub .