Yet another GeoJson to Ndjson converter

You might have already seen many ways to convert GeoJson files to something BigQuery can understand. Let’s invent one more wheel!

E.g. this python script from Lak Lakshmanan:

Or using org2org tools to produce CSV file:

I also have a few node.js scripts to convert both ways between GeoJson or new-line-delimited GeoJson to New-line-delimited Json (ndjson) that BigQuery uses at https://github.com/mentin/geoscripts

But not everyone knows how to run Python and installing Node.js might be a mess, so here is a simpler way to do it, using jq command line tool. Jq (https://stedolan.github.io/jq/) is single-executable command line tool for processing json files. Install it following instructions at https://stedolan.github.io/jq/download/.

You can convert geojson files to ndjson files using this script:

jq --compact-output '.features[] | (.geometry | tojson) as $g | . = .properties | .geometry |= $g' < input_file > output_file

You do need to replace input_file and output_file with proper file names.

— —

OK, if you want to know how it works, it does the following (node.js scripts mentioned above use the same logic):

Some limitations of this approach:

Hi, I'm TL of BigQuery GIS project. Posting small recipes and various notes for BQ GIS users.

Love podcasts or audiobooks? Learn on the go with our new app.