Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
random-access-osm-pbf
Advanced tools
Readme
Provides random access reads into an osm pbf file.
Usually when parsing pbf files, you have to start at the beginning and if the files are really large, then this can take a really long time. It's also not parellelizable.
With this module, you can provide start
and end
offsets into a pbf file and
receive complete items as output. the start
and end
values don't have to
match exact alignments in the pbf file. this module scans forward from those
offsets to find the nearest correct alignment point.
var raOSM = require('random-access-osm-pbf')
Creates a new stream which gets processed by osm-pbf-parser.
This module expects binary data from an osm pbf file as input and returns an object stream. The objects in the output stream are in the form described in osm-pbf-parser.
Each item in opts
can have properties:
opts.start
- start file offset (can be unaligned)opts.end
- end file offset (can be unaligned)opts.size
- size of the pbf file in bytesopts.read(offset, length, cb)
- function that reads length
bytes from an
offset
and returns the data in cb(err, buf)
opts.header
- use a previously-parsed header from a file to skip parsingEmits a header
event when the header is parsed with the header value as
fn(header)
. You can pass this header as opts.header
to skip parsing later.
In this example, we pass in the pbf file as the first argument, and a start and end offset as the second and third arguments.
var raOSM = require('random-access-osm-pbf')
var through = require('through2')
var raf = require('random-access-file')
var fs = require('fs')
var store = raf(process.argv[2])
var osm = raOSM({
start: Number(process.argv[3]),
end: Number(process.argv[4]),
read: store.read.bind(store),
size: fs.statSync(process.argv[2]).size
})
osm.pipe(through.obj(function write (items, enc, next) {
console.log(items)
next()
}))
the output comes out in this form:
{
{ type: 'node',
id: 3705065232,
lat: 50.0699066,
lon: 36.177443600000004,
tags: {},
info:
{ version: 1,
timestamp: 1440001911000,
changeset: 33443945,
uid: 719573,
user: 'dimonster' } },
{ type: 'node',
id: 3705065233,
lat: 50.0699133,
lon: 36.1576718,
tags: {},
info:
{ version: 1,
timestamp: 1440001911000,
changeset: 33443945,
uid: 719573,
user: 'dimonster' } }
}
npm install random-access-osm-pbf
BSD
FAQs
get random access into an osm pbf file at a specified offset
The npm package random-access-osm-pbf receives a total of 0 weekly downloads. As such, random-access-osm-pbf popularity was classified as not popular.
We found that random-access-osm-pbf demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.