
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
osm2geojson-ultra
Advanced tools
a faster & more complete OSM & Overpass (either in xml or in json formats) to geojson convertor - 4x faster than xmldom + osmtogeojson in most situations - implemented in TypeScript with txml for XML parsing
A faster & more complete convertor for OSM & Overpass data in XML or JSON formats to GeoJSON - much faster (the more complex the data source is, the more performance advantages it posesses) than osmtogeojson in most situations and faster than osm2geojson-lite - implemented in TypeScript using txml to parse XML.
This project was forked from osm2geojson-lite to add support for more overpass geometry output types and to use a different XML parser.
local
convert
, and
make
id
, type
, and other non-tag properties are prefixed with @
)Installation:
$ npm install osm2geojson-ultra
Usage:
import osm2geojson from 'osm2geojson-ultra';
let geojson = osm2geojson(osm, opts);
<script type="module">
import osm2geojson from 'https://esm.sh/osm2geojson-ultra';
let geojson = osm2geojson(osm, opts);
</script>
osm2geojson(osm, opts)
Converts OSM data (XML/JSON) to GeoJSON.
osm
: the OSM XML data in String, or OSM/Overpass JSON as object or in Stringopts?
: optional, the options object, right now supports below properties/fields:
completeFeature
: the default value is false
. When it's set to true
, the returned geojson will include all elements that meet the specified conditions in FeatureCollection
format; otherwise, only the bare geometry of the first relation
element will be returned.renderTagged
: the default value is false
. When it's set to true
, the returned geojson will include all elements with tags (i.e., tagged) until excludeWay
changes its behavior a bit; otherwise only the unreferenced ones get returned.excludeWay
: the default value is true
. When it's set to true
, the returned FeatureCollection
will exclude all referenced way
s even though they are tagged; otherwise the features of those way
s will be included in the resulted result as well.osmtogeojson
by the one of this library$ cd test
$ npm run bench
==========xml processing performance results==========
---processing zhucheng.osm---
-> 42ms was taken for 100 rounds
---processing hebei.osm---
-> 376ms was taken for 100 rounds
---processing tokyodo.osm---
-> 890ms was taken for 100 rounds
---processing usa.osm---
-> 10759ms was taken for 100 rounds
==========json processing performance results==========
---processing zhucheng.json---
-> 7ms was taken for 100 rounds
---processing hebei.json---
-> 102ms was taken for 100 rounds
---processing tokyodo.json---
-> 322ms was taken for 100 rounds
---processing usa.json---
-> 5497ms was taken for 100 rounds
==========xml processing performance results==========
---processing zhucheng.osm---
-> 56ms was taken for 100 rounds
---processing hebei.osm---
-> 557ms was taken for 100 rounds
---processing tokyodo.osm---
-> 1201ms was taken for 100 rounds
---processing usa.osm---
-> 12904ms was taken for 100 rounds
==========json processing performance results==========
---processing zhucheng.json---
-> 8ms was taken for 100 rounds
---processing hebei.json---
-> 106ms was taken for 100 rounds
---processing tokyodo.json---
-> 332ms was taken for 100 rounds
---processing usa.json---
-> 5553ms was taken for 100 rounds
==========xml processing performance results==========
---processing zhucheng.osm---
-> 174ms was taken for 100 rounds
---processing hebei.osm---
-> 3389ms was taken for 100 rounds
---processing tokyodo.osm---
-> 4108ms was taken for 100 rounds
---processing usa.osm---
-> 39013ms was taken for 100 rounds
==========json processing performance results==========
---processing zhucheng.json---
-> 33ms was taken for 100 rounds
---processing hebei.json---
-> 2093ms was taken for 100 rounds
---processing tokyodo.json---
-> 1128ms was taken for 100 rounds
---processing usa.json---
-> 11339ms was taken for 100 rounds
You can copy the converted results to geojsonlint for the correctness validation. Up until now, osm2geojson-lite
behaves pretty well with all the samples (also quite representative) in the data
subfolers under test
and bench
directories, which also outperforms osmtogeojson
.
The client side example shipped along with this package, index.html
- due to CORS limitation, the direct post to geojsonlint is blocked, so there's a "copy to clipboard" button for you to ease the validation.
ES 2019
MIT
FAQs
a faster & more complete OSM & Overpass (either in xml or in json formats) to geojson convertor - 4x faster than xmldom + osmtogeojson in most situations - implemented in TypeScript with txml for XML parsing
The npm package osm2geojson-ultra receives a total of 20 weekly downloads. As such, osm2geojson-ultra popularity was classified as not popular.
We found that osm2geojson-ultra demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.