0.1.0 • Published 1 year ago

going-in-circles v0.1.0

Weekly downloads
2
License
MIT
Repository
github
Last release
1 year ago

Going in circles

This is a small package which produces lat/long coordinates in various circle patterns. You can have a single circle, a cocentric circle (think a donut), or a bullseye containing several cocentric circles:

Screenshot

This is especially useful for feeding into things like GeoJSON.

Installation

npm install going-in-circles

Usage

import {bullseye} from 'going-in-circles';
const center = {lat: 47.505, long: -100.99};
const radius = 500; // radius in meters
const numCircles = 4; // number of circles you want to divide the bullseye into

const circles = bullseye({center, radius, numCircles});
// circles is in the format:
[
    {
        segments: [
            [long, lat],
            [long, lat],
            ...

        ]
    },
    {
        // circle 2
    },
    {
        // circle 3, etc.
    }
]

Using leaflet you can plot the bullseye with code like the following:

for (const circle of circles) {
  const color = randomcolor();
  for (const segment of circle.segments) {
    leaflet
      .geoJSON(
        {
          type: 'Polygon',
          coordinates: [segment],
        },
        {
          style: {
            color,
            weight: 5,
            opacity: 0.65,
          },
        }
      )
      .addTo(map);
  }
}

Local development

  1. git clone git@github.com:intentionally-left-nil/going-in-circles.git
  2. npm install
  3. export MAPBOX_API_TOKEN=YOUR_MAPBOX_TOKEN
  4. npm run dev

You'll need a mapbox api token to see the underlying map. You need to export this as a shell variable before running the webserver.

This opens up a webserver at localhost:5000, where you can play around with the code. See demo.js for an example.

Publishing a new version

  1. bump the version in package.json
  2. npm run prod
  3. push to npm
0.1.0

1 year ago

0.0.7

4 years ago

0.0.5

4 years ago

0.0.6

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago