不会爬树的猴 22729588bd AA 2 anos atrás
..
dist 22729588bd AA 2 anos atrás
test 22729588bd AA 2 anos atrás
.npmignore 22729588bd AA 2 anos atrás
LICENSE.md 22729588bd AA 2 anos atrás
README.md 22729588bd AA 2 anos atrás
index.js 22729588bd AA 2 anos atrás
package.json 22729588bd AA 2 anos atrás

README.md

geojson-equality

Check two valid geojson geometries for equality.

installation

npm install geojson-equality

usage

var GeojsonEquality = require('geojson-equality');
var eq = new GeojsonEquality();
 
var g1 = { "type": "Polygon", "coordinates": [
  [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]]
]};
var g2 = { "type": "Polygon", "coordinates": [
  [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]]
]};

eq.compare(g1,g2);    // returns true
var g3 = { "type": "Polygon", "coordinates": [
  [[30o, 100], [400, 400], [200, 400], [100, 200], [300, 100]]
]};

eq.compare(g1,g3);    // returns false

For including in browser, download file geojson-equality.min.js

<script type="text/javascipt" src="path/to/geojson-equality.min.js"></script>

This create a global variable 'GeojsonEquality' GeojsonEquality class can be initiated with many options that are used to match the geojson.

  • precision number as floating points precision required. Defualt is 17

    var g1 = { "type": "Point", "coordinates": [30.2, 10] };
    var g2 = { "type": "Point", "coordinates": [30.22233, 10] };
    var eq = new GeojsonEqaulity({precision: 3});
    eq.compare(g1,g2);  // returns false
    var eq = new GeojsonEqaulity({precision: 1});
    eq.compare(g1,g2);  // returns true
    
  • direction true | false, direction of LineString or Polygon (orientation) is ignored if false. Default is false.

    var g1 = { "type": "LineString", "coordinates": 
    [ [30, 10], [10, 30], [40, 40] ] };
    var g2 = { "type": "LineString", "coordinates": 
    [ [40, 40], [10, 30], [30, 10] ] };
    var eq = new GeojsonEqaulity({direction: false});
    eq.compare(g1,g2);  // returns true
    var eq = new GeojsonEqaulity({direction: true});
    eq.compare(g1,g2);  // returns false
    
  • objectComparator function, custom function for use in comparing Feature properties. Default is a shallow comparison.

    // using lodash isEqual to deep comparison
    var isEqual = require('lodash/lang/isEqual')
    var eq = new GeojsonEqaulity({objectComparator: isEqual});
    

developing

Once you run


then for running test

npm run test```

to create build

npm run build

license

This project is licensed under the terms of the MIT license.