https://github.com/huasofoundries/turf-google-maps
A bridge to use turf along google maps API
https://github.com/huasofoundries/turf-google-maps
geojson google-maps-api javascript rollup-js turf turfjs
Last synced: 5 months ago
JSON representation
A bridge to use turf along google maps API
- Host: GitHub
- URL: https://github.com/huasofoundries/turf-google-maps
- Owner: HuasoFoundries
- License: mit
- Created: 2017-10-26T12:12:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-07-29T09:16:30.000Z (almost 4 years ago)
- Last Synced: 2024-11-05T17:54:57.493Z (6 months ago)
- Topics: geojson, google-maps-api, javascript, rollup-js, turf, turfjs
- Language: JavaScript
- Size: 11.9 MB
- Stars: 7
- Watchers: 6
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# turf-google-maps
[](https://travis-ci.org/InstaGIS/turfhelper-lib-js)
A bridge to use [Turf](http://turfjs.org) along with [google Maps API](https://developers.google.com/maps/documentation/javascript/reference/).
## Motivation
Turf offers a rich set of geometric operations, but it works with GeoJSON inputs. This library bridges a subset of turf operations (that might steadily grow)
to allow the user to apply the same operations to google maps objects such as Polygons, Polylines and Markers.Most of these methods return a GeoJSON feature, given the output of these geometric operations might not be suitable for conversion to a google maps object (which is the case of MultiPolygons or MultiLinestring). Some of them accept an `output` parameter that, if passed `object` as value, will try to return
a google maps object using [Wicket](https://www.npmjs.com/package/wicket).In future releases, we might consider returning MultiGeometries or FeatureCollections as an instance of a [google.maps.Data](https://developers.google.com/maps/documentation/javascript/reference/#data) layer. We have avoided said functionality in the current release.
## Installation
Install it with
```sh
npm install turf-google-maps
```Or, if you're using [JSPM](https://www.npmjs.com/package/jspm)
```sh
jspm install npm:turf-google-maps
```## Usage
The `main` script as defined in `package.json` is an UMD module. If you're using ES6 syntax, you might import individual
modules from `dist/ig_turfhelper.esm.js`like so:```js
import {
createbuffer,
simplifyFeature,
kinks,
unkink
} from 'turf-google-maps/dist/ig_turfhelper.esm.js'
```Which might help you perform some tree shaking in your build stage.
## API
### along
Takes a google.maps.Polyline and returns a Feature of type Point at a specified distance along the line.
See [along](docs/along.md).
### buffer
Takes a google.maps.Polyline or google.maps.Polygon and returns a Feature of type Polygon or MultiPolygon surrounding the former at a specified distance
See [buffer](docs/buffer.md).
### concave
Takes a set of gooogle.maps.LatLng or google.maps.LatLngLiteral and returns a concave hull Feature of type Polygon or MultiPolygon
See [concave](docs/concave.md).
### coords_to_latlng
Different helper methods to transform gooogle.maps.LatLng or google.maps.LatLngLiteral to GeoJSON positions or viceversa
See [coords_to_latlng](docs/coords_to_latlng.md).
### kinks
Takes a google.maps.Polygon and returns a FeatureCollection of Points representing the polygon self intersections
See [kinks](docs/kinks.md).
### point_in_polygon
Takes an array of google.maps.Marker and a Polygon or MultiPolygon, returning an object containing with markers fall inside or outside it
See [point_in_polygon](docs/point_in_polygon.md).
### simplify_things
Takes a google.maps.Polygon or google.maps.Polyline and returns a simplified version given a certain tolerance. Uses Douglas-Peucker algorithm
See [simplify_things](docs/simplify_things.md).
### trimpaths
Takes two google.maps.Polyline and returns an array of coordinates [path of trimmed polyline1, path of trimmed polyline2, intersection point]
See [trimpaths](docs/trimpaths.md).
### union
Takes two or more google.maps.Polygon and returns a Feature of type Polygon or MultiPolygon with their union
See [union](docs/union.md).
### unkink
Takes a google.maps.Polygon with self intersections and returns a FeatureCollection of polygons without self intersections
See [unkink](docs/unkink.md).
### utils
Several utility functions to transform back and forth google.maps objects and Feature of their corresponding type
See [utils](docs/utils.md).