{"_id":"@alminde/geonames-stream","_rev":"1-e2cc1ec4e7ce6db73a115fe2c5663b38","name":"@alminde/geonames-stream","dist-tags":{"latest":"2.2.1"},"versions":{"2.2.1":{"name":"@alminde/geonames-stream","author":{"name":"mapzen"},"version":"2.2.1","description":"Streaming geonames parser","homepage":"https://github.com/geopipes/geonames-stream","license":"MIT","main":"index.js","scripts":{"test":"node test/run.js | tap-spec"},"repository":{"type":"git","url":"git://github.com/geopipes/geonames-stream.git"},"keywords":["geonames","stream","parser"],"bugs":{"url":"https://github.com/geopipes/geonames-stream/issues"},"engines":{"node":">=4.0.0","npm":">=1.4.3"},"dependencies":{"bun":"^0.0.12","readable-stream":"^2.2.2","split":"^1.0.0","through2":"^2.0.3","unzipper":"^0.7.2"},"devDependencies":{"request":"^2.38.0","tap-spec":"^4.1.1","tape":"^4.6.3"},"gitHead":"58b573f14309ef0957eb127cbc96bdd01373fb06","_id":"@alminde/geonames-stream@2.2.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"alminde","email":"jalminde@me.com"},"dist":{"integrity":"sha512-dv9W9JvYDkbyLyBOdGVTrCK5CbsqCaLdTywKVJLesc1sRSrdBPwjOw+EfdjTGhxrIQwyMddf9kJH5ZnwbX4GmQ==","shasum":"69528b859eff43b984cc50c15079bca1168ce108","tarball":"https://registry.npmjs.org/@alminde/geonames-stream/-/geonames-stream-2.2.1.tgz","fileCount":17,"unpackedSize":48445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmpsNCRA9TVsSAnZWagAA+zwP/jcyqdC5Zn40gUFjCXDA\nFEeE+L29uezdPGqfFE1/0vVF/H9JpnyHziTBfESvjrX7e7aeaAFPf7IGu49N\nvrZcCt8FDIkogQ6MwzIfd9Sn3dsEpcFZbdzAKI1+YTjPScqASRv4gokvwOE3\n+ujQnSjXl8uO84XuRxtvrpls0I+KzgwTCdd4LtB+SGJhzx/mDygVKX80Ccf+\nwVkJiJpIUqwo+erAetvCaMgRXMB5hRUFXERKOx0ZfdrLvgEg0eoSIZtDSUf7\nm4gPoCf2XJFRBuea++OVFO/oKPFLFFlW/KqOz2WADPbVVYfpJiHDM9eJi0xB\nqHLvAiNHq46JCb3NmR+fwQ7TWTG1GxkxLq8Xs2TdEkDB34J3CnfQ1LlCuXSt\nEmuhBkduv8d8EMBINKS5IN3eJGaFRxJ8ZgO9CzbEzzcy8e3H9kQLtRkR5Juw\nk617HKlTOGIpikTtM6jGFkULWeNRFCqk3WLI51jXbO7BNDjBdECI0kVllRSq\nO8P9HRGyVrzS13cczNIqxOzTKgmvao9HVq7Q+dGawD62HVR+sUdyxkI38324\nRGzHTLOat5E51hERz7XrOnkU2YByxjcleRyJMhpMe+8a9+dM3z+WiPUsiHoS\nb4NTcXBZ7cqi7HdWDBG3rVeeaGl3tKaViqnJ4DNrWCzskYPVY6TEOOzAYwaI\ntOcB\r\n=1T6O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKAPjGlW2GzYjtTAgtqWmPy6Wjg0PNL51C3qSZ/dv0vAiA4peJ5ihqDOeLyPX/D5mIAOzhkJw8sAL1WF9OKD9Qq8Q=="}]},"maintainers":[{"name":"alminde","email":"jalminde@me.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geonames-stream_2.2.1_1553636108127_0.8691197107063393"},"_hasShrinkwrap":false}},"time":{"created":"2019-03-26T21:35:07.947Z","2.2.1":"2019-03-26T21:35:08.419Z","modified":"2022-04-04T13:36:34.644Z"},"maintainers":[{"name":"alminde","email":"jalminde@me.com"}],"description":"Streaming geonames parser","homepage":"https://github.com/geopipes/geonames-stream","keywords":["geonames","stream","parser"],"repository":{"type":"git","url":"git://github.com/geopipes/geonames-stream.git"},"author":{"name":"mapzen"},"bugs":{"url":"https://github.com/geopipes/geonames-stream/issues"},"license":"MIT","readme":"## Installation\n\n```bash\n$ npm install geonames-stream\n```\n\n[![NPM](https://nodei.co/npm/geonames-stream.png?downloads=true&stars=true)](https://nodei.co/npm/geonames-stream)\n\nNote: you will need `node` and `npm` installed first.\n\nThe easiest way to install `node.js` is with [nave.sh](https://github.com/isaacs/nave) by executing `[sudo] ./nave.sh usemain stable`\n\n## Usage\n\nYou can extract the geonames on-the-fly while you're still downloading the file:\n\n```javascript\nvar geonames = require('geonames-stream'),\n    request = require('request');\n\nrequest.get( 'http://download.geonames.org/export/dump/NZ.zip' )\n  .pipe( geonames.pipeline )\n  .pipe( geonames.stringify )\n  .pipe( process.stdout );\n```\n\nOr you can go old-school and work with files on disk:\n\n```javascript\nvar geonames = require('geonames-stream'),\n    fs = require('fs');\n\n// wget http://download.geonames.org/export/dump/NZ.zip\nfs.createReadStream( 'NZ.zip' )\n  .pipe( geonames.pipeline )\n  .pipe( geonames.stringify )\n  .pipe( process.stdout );\n```\n\n## Roll your own\n\nThe easiest way to get started writing your own pipes is to use `through2`; just make sure you call `next()`.\n\n```javascript\nvar geonames = require('geonames-stream'),\n    request = require('request'),\n    through = require('through2');\n\nrequest.get( 'http://download.geonames.org/export/dump/NZ.zip' )\n  .pipe( geonames.pipeline )\n  .pipe( through.obj( function( data, enc, next ){\n    console.log( data._id, data.name, data.population );\n    next();\n  }));\n```\n\n```bash\n2189529 Invercargill 47287\n2189530 Invercargill 0\n2189531 Inveagh Bay 0\n2189532 Inumia Stream 0\n```\n\n## Schema\n\nThe streams output objects which look like this:\n\n```javascript\n{\n  \"_id\": \"2179348\",\n  \"name\": \"Whananaki\",\n  \"asciiname\": \"Whananaki\",\n  \"alternatenames\": [],\n  \"latitude\": \"-35.5\",\n  \"longitude\": \"174.45\",\n  \"feature_class\": \"P\",\n  \"feature_code\": \"PPL\",\n  \"country_code\": \"NZ\",\n  \"cc2\": \"\",\n  \"admin1_code\": \"F6\",\n  \"admin2_code\": \"002\",\n  \"admin3_code\": \"\",\n  \"admin4_code\": \"\",\n  \"population\": \"0\",\n  \"elevation\": \"\",\n  \"dem\": \"59\",\n  \"timezone\": \"Pacific/Auckland\",\n  \"modification_date\": \"2011-08-01\"\n}\n```\n\n## The generic pipeline\n\nThe module comes with a prebuild processing pipeline to make life easier:\n\n```javascript\nvar pipeline = bun([ unzip(), split(), parser(), modifiers() ]);\n```\n\nIf you need more control, you can re-wire things as you wish; say.. maybe you didn't want the unzip step?\n\n```javascript\nvar geonames = require('geonames-stream'),\n    request = require('request'),\n    split = require('split');\n\nrequest.get( 'http://example.com/example.tsv' )\n  // .pipe( geonames.unzip() ) I don't want the unzip step\n  .pipe( split() )\n  .pipe( geonames.parser() )\n  .pipe( geonames.modifiers() )\n  .pipe( geonames.stringify )\n  .pipe( process.stdout );\n```\n\n## NPM Module\n\nThe `geonames-stream` npm module can be found here:\n\n[https://npmjs.org/package/geonames-stream](https://npmjs.org/package/geonames-stream)\n\n## Contributing\n\nPlease fork and pull request against upstream master on a feature branch.\n\nPretty please; provide unit tests and script fixtures in the `test` directory.\n\n### Running Unit Tests\n\n```bash\n$ npm test\n```\n\n### Continuous Integration\n\nTravis tests every release against Node.js versions `4` and `6`.\n\n[![Build Status](https://travis-ci.org/geopipes/geonames-stream.png?branch=master)](https://travis-ci.org/geopipes/geonames-stream)\n","readmeFilename":"README.md"}