TsGeo - Usage - Polyline

There is an sample to get a polyline length using TsGeo.

The Vincenty's formula is used.

To create a polyline:

import {Coordinate} from "tsgeo/Coordinate";
import {Polyline}   from "tsgeo/Polyline";

/* Add the following in a method of TS class */

let track = new Polyline();

track.addPoint(new Coordinate(52.5, 13.5));
track.addPoint(new Coordinate(54.5, 12.5));
track.addPoint(new Coordinate(55.5, 14.5));

To get length of each segments:

let index = 1;
for (const segment of track.getSegments()) {
  console.log('Segment ' + index + ' length: ' +
              (segment.getLength(new Vincenty()) / 1000).toString() +
              ' kilometers');
  index++;
}

This snippet display the following data:

Segment 1 length: 275.154731 kilometers
Segment 2 length: 143.797789 kilometers

To get length of each segments, where points are reversed:

let index = 1;
let reverseTrack = track.getReverse();
for (const segment of reverseTrack.getSegments()) {
  console.log('Segment ' + index + ' length: ' +
              (segment.getLength(new Vincenty()) / 1000).toString() +
              ' kilometers');
  index++;
}

This snippet display the following data:

Segment 1 length: 143.797789 kilometers
Segment 2 length: 275.154731 kilometers

To get the polyline length:

console.log('Polyline length: ' +
              (track.getLength(new Vincenty()) / 1000).toString() +
              ' kilometers');

This snippet display the following data:

Length: 418.95252 kilometers

Line length Retour Polygon


Ajouter un commentaire