So bestimmen Sie die Fläche eines Polygons in OpenLayers 3

Inhaltsverzeichnis:

So bestimmen Sie die Fläche eines Polygons in OpenLayers 3
So bestimmen Sie die Fläche eines Polygons in OpenLayers 3

Video: So bestimmen Sie die Fläche eines Polygons in OpenLayers 3

Video: So bestimmen Sie die Fläche eines Polygons in OpenLayers 3
Video: An Installation And First Look Of Fedora 35 2024, Kann
Anonim

Polygone sind eine großartige Möglichkeit, die ungefähre Landfläche auf einer Karte darzustellen, und es ist oft hilfreich, die Fläche des von Ihnen definierten Polygons zu kennen. Dies ist in OpenLayers 3 möglich; ein leistungsstarkes JavaScript-Mapping-Tool.

In diesem Artikel erfahren Sie, wie Sie ein Polygon hinzufügen und dann die Fläche mithilfe einer Kugel berechnen.

Bitte beachten Sie, dass Sie eine funktionierende OpenLayers-Map auf einer Webseite installiert haben müssen, um diesem Artikel folgen zu können. Wenn Sie keine haben, erstellen Sie eine Karte mit OpenLayers 3.

Schritte

7151572 1
7151572 1

Schritt 1. Erstellen Sie ein Polygon-Feature

Die Polygon-Konstruktorfunktion benötigt ein Array von Koordinaten-Arrays; Definieren Sie dieses Array zuerst in einer Variablen, damit Sie es später verwenden können. Kopieren Sie einfach die folgende Codezeile in Ihr

Element:

var-Koordinaten =

7151572 2
7151572 2

Schritt 2. Fügen Sie das Feature zu einer Vektorebene hinzu

Um das Polygon zur Karte hinzuzufügen, müssen Sie es einer Quelle hinzufügen, die Sie einer Vektorebene hinzufügen, die Sie dann zur Karte hinzufügen können:

var vector_layer = new ol.layer. Vector({ source: new ol.source. Vector({ features: [polygon_feature] }) }) map.addLayer(vector_layer);

7151572 3
7151572 3

Schritt 3. Transformieren Sie die Geometrie des Features, um Koordinaten zu verwenden

var current_projection = new ol.proj. Projection({code: "EPSG:4326"}); var new_projection = tile_layer.getSource().getProjection(); polygon_feature.getGeometry().transform(current_projection, new_projection);

7151572 4
7151572 4

Schritt 4. Erstellen Sie eine Kugel, um die Berechnung durchzuführen

Die Kugel sollte die Größe der Erde haben (sollte einen Radius von 6,3 m haben). Technisch gesehen hat die Kugel einen Radius, der gleich der großen Halbachse des WGS84-Ellipsoids ist.

var sphere = new ol. Sphere (6378137);

7151572 5
7151572 5

Schritt 5. Verwenden Sie die Kugel, um die Fläche mit der Methode geodesicArea() zu berechnen

Da die Methode einen Wert in Quadratmetern liefert, teilen Sie ihn durch eine Million, um Quadratkilometer zu erhalten.

var area_m = sphere.geodesicArea(Koordinaten); var Bereich_km = Bereich_m / 1000 / 1000; console.log('area: ', area_km, 'km²'); // KONSOLE: Fläche: 2317133.7166773956 km²

7151572 6
7151572 6

Schritt 6. Prüfen Sie, ob die Bereichsantwort sinnvoll ist

Wir wissen, dass es richtig ist, weil es ungefähr so groß zu sein scheint wie Algerien, das eine Fläche von 2.381,741 km² hat (aus Wikipedia).

Empfohlen: