forked from marook/osm-read
-
Notifications
You must be signed in to change notification settings - Fork 0
an openstreetmap XML data parser for node.js
License
gijs/osm-read
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
osm-read - an openstreetmap XML and PBF parser for node.js 1) Introduction 2) Usage Examples 2.1) Simple Usage Example 2.2) Parse OSM XML from URL Example 2.3) PBF random access parser 3) TODOs 4) License 5) Contact ------------------------------------------------------------------------ Introduction osm-read parses openstreetmap XML and PBF files as described in http://wiki.openstreetmap.org/wiki/OSM_XML and http://wiki.openstreetmap.org/wiki/PBF_Format ------------------------------------------------------------------------ Simple Usage Example The following code is used to parse openstreetmap XML or PBF files in a SAX parser like callback way. osmread.parse({ filePath: 'path/to/osm.xml', endDocument: function(){ console.log('document end'); }, bounds: function(bounds){ console.log('bounds: ' + JSON.stringify(bounds)); }, node: function(node){ console.log('node: ' + JSON.stringify(node)); }, way: function(way){ console.log('way: ' + JSON.stringify(way)); }, error: function(msg){ console.log('error: ' + msg); } }); ------------------------------------------------------------------------ Parse OSM XML from URL Example Currently you can only parse OSM data in XML from URLs. Here's an example: osmread.parse({ url: 'http://overpass-api.de/api/interpreter?data=node(51.93315273540566%2C7.567176818847656%2C52.000418429293326%2C7.687854766845703)%5Bhighway%3Dtraffic_signals%5D%3Bout%3B', format: 'xml', endDocument: function(){ console.log('document end'); }, bounds: function(bounds){ console.log('bounds: ' + JSON.stringify(bounds)); }, node: function(node){ console.log('node: ' + JSON.stringify(node)); }, way: function(way){ console.log('way: ' + JSON.stringify(way)); }, error: function(msg){ console.log('error: ' + msg); } }); ------------------------------------------------------------------------ PBF random access parser The following code allows to create a random access openstreetmap PBF file parser: osmread.createPbfParser({ filePath: 'path/to/osm.pbf', callback: function(err, parser){ var headers; if(err){ // TODO handle error } headers = parser.findFileBlocksByBlobType('OSMHeader'); parser.readBlock(headers[0], function(err, block){ console.log('header block'); console.log(block); parser.close(function(err){ if(err){ // TODO handle error } }); }); }); }); Don't forget to close the parse after usage! ------------------------------------------------------------------------ TODOs * parse timestamps ------------------------------------------------------------------------ License See file COPYING for details. ------------------------------------------------------------------------ Contact * author: Markus Peröbner <markus.peroebner@gmail.com>
About
an openstreetmap XML data parser for node.js
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published