On 12/1/2015 2:33 AM, tb wrote:
Option 1:
Use bounding box option with osm2pgsql import, and run the cleanup
queries documented here:
http://wiki.openstreetmap.org/wiki/User:Stephankn/knowledgebase#Cleanup_of_ways_outside_the_bounding_box
hm, this has some constraints:
1. use of "--flat-nodes" is not allowed, which IMHO is no problemo for
a small database.
Flat nodes is not recommended for small databases anyways. It only
becomes useful for very large extracts (e.g. Europe) and if you're doing
that I'd probably jump up to the full planet for ease of diff application.
2. (at least to me) some unpredictable behavior in a case where an
object location is changed from outside of the bounding box partially
or fully inside the bounding box (partially also means no node inside
the bounding box, but having a crossing edge). Also moving an object
in two changes out of the bounding box and in again is questionable.
Will this work reliable?
No, but it's not a big issue in practice. You use a larger bounding box
than you're interested in. No minutely diff methods that don't involve
keeping a full planet file will get this correct.
In summary, there's a few different ways to keep a region up to date
1. Use an extract from Geofabrik with their daily diffs. This is the
easiest and least resource-demanding option, but has a 24h update interval
2. Have a planet file that you keep up to date, create extracts from it,
compute the diffs between the extracts, and apply the diffs to the
database. This is option 1, except you're creating your own diffs. You
can probably get 1-2h update interval with 1-2h update lag.
3. Having a larger bounding box file, keeping it up to date, and
creating diffs to import. This would require periodic recreation of the
larger file for accumulated errors around the edges. Updates every few
minutes should be possible.
4. Putting minutely diffs directly into osm2pgsql, and cleaning as
needed. You'd also want to periodically reimport to clear errors. This
will let you get up to the minute.
Consider reimporting instead of updating for small extracts, because
reimporting is pretty quick with <1GB PBFs, and it will result in faster
rendering tables because they'll always be clustered and unbloated.
https://github.com/Komzpa/furry-sansa might also be worth looking at,
since it can automate some of this.
_______________________________________________
dev mailing list
dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev