Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

arc

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

arc - npm Package Compare versions

Comparing version 0.0.2 to 0.0.3

test/arc.test.js

2

arc.js

@@ -126,3 +126,3 @@ var D2R = Math.PI / 180;

//var maxx = 0;
if (npoints <= 2) {
if (!npoints || npoints <= 2) {
first_pass.push([this.start.lon, this.start.lat]);

@@ -129,0 +129,0 @@ first_pass.push([this.end.lon, this.end.lat]);

{
"name": "arc",
"version": "0.0.3",
"description": "draw great circle arcs",
"url": "https://github.com/springmeyer/arc.js",
"keywords": [
"maps",
"spherical",
"globe",
"rhumb line",
"crow flies",
"great circle"
"maps",
"spherical",
"globe",
"rhumb line",
"crow flies",
"great circle"
],
"contributors": [
"Dane Springmeyer <dane@dbsgeo.com>"
"Dane Springmeyer <dane@dbsgeo.com>"
],
"version": "0.0.2",
"repository" : {
"type" : "git",
"url" : "git://github.com/springmeyer/arc.js.git"
},
"licenses": [{
"type": "BSD"
"type": "BSD"
}],
"main": "./index",
"engines": {
"node": ">=0.4.0"
"node": ">=0.4.0"
},
"dependencies": {
},
"devDependencies": {
"scripts" : {
"test" : "mocha -R spec"
}
}

@@ -17,14 +17,36 @@ # arc.js

The idea is you may have one or many start and end points.
Require the library in node.js like:
Create Coordinate pairs from the longitude (x) and latitude (y) values
of each place and pass these (and optionally a properties object), to the GreatCircle
constructor:
var arc = require('arc');
Use in the browser like:
<script src="./arc.js"></script>
The API works like so:
**1)** Create start and end coordinates
First we need to declare where the arc should start and end
var start = new arc.Coord(-122, 48);
var end = new arc.Coord(-77, 39);
These are `[lon,lat]` pairs like GeoJSON. Be aware that Leaflet uses `[lat,lon]` order [currently](https://github.com/Leaflet/Leaflet/issues/1455).
**2)** Create GreatCircle object
Next we pass the start/end to the `GreatCircle` constructor, along with an optional object representing the properties for this future line.
var gc = new arc.GreatCircle(start, end, {'name': 'Seattle to DC'});
var line = gc.Arc(6);
**3)** Generate a line
Then call the `Arc` function to generate a line:
var npoints = 6;
var line = gc.Arc(npoints);
The `npoints` argument specifies the number of intermediate vertices you want in the resulting line. The higher the number the more dense and accurate the line will be.
Then `line` will be a raw sequence of the start and end coordinates plus an arc of

@@ -44,5 +66,4 @@ intermediate coordinate pairs.

You can then serialize to a GeoJSON geometry:
You can then serialize to a GeoJSON geometry format:
> line.json();

@@ -55,2 +76,3 @@ { geometry:

Or to WKT (Well known text):

@@ -61,4 +83,3 @@

It is then up to you to add up these features to create fully fledged geodata. See the examples/ directory
for sample code to create a GeoJSON file from multiple routes.
It is then up to you to add up these features to create fully fledged geodata. See the examples/ directory for sample code to create GeoJSON feature collection from multiple routes.

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc