Skip to content
This repository has been archived by the owner on Nov 4, 2024. It is now read-only.

weacast/weacast-gtiff2json

Repository files navigation

Important: this module is now deprecated, please use the corresponding package in the weacast monorepo.

weacast-gtiff2json

Build Status Code Climate Test Coverage Dependency Status Download Status FOSSA Status

A command line utility that decodes GeoTIFF files as JSON.

This utility uses the native GDAL binding for Node.js : node-gdal.

This work is highly inspired from geotiff2json but extends it to support:

  • simple JSON conversion without RLE encoding
  • any block size in TIFF files (not just squares)

Usage

Here's an example that converts file.tif into a JSON array and writes it to disk as data.json:

    var geotiff2json = require('weacast-gtiff2json'),
    fs = require('fs')
    
    geotiff2json('file.tif').then(function(data) {
      fs.writeFile('data.json', JSON.stringify(data), function(err) {
        if(err) {
          console.error('Oh no, writing failed!', err)
          return
        }
      })
    })

Here's an example that converts file.tif into an RLE value array and writes it to disk as data.json:

    var geotiff2json = require('weacast-gtiff2json'),
    fs = require('fs')
    
    geotiff2json('file.tif', true).then(function(data) {
      fs.writeFile('data.json', JSON.stringify(data), function(err) {
        if(err) {
          console.error('Oh no, writing failed!', err)
          return
        }
        console.log('wrote ' + (data.length / 2) + ' tuples into file.')
      })
    })

The output file's content will look similar to this:

    [
      100,10,
      132,1,
      80,5,
      ...
    ]

Note: The linebreaks and whitespace have been added for better readability, the file won't contain those to reduce size.

These values are in fact value pairs.

  • The first value of each pair is the y-coordinate of the point.
  • The second value of each pair is the number of times this y-coordinate is repeated.

So in the example above, the y-value 100 shall be repeated 10 times, the y-value 132 shall be repeated once and so on..

Contribute

If you find a bug or a problem or data that doesn't parse correctly, even though it should, please report an issue here.

In case you found a GeoTIFF that doesn't parse correctly, please attach a link to the file or attach it to the issue directly.

If you have improvement suggestions, feel free to fork this repository and submit a pull request.

Thank you for your help and support.

License

Copyright (c) 2017

Licensed under the MIT license.

FOSSA Status

About

CLI to convert GeoTiff files to JSON

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •