Git Product home page Git Product logo

Comments (4)

pka avatar pka commented on May 12, 2024

That's an important missing feature. My plan was to add an –older [timestamp|now] option to the seed command.
In the meantime you can only delete tiles with commands like find /path/to/cache -mtime +7 -delete
How does an expiry list look like?

from t-rex.

pnorman avatar pnorman commented on May 12, 2024

That's an important missing feature. My plan was to add an –older [timestamp|now] option to the seed command.
In the meantime you can only delete tiles with commands like find /path/to/cache -mtime +7 -delete

This would be based on tiles, not time. rm would possibly work, of course, race conditions might be a problem. And you'd then need to re-render

How does an expiry list look like?

The standard format is X Y Z separated by spaces, with each tile separated by newlines.

For what needs to be implemented, I'd look to render_list from renderd

$ render_list --help
Usage: render_list [OPTION] ...
  -a, --all            render all tiles in given zoom level range instead of reading from STDIN
  -f, --force          render tiles even if they seem current
  -m, --map=MAP        render tiles in this map (defaults to 'default')
  -l, --max-load=LOAD  sleep if load is this high (defaults to 16)
  -s, --socket=SOCKET  unix domain socket name for contacting renderd
  -n, --num-threads=N the number of parallel request threads (default 1)
  -t, --tile-dir       tile cache directory (defaults to '/var/lib/mod_tile')
  -z, --min-zoom=ZOOM  filter input to only render tiles greater or equal to this zoom level (default is 0)
  -Z, --max-zoom=ZOOM  filter input to only render tiles less than or equal to this zoom level (default is 20)
If you are using --all, you can restrict the tile range by adding these options:
  -x, --min-x=X        minimum X tile coordinate
  -X, --max-x=X        maximum X tile coordinate
  -y, --min-y=Y        minimum Y tile coordinate
  -Y, --max-y=Y        maximum Y tile coordinate
Without --all, send a list of tiles to be rendered from STDIN in the format:
  X Y Z
e.g.
  0 0 1
  0 1 1
  1 0 1
  1 1 1
The above would cause all 4 tiles at zoom 1 to be rendered

The difference with renderd is that it has "dirty" tiles, so it can have an outdated tile still in its store.

For an overview of the different methods, it's worth reading osm2pgsql-dev/osm2pgsql#709 and osm2pgsql-dev/osm2pgsql#747

I suppose the first questions are

  1. Will t-rex support continually updating data when pre-rendering all tiles
  2. Will t-rex support continually updating data when not pre-rendering all tiles

To me the first is more important and easier to understand + implement.

from t-rex.

pka avatar pka commented on May 12, 2024

Would the options --tile-list <file> and --execept-tile-list <file> for t_rex generate cover both cases? I assume the list can get pretty big, so maybe gzip compression had to be supported.

from t-rex.

pnorman avatar pnorman commented on May 12, 2024

Would the options --tile-list and --execept-tile-list for t_rex generate cover both cases?

You'd have t_rex serve running in the background, then do t_rex generate with those options?

I don't see a need for --execept-tile-list, nothing else uses it.

I assume the list can get pretty big, so maybe gzip compression had to be supported.

It can be relatively big, but I don't know of anyone gzipping it. The list never needs to be transmitted over the network.

from t-rex.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.