make-geo-json

Converts polylines, wkts, wkbs, polygons, circles, rectangles, as well as standard geoJSON into geoJSON MultiPolygon Feature Objects. Converts wkb_list and FeatureCollection to arrays.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
make-geo-json
1.1.64 years ago5 years agoMinified + gzip package size for make-geo-json in KB

Readme

make-geo-json
Converts polylines, wkts, wkbs, polygons, circles, rectangles, googlePolys, as well as standard geoJSON into geoJSON MultiPolygon Feature Objects. Includes poly area (calculated in square miles). Converts FeatureCollection and KMLs into arrays of geoJSON MultiPolygon Feature Objects.
Can be used as npm package or AWS Lambda.

Params

makeGeoJSON receives two parameters, "type" and "poly".

Type

Options for type include: + wkt + wkb + polygons (Leaflet polygon) + circles (Leaflet circles) + rectangles (Leaflet rectangles) + Feature (Feature, geoJSON, and geojson are the same, but worded differently to catch user mistakes) + geoJSON + geojson + FeatureCollection + wkblist (An array of wkbs) + kml

Poly

Poly will be passed in as a string, object, or array of objects, depending on the type String: + wkt + wkb + polyline Object: + polygons + circles + rectangles + geoJSON + FeatureCollection Array of Objects: + kml

Lambda

https://console.aws.amazon.com/lambda/home?region=us-east-1#/functions/make-geo-json?tab=graph
arn:aws:lambda:us-east-1:498598553520:function:make-geo-json
Pass in event with this structure:
{
  "type": :string,
  "poly": :string (for polyline, wkt, wkb, polygon, circle, rectangle)
          :object (for googlePolys, geoJSON, FeatureColletion)
          :array of objects (for kml)
          :array of strings (for wkb_list)
}

NPM

npm i --save make-geo-json
import { makeGeoJSON } from 'make-geo-json';

To Use

makeGeoJSON(poly.type, poly,data)

Peer Dependencies

npm i --save lodash
npm i --save wkx

lodash - https://www.npmjs.com/package/lodash
wkx - https://www.npmjs.com/package/wkx

Examples

``` const polyline = {
type: 'polyline',
data: 'polylinestringdata',
};
makeGeoJSON(polyline.type, polyline.data);
outputs: { type: 'Feature',
properties: {
  area: number,
  whateverelse: "You put here",
},
geometry: {
  type: 'MultiPolygon',
  coordinates: [[[
    [long, lat],
    [long, lat],
  ]]],
},
} ``` Also see test/ for more examples.
## Data Conversion
### Points and Linestrings Any single point poly is converted to a circle with a 75 meter radius. Any two point poly is converted into a rectangle. Any three point plus, open linestring is closed.
## Output
Output comes in the form of a MultiPolygon Feature Object. With the exceptions of kml and FeatureCollection, which return as an aray of Multipolygon Feature Objects.
## Testing
Use claudia test-lambda --event event.json to test lambda. Must have claudia.js installed on machine.
Use npm test to run jest tests.

For reference see: http://geojson.org/