Awesome
@terraformer
A geographic toolkit for dealing with geometry, geography, formats, and building geodatabases.
Packages
@terraformer/spatial
- Spatial predicates for GeoJSON.@terraformer/arcgis
- Convert ArcGIS JSON geometries to GeoJSON geometries and vice versa.@terraformer/wkt
- Convert WKT geometries to GeoJSON geometries and vice versa.
FAQ
<details> <summary>What's the difference between this and <a href="https://github.com/Esri/Terraformer">Esri/Terraformer</a>?</summary>Very little!
This project is a standalone ES Module port of the original Terraformer project without the Primitives.
If you found instantiating Primitives tedious or you'd like to cut down on your bundle size by importing only the code from Terraformer that you're actually using, you should consider upgrading.
</details> <details> <summary>I'm already using <code>terraformer</code>. How do I upgrade?</summary>Previously it was necessary to instantiate a Terraformer Primitive in order to execute spatial operations
npm install terraformer
const Terraformer = require('terraformer')
const polygon = new Terraformer.Primitive({
type: "LineString",
coordinates: [
[ 100, 0 ], [ -45, 122 ], [ 80, -60 ]
]
})
polygon.convexHull()
Now you'll work directly with raw GeoJSON
npm install @terraformer/spatial
import { convexHull } from '@terraformer/spatial'
convexHull({
type: "LineString",
coordinates: [
[ 100, 0 ], [ -45, 122 ], [ 80, -60 ]
]
})
</details>
<details>
<summary>I'm already using <code>terraformer-wkt-parser</code>. How do I upgrade?</summary>
Instead of this:
npm install terraformer-wkt-parser
var wkt = require('terraformer-wkt-parser')
// parse a WKT file and turn it into GeoJSON
wkt.parse('LINESTRING (30 10, 10 30, 40 40)')
wkt.convert(/* ... */)
You'll do this:
npm install @terraformer/wkt
import { wktToGeoJSON, geojsonToWkt } from '@terraformer/wkt'
wktToGeoJSON(/* ... */)
geojsonToWKT(/* ... */)
</details>
<details>
<summary>I'm already using <code>terraformer-arcgis-parser</code>. How do I upgrade?</summary>
Instead of this:
npm install terraformer-arcgis-parser
var ArcGIS = require('terraformer-arcgis-parser')
// parse ArcGIS JSON and turn it into GeoJSON
ArcGIS.parse()
ArcGIS.convert()
You'll do this:
npm install @terraformer/arcgis
const { arcgisToGeoJSON, geojsonToArcGIS } from '@terraformer/arcgis'
arcgisToGeoJSON(/* ... */)
geojsonToArcGIS(/* ... */)
</details>
<details>
<summary>What about <code>terraformer-geostore</code>?</summary>
This repo does not include a port of https://github.com/Esri/terraformer-geostore and there is no plan to tackle it in the future.
Since <code>terraformer-geostore</code> ingests plain ol' GeoJSON, you're welcome to keep on using the original code.
</details>Contributing
npm install && npm test