New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

github.com/mapbox/tilelive-decorator

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/mapbox/tilelive-decorator

  • v4.0.1+incompatible
  • Source
  • Go
  • Socket score

Version published
Created
Source

tilelive-decorator

Circle CI

Load vector tiles from a tilelive source and decorate them with properties from redis. So if you use tilelive-s3 it can load tiles from s3, and add properties to features from redis.

usage

with tilelive

Tilelive decorator registers several tilelive protocols:

  • decorator+s3: for reading tiles from S3
  • decorator+mbtiles: for reading tiles from an mbtiles
var tilelive = require('tilelive');
var TileliveDecorator = require('tilelive-decorator');
var TileliveS3 = require('tilelive-s3');

TileliveDecorator.registerProtocols(tilelive);
TileliveS3.registerProtocols(tilelive);

tilelive.load('decorator+s3://test/{z}/{x}/{y}?key=id&sourceProps={"keep":["id","name"]}&redis=redis://localhost:6379', function(err, source) {
  // source.getTile(z, x, y, callback);
});
manually
var TileliveDecorator = require('tilelive-decorator');

var uri = 'decorator+s3://test/{z}/{x}/{y}?key=id&sourceProps={"keep":["id","name"]}&redis=redis://localhost:6379'
new TileliveDecorator(uri, function (err, source) {
  // source.getTile(z, x, y, callback);
});
options

key (required) - specifies what property in the source tiles will be matched to keys in redis.

sourceProps - a json object, specifying properties to keep from the source tile, and properties that are required to exist on features in the source tile. example: {"keep": ["id", "class"], "required": ["rating"]}. If all required properties don't exist on a feature, that feature is filtered out.

redisProps - a json object, specifying properties to keep from redis records, and properties that are required to exist on redis records. example: {"keep": ["congestion"], "required": ["speed"]}. If all required properties don't exist on a record, that record is filtered out and no new properties will be applied to features that match the record key.

outputProps - a json object, specifying properties to keep in the output tile after decoration, and properties that are required to exist on features in the output tile. example: {"keep": ["class", "congestion"], "required": ["congestion"]}. If all required properties don't exist on a feature, that feature is filtered out.

redis - a redis connection string, e.g. redis://localhost:6379.

hashes - If hashes=true is included, redis keys are treated as hash types as opposed to stringified JSON data in string type keys. In this case hget is used instead of the default get commands.

development

setup

Tests and benchmarks require a local redis server

brew install redis
git clone https://github.com/mapbox/tilelive-decorator
cd tilelive-decorator
npm install
redis-server --save "" &
benchmarks
redis-cli flushall && node benchmark.js
tests
redis-cli flushall && npm test

FAQs

Package last updated on 14 Jan 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc