0.2.11 • Published 11 years ago
tilelive-csvin v0.2.11
tilelive-csvin
A tilelive provider for CSV inputs that supports streaming reads.
Usage
This example requires @mojodna's fork of
mbtiles for createWriteStream().
"use strict";
var MBTiles = require("mbtiles"),
tilelive = require("tilelive");
var CSV = require("tilelive-csv")(tilelive);
new CSV("csvin+file://./data.csv?delimiter=\t&encoding=base64", function(err, src) {
new MBTiles("mbtiles://./tiles.mbtiles", function(err, sink) {
src.createReadStream().pipe(sink.createWriteStream());
});
});Options
The following query parameters are recognized:
delimiter- Column delimiter. Defaults to,.encoding- Option source encoding. Defaults tonull. Other valid values:base64.columnIndex- 0-based index for the column containing data. Defaults to1.
Supported Protocols
This provider understands the file: (e.g. csvin+file://./stuff.csv) and stdin: protocols.
Why?
CSV is a popular format with the Big Data set.
Streaming
For sparsely filled or unknown bounding boxes, iterating over a known list of
tiles is more efficient than using
a tilelive Scheme.
getInfo()?
That's not implemented. You'll want to fake it by generating your own TileJSON separately. Perhaps one could be provided as a query parameter? (Patches welcomed!)
Base64 Encoding?
CSV is a text-based format, after all.
Writing?
Nope. Why?
Random Access (getTile())?
Nope.
