TsGeo - Usage - Polygon

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

The Vincenty's formula is used.

To create a polyline:

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

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

let polygon = new Polygon();

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

To get length of each segments:

let index = 1;
for (const segment of polygon.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
Segment 3 length: 340.283134 kilometers

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

let index = 1;
let reversePolygon = polygon.getReverse();
for (const segment of reversePolygon.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
Segment 3 length: 340.283134 kilometers

To get area and perimeter:

console.log(Polygon Area = ' + (polygon.getArea() / 1000000) + ' km², <br>' +
            'Perimeter = ' + (polygon.getPerimeter(new Vincenty()) / 1000) + ' m);

This snippet display the following data:

Polygon Area = 17773.260742317438 km²,
Perimeter = 742.16571 m

Polyline Retour


Ajouter un commentaire