An open API service indexing awesome lists of open source software.

https://github.com/stebogit/grid-to-matrix

Takes a pointGrid and returns a correspondent matrix of the 'property' values
https://github.com/stebogit/grid-to-matrix

geojson grid matrix points turfjs

Last synced: about 1 year ago
JSON representation

Takes a pointGrid and returns a correspondent matrix of the 'property' values

Awesome Lists containing this project

README

          

# grid-to-matrix

[![Build Status](https://travis-ci.org/stebogit/grid-to-matrix.svg?branch=master)](https://travis-ci.org/stebogit/grid-to-matrix)
[![npm version](https://badge.fury.io/js/grid-to-matrix.svg)](https://badge.fury.io/js/grid-to-matrix)
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/stebogit/grid-to-matrix/blob/master/LICENSE)

Takes a [Point](http://geojson.org/geojson-spec.html#point) grid and returns a correspondent matrix of the `property` values

**Parameters**

- `grid` \[**[FeatureCollection](http://geojson.org/geojson-spec.html#feature-collection-objects)<[Point](http://geojson.org/geojson-spec.html#point)>**] grid of points
- `options.zProperty` \[**[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**] the property name in `grid` from which the matrix values will be pulled (optional, default `elevation`)
- `options.flip` \[**[boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**] returns the matrix upside-down (optional, default `false`)
- `options.flags` \[**[boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**] , adding a `matrixPosition` array field ([`row`, `column`]) to its properties, the grid points with coordinates on the matrix (optional, default `false`)

**Returns**

Matrix \[**[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)>**] of the `grid` points `property` values

### Installation

**npm**

```sh
$ npm install grid-to-matrix
```

**browser (ES5)**

```html

```

### Quickstart

```javascript
var pointGrid = require('@turf/point-grid');
var gridToMatrix = require('grid-to-matrix');

var extent = [-70.823364, -33.553984, -70.473175, -33.302986];
var cellSize = 3;
var grid = pointGrid(extent, cellSize);
// add a random elevation property to each point between 0 and 60
for (var i = 0; i < grid.features.length; i++) {
grid.features[i].properties.elevation = (Math.random() * 60);
}

gridToMatrix(grid);
// =[
// [ 1, 13, 20, 9, 10, 13, 18],
// [34, 8, 0, 4, 5, 8, 13],
// [10, 5, 2, 1, 2, 5, 24],
// [ 0, 4, 56, 19, 0, 4, 9],
// [10, 5, 2, 12, 2, 5, 10],
// [57, 8, 5, 4, 5, 0, 57],
// [ 3, 13, 0, 9, 5, 13, 35],
// [18, 13, 10, 9, 78, 13, 18]
// ]
```