terraformer-js / terraformer

A geographic toolkit for dealing with geometry, geography, formats, and building geodatabases
MIT License
182 stars 28 forks source link
arcgis data-management geojson javascript

@terraformer

npm travis standard

A geographic toolkit for dealing with geometry, geography, formats, and building geodatabases.

Packages

FAQ

What's the difference between this and Esri/Terraformer? Very little! This project is a standalone [ES Module](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) port of the original Terraformer project _without_ the [Primitives](https://terraformer-js.github.io/core/#terraformerprimitive). If you found instantiating Primitives tedious or you'd like to [cut down on your bundle size](https://github.com/zakjan/leaflet-lasso/issues/10) by importing only the code from Terraformer that you're actually using, you should consider upgrading.
I'm already using terraformer. How do I upgrade? Previously it was necessary to instantiate a Terraformer Primitive in order to execute spatial operations ```bash npm install terraformer ``` ```js 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](https://tools.ietf.org/html/rfc7946) ``` npm install @terraformer/spatial ``` ```js import { convexHull } from '@terraformer/spatial' convexHull({ type: "LineString", coordinates: [ [ 100, 0 ], [ -45, 122 ], [ 80, -60 ] ] }) ```
I'm already using terraformer-wkt-parser. How do I upgrade? Instead of this: ```bash npm install terraformer-wkt-parser ``` ```js 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 ``` ```js import { wktToGeoJSON, geojsonToWkt } from '@terraformer/wkt' wktToGeoJSON(/* ... */) geojsonToWKT(/* ... */) ```
I'm already using terraformer-arcgis-parser. How do I upgrade? Instead of this: ```bash npm install terraformer-arcgis-parser ``` ```js 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 ``` ```js const { arcgisToGeoJSON, geojsonToArcGIS } from '@terraformer/arcgis' arcgisToGeoJSON(/* ... */) geojsonToArcGIS(/* ... */) ```
What about terraformer-geostore? 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 terraformer-geostore ingests plain ol' [GeoJSON](https://tools.ietf.org/html/rfc7946), you're welcome to keep on using the original code.

Contributing

npm install && npm test