1

I'm loving the ndjson-cli tools for working with newline-delimited GeoJSON files. But I can't seem to find a tool that converts a standard GeoJSON (whether minified or prettified) ond converts it to newline-delimited. Is there one?

4

Borrowing from this StackOverflow answer and using the jq command line tool you can filter GeoJSON feture objects and dump them as new-line delimiter with:

cat my.geojson | jq -c ".features[]" > nld_features.json

The important parts here are the -c flag which prints compact JSON objects on a single line, and the filter ".features[]" which selects the features object from the top level of the object, and then calls an Array/Object iterator over the values to break the features into separate JSON objects. If you want to extract coordinates as well, you can use the different filters in jq to extract the values as well.

  • 1
    Ah yeah. I used to use jq, but in the end I found its syntax too hard to remember, and scripts quickly became incomprehensible. – Steve Bennett Feb 11 '18 at 3:10
2

I wrote a dedicated command-line tool on NPM to do this, now:

https://www.npmjs.com/package/geojson2ndjson

Usage

npm install -g geojson2ndjson geojson2ndjson myfile.geojson | ...

Or read from standard input:

cat myfile.geojson | geojson2ndjson | ...

Examples

List the properties of every feature, without the geometries:

geojson2ndjson myfile.geojson | ndjson-map d.properties

0

Tippecanoe also has this functionality built in:

tippecanoe-json-tool source.json > out.nd.json

I've only tested with small examples, but given that tippecanoe is blazing fast and built for giant geojsons, this should be a robust option. Source here.

  • Huh, thanks. The documentation is a bit obscure, and there's no command-line help. – Steve Bennett Oct 30 '18 at 23:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.