@turf/circle
Advanced tools
Comparing version 4.1.0 to 4.2.0
/// <reference types="geojson" /> | ||
type Point = GeoJSON.Feature<GeoJSON.Point>; | ||
type Point = GeoJSON.Feature<GeoJSON.Point> | GeoJSON.Point | number[]; | ||
type Polygon = GeoJSON.Feature<GeoJSON.Polygon>; | ||
@@ -9,4 +9,4 @@ | ||
*/ | ||
declare function circle(center: Point, radius: number, steps?: number, units?: string): Polygon; | ||
declare function circle(center: Point, radius: number, steps?: number, units?: string, properties?: any): Polygon; | ||
declare namespace circle { } | ||
export = circle; |
27
index.js
var destination = require('@turf/destination'); | ||
var helpers = require('@turf/helpers'); | ||
var polygon = helpers.polygon; | ||
var polygon = require('@turf/helpers').polygon; | ||
@@ -9,28 +8,36 @@ /** | ||
* @name circle | ||
* @param {Feature<Point>} center center point | ||
* @param {Feature<Point>|number[]} center center point | ||
* @param {number} radius radius of the circle | ||
* @param {number} [steps=64] number of steps | ||
* @param {string} [units=kilometers] miles, kilometers, degrees, or radians | ||
* @param {Object} [properties={}] properties | ||
* @returns {Feature<Polygon>} circle polygon | ||
* @example | ||
* var center = turf.point([-75.343, 39.984]); | ||
* var center = [-75.343, 39.984]; | ||
* var radius = 5; | ||
* var steps = 10; | ||
* var units = 'kilometers'; | ||
* var properties = {foo: 'bar'}; | ||
* | ||
* var circle = turf.circle(center, radius, steps, units); | ||
* var circle = turf.circle(center, radius, steps, units, properties); | ||
* | ||
* //=circle | ||
* //addToMap | ||
* var addToMap = [turf.point(center), circle] | ||
*/ | ||
module.exports = function (center, radius, steps, units) { | ||
module.exports = function (center, radius, steps, units, properties) { | ||
// validation | ||
if (!center) throw new Error('center is required'); | ||
if (!radius) throw new Error('radius is required'); | ||
// default params | ||
steps = steps || 64; | ||
properties = properties | center.properties | {}; | ||
var coordinates = []; | ||
for (var i = 0; i < steps; i++) { | ||
coordinates.push(destination(center, radius, i * 360 / steps, units).geometry.coordinates); | ||
} | ||
coordinates.push(coordinates[0]); | ||
return polygon([coordinates]); | ||
return polygon([coordinates], properties); | ||
}; |
{ | ||
"name": "@turf/circle", | ||
"version": "4.1.0", | ||
"version": "4.2.0", | ||
"description": "turf circle module", | ||
@@ -34,11 +34,12 @@ "main": "index.js", | ||
"devDependencies": { | ||
"benchmark": "^1.0.0", | ||
"tape": "^3.5.0", | ||
"@turf/distance": "^4.1.0", | ||
"@turf/inside": "^4.1.0" | ||
"@turf/truncate": "^4.2.0", | ||
"benchmark": "^2.1.4", | ||
"load-json-file": "^2.0.0", | ||
"tape": "^4.6.3", | ||
"write-json-file": "^2.0.0" | ||
}, | ||
"dependencies": { | ||
"@turf/destination": "^4.1.0", | ||
"@turf/helpers": "^4.1.0" | ||
"@turf/destination": "^4.2.0", | ||
"@turf/helpers": "^4.2.0" | ||
} | ||
} |
@@ -9,6 +9,7 @@ # @turf/circle | ||
- `center` **[Feature](http://geojson.org/geojson-spec.html#feature-objects)<[Point](http://geojson.org/geojson-spec.html#point)>** center point | ||
- `center` **([Feature](http://geojson.org/geojson-spec.html#feature-objects)<[Point](http://geojson.org/geojson-spec.html#point)> | [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)>)** center point | ||
- `radius` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** radius of the circle | ||
- `steps` **\[[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)]** number of steps (optional, default `64`) | ||
- `units` **\[[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)]** miles, kilometers, degrees, or radians (optional, default `kilometers`) | ||
- `properties` **\[[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)]** properties (optional, default `{}`) | ||
@@ -18,10 +19,12 @@ **Examples** | ||
```javascript | ||
var center = turf.point([-75.343, 39.984]); | ||
var center = [-75.343, 39.984]; | ||
var radius = 5; | ||
var steps = 10; | ||
var units = 'kilometers'; | ||
var properties = {foo: 'bar'}; | ||
var circle = turf.circle(center, radius, steps, units); | ||
var circle = turf.circle(center, radius, steps, units, properties); | ||
//=circle | ||
//addToMap | ||
var addToMap = [turf.point(center), circle] | ||
``` | ||
@@ -28,0 +31,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6034
47
56
5
Updated@turf/destination@^4.2.0
Updated@turf/helpers@^4.2.0