make-geo-json
v1.1.6
Published
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
225
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 geo_json are the same, but worded differently to catch user mistakes)
- geoJSON
- geo_json
- FeatureCollection
- wkb_list (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.