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 command line tool. (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:

You do need to replace and 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):

  • selects individual feature in top level feature collection
  • saves the geometry field as quoted string to variable
  • we then create object based on feature’s
  • and finally update this object’s field with saved variable .
  • makes output every feature on its own line, which is exactly what BigQuery needs.

Some limitations of this approach:

  • this only supports GeoJson with default coordinate reference system (other CRS were deprecated by standard, but are still used sometimes)
  • this only supports GeoJson that contains object, would not work if file has a single top level .

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

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