1.1.4 ā€¢ Published 4 years ago

sun-horizon v1.1.4

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

sun-horizon šŸŒ„

License Version Build Status

šŸŒ„ Get Horizon profile based on topography from a (latitude, longitude) point.

šŸ™ŒšŸ» This module is heavily based on node-hgt.

ā˜•ļø Support

šŸ Install

npm install sun-horizon

šŸƒā€ā™‚ļø Usage

āœ… Call init() function before any other operations.

šŸ—„ sun-horizon uses a cache directory of HGT files (default sun-horizon-data/).

šŸ’» This module supports javascript or typescirpt.

const sunHorizon = require('sun-horizon');

sunHorizon.init();
const horizon = await sunHorizon.getHorizon({"lat": 45, "lng": 5});

or

import { getHorizon, init } from 'sun-horizon';

init();
const horizon = await getHorizon({lat: 45, lng: 5});

Types

LatLng

{
  lat: number;
  lng: number;
}

HorizonOptions

{
  azimuthOptions?: AzimuthOptions;
  highestPointOptions?: HighestPointOptions;
}

AzimuthOptions

{
  azimuthStart?: number; // degree, 0 is North, 90 Eeast
  azimuthEnd?: number; // degree
  azimuthTick?: number; // degree
}

HighestPointOptions

{
  distanceMax?: number; // meter
  distanceTick?: number; // meter
}

HorizonPoint

{
  azimuth: number; // degree
  angle: number; // degree, 0 is same elevation as origin
  altitude: number; // meter

  latLng?: LatLng;
}

Horizon

{
  origin: LatLng;
  elevationProfile: HorizonPoint[];
}

CacheData

{
  bytes: number;
  files: number;
}

Functions

init

init(cacheDirectory?: string): void

Initialize module and create the required cache directory (default is sun-horizon-data/) + populate with a .gitignore file.

getHorizon

getHorizon(origin: LatLng, options?: HorizonOptions): Promise<Horizon>
const grenoble: LatLng = {
  lat: 45.185739,
  lng: 5.736236
}
const horizon = await getHorizon(grenoble);
console.log(horizon.elevationProfile.map(point => point.altitude));

highestPointInAzimuth

highestPointInAzimuth(origin: LatLng, azimuth: number, options?: HighestPointOptions): Promise<HorizonPoint>
const origin: LatLng = {
  lat: 45.185739,
  lng: 5.736236
}
const azimuth = 90; // East
const point = await highestPointInAzimuth(origin, azimuth);

getAltitude

getAltitude(latLng: LatLng): Promise<number>
const origin: LatLng = {
  lat: 45.185739,
  lng: 5.736236
}
const altitude = await getAltitude(origin); // in meter

getCacheData

Return number of files and total size in bytes. (See CacheData)

getCacheData(): Promise<CacheData>
const cache = await getCacheData();

cleanCache

Delete all .hgt cache files and return number of deleted files.

cleanCache(): Promise<number>
const deletedFiles = await cleanCache();
1.1.4

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago