GithubHelp home page GithubHelp logo

vtfx's Introduction

vtfx

vector tile post-processors that make it easy to make performant vector tiles.

Summary of main motivations/goals/challenges:

What are the appropriate minzoom/maxzoom's for a given datasource? How can we determine those automatically?

For a given dataset there's definitely an appropriate maxzoom which I would say is roughly some combo of:

  • The point at which increasing the encoding of 4096 integer coordinates in the vector tiles affects geometries minimally.
  • The point at which each vector tile contains so little data it is more I/O overhead to load more zooms than to load a larger tile and hold onto it.

Minzoom is trickier and is currently:

  • The point at which vector tiles start holding too much data to be efficient to transfer/load/parse (defined as 500k in our checks).

How can we make low minzooms work for dense datasources?

The definition of the minzoom is not ideal -- there are many datasets (think dense building footprints) where visually there are use cases where you'd like to see lower zoom levels but the data is too dense/difficult to fit into reasonable size limits.

The tricks we've used to date are something like

  • Drop features randomly,
  • Drop features based on some heuristic like area or importance rank,
  • Simplify geometries in an ugly/aggressive way

These tricks are not generalized, usually tied to postgres or data-specific configurations. A rough goal here might be to move these to postprocessors/datasource-agnostic libraries that can be used across projects.

Tests

npm test

for benchmarks on the garbage collector:

node test/benchmark.js

vtfx's People

Contributors

ian29 avatar camilleanne avatar yhahn avatar ingalls avatar tmcw avatar willwhite avatar

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.