Replace ol/Sphere with ol/sphere
This commit is contained in:
@@ -3,7 +3,7 @@ layout: example.html
|
||||
title: Measure
|
||||
shortdesc: Using a draw interaction to measure lengths and areas.
|
||||
docs: >
|
||||
<p>The <code>ol.Sphere.getLength()</code> and <code>ol.Sphere.getArea()</code>
|
||||
<p>The <code>getLength()</code> and <code>getArea()</code>
|
||||
functions calculate spherical lengths and areas for geometries. Lengths are
|
||||
calculated by assuming great circle segments between geometry coordinates.
|
||||
Areas are calculated as if edges of polygons were great circle segments.</p>
|
||||
@@ -11,7 +11,7 @@ docs: >
|
||||
methods return measures of projected (planar) geometries. These can be very
|
||||
different than on-the-ground measures in certain situations — in northern
|
||||
and southern latitudes using Web Mercator for example. For better results,
|
||||
use the functions on <code>ol.Sphere</code>.</p>
|
||||
use the functions in the <code>ol/sphere</code> module.</p>
|
||||
tags: "draw, edit, measure, vector"
|
||||
---
|
||||
<div id="map" class="map"></div>
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
import _ol_Map_ from '../src/ol/Map.js';
|
||||
import _ol_Observable_ from '../src/ol/Observable.js';
|
||||
import _ol_Overlay_ from '../src/ol/Overlay.js';
|
||||
import _ol_Sphere_ from '../src/ol/Sphere.js';
|
||||
import {getArea, getLength} from '../src/ol/sphere.js';
|
||||
import _ol_View_ from '../src/ol/View.js';
|
||||
import LineString from '../src/ol/geom/LineString.js';
|
||||
import Polygon from '../src/ol/geom/Polygon.js';
|
||||
@@ -144,7 +144,7 @@ var draw; // global so we can remove it later
|
||||
* @return {string} The formatted length.
|
||||
*/
|
||||
var formatLength = function(line) {
|
||||
var length = _ol_Sphere_.getLength(line);
|
||||
var length = getLength(line);
|
||||
var output;
|
||||
if (length > 100) {
|
||||
output = (Math.round(length / 1000 * 100) / 100) +
|
||||
@@ -163,7 +163,7 @@ var formatLength = function(line) {
|
||||
* @return {string} Formatted area.
|
||||
*/
|
||||
var formatArea = function(polygon) {
|
||||
var area = _ol_Sphere_.getArea(polygon);
|
||||
var area = getArea(polygon);
|
||||
var output;
|
||||
if (area > 10000) {
|
||||
output = (Math.round(area / 1000000 * 100) / 100) +
|
||||
|
||||
+1
-4
@@ -1,6 +1,5 @@
|
||||
import _ol_Feature_ from '../src/ol/Feature.js';
|
||||
import _ol_Map_ from '../src/ol/Map.js';
|
||||
import _ol_Sphere_ from '../src/ol/Sphere.js';
|
||||
import _ol_View_ from '../src/ol/View.js';
|
||||
import Polygon from '../src/ol/geom/Polygon.js';
|
||||
import TileLayer from '../src/ol/layer/Tile.js';
|
||||
@@ -57,13 +56,11 @@ var map3857 = new _ol_Map_({
|
||||
})
|
||||
});
|
||||
|
||||
var wgs84Sphere = new _ol_Sphere_(6378137);
|
||||
|
||||
var radius = 800000;
|
||||
var x, y;
|
||||
for (x = -180; x < 180; x += 30) {
|
||||
for (y = -90; y < 90; y += 30) {
|
||||
var circle4326 = Polygon.circular(wgs84Sphere, [x, y], radius, 64);
|
||||
var circle4326 = Polygon.circular([x, y], radius, 64);
|
||||
var circle3857 = circle4326.clone().transform('EPSG:4326', 'EPSG:3857');
|
||||
vectorLayer4326.getSource().addFeature(new _ol_Feature_(circle4326));
|
||||
vectorLayer3857.getSource().addFeature(new _ol_Feature_(circle3857));
|
||||
|
||||
Reference in New Issue
Block a user