From 2e903c02934f09634e0daf44481f72f53d559b07 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Tue, 11 Jul 2017 08:00:41 -0600 Subject: [PATCH 1/2] Remove ol.sphere.WGS84 --- package.json | 34 +++++++++++++++++-------------- src/ol/geolocation.js | 13 +++++++++--- src/ol/sphere/wgs84.js | 11 ---------- test/spec/ol/sphere/index.test.js | 5 +++-- 4 files changed, 32 insertions(+), 31 deletions(-) delete mode 100644 src/ol/sphere/wgs84.js diff --git a/package.json b/package.json index c1125f69c0..5f44daa257 100644 --- a/package.json +++ b/package.json @@ -101,22 +101,26 @@ "openlayers-internal/requires-first": 2, "openlayers-internal/valid-provide": 2, "openlayers-internal/valid-requires": 2, - "indent": [2, 2, { - "VariableDeclarator": 2, - "SwitchCase": 1, - "MemberExpression": 2, - "FunctionDeclaration": { - "parameters": 2, - "body": 1 - }, - "FunctionExpression": { - "parameters": 2, - "body": 1 - }, - "CallExpression": { - "arguments": 2 + "indent": [ + 2, + 2, + { + "VariableDeclarator": 2, + "SwitchCase": 1, + "MemberExpression": 2, + "FunctionDeclaration": { + "parameters": 2, + "body": 1 + }, + "FunctionExpression": { + "parameters": 2, + "body": 1 + }, + "CallExpression": { + "arguments": 2 + } } - }] + ] } }, "ext": [ diff --git a/src/ol/geolocation.js b/src/ol/geolocation.js index 202c7a6334..1a6ecf2efc 100644 --- a/src/ol/geolocation.js +++ b/src/ol/geolocation.js @@ -3,15 +3,16 @@ goog.provide('ol.Geolocation'); goog.require('ol'); -goog.require('ol.Object'); goog.require('ol.GeolocationProperty'); +goog.require('ol.Object'); +goog.require('ol.Sphere'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.geom.Polygon'); goog.require('ol.has'); goog.require('ol.math'); goog.require('ol.proj'); -goog.require('ol.sphere.WGS84'); +goog.require('ol.proj.EPSG4326'); /** @@ -59,6 +60,12 @@ ol.Geolocation = function(opt_options) { */ this.transform_ = ol.proj.identityTransform; + /** + * @private + * @type {ol.Sphere} + */ + this.sphere_ = new ol.Sphere(ol.proj.EPSG4326.RADIUS); + /** * @private * @type {number|undefined} @@ -154,7 +161,7 @@ ol.Geolocation.prototype.positionChange_ = function(position) { this.set(ol.GeolocationProperty.SPEED, coords.speed === null ? undefined : coords.speed); var geometry = ol.geom.Polygon.circular( - ol.sphere.WGS84, this.position_, coords.accuracy); + this.sphere_, this.position_, coords.accuracy); geometry.applyTransform(this.transform_); this.set(ol.GeolocationProperty.ACCURACY_GEOMETRY, geometry); this.changed(); diff --git a/src/ol/sphere/wgs84.js b/src/ol/sphere/wgs84.js deleted file mode 100644 index 19624fd6b2..0000000000 --- a/src/ol/sphere/wgs84.js +++ /dev/null @@ -1,11 +0,0 @@ -goog.provide('ol.sphere.WGS84'); - -goog.require('ol.Sphere'); - - -/** - * A sphere with radius equal to the semi-major axis of the WGS84 ellipsoid. - * @const - * @type {ol.Sphere} - */ -ol.sphere.WGS84 = new ol.Sphere(6378137); diff --git a/test/spec/ol/sphere/index.test.js b/test/spec/ol/sphere/index.test.js index ada238dd3e..ed92a9b292 100644 --- a/test/spec/ol/sphere/index.test.js +++ b/test/spec/ol/sphere/index.test.js @@ -4,8 +4,8 @@ goog.provide('ol.test.Sphere'); goog.require('ol.Sphere'); -goog.require('ol.sphere.WGS84'); goog.require('ol.format.WKT'); +goog.require('ol.proj.EPSG4326'); describe('ol.Sphere', function() { @@ -102,7 +102,8 @@ describe('ol.Sphere', function() { it('results match the expected area of Ilinois', function() { var coords = geometry.getPolygon(0).getLinearRing(0).getCoordinates(); - expect(ol.sphere.WGS84.geodesicArea(coords)).to.equal(145978332359.37125); + var sphere = new ol.Sphere(ol.proj.EPSG4326.RADIUS); + expect(sphere.geodesicArea(coords)).to.equal(145978332359.37125); }); }); From fa71593a2ad775772719fb7120597a5416af780c Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Tue, 11 Jul 2017 08:10:46 -0600 Subject: [PATCH 2/2] Remove ol.sphere.NORMAL --- src/ol/proj.js | 14 +++++++++++--- src/ol/sphere/normal.js | 11 ----------- 2 files changed, 11 insertions(+), 14 deletions(-) delete mode 100644 src/ol/sphere/normal.js diff --git a/src/ol/proj.js b/src/ol/proj.js index 4af03b0f42..66b8fb21bd 100644 --- a/src/ol/proj.js +++ b/src/ol/proj.js @@ -1,6 +1,7 @@ goog.provide('ol.proj'); goog.require('ol'); +goog.require('ol.Sphere'); goog.require('ol.extent'); goog.require('ol.proj.EPSG3857'); goog.require('ol.proj.EPSG4326'); @@ -9,7 +10,6 @@ goog.require('ol.proj.Units'); goog.require('ol.proj.proj4'); goog.require('ol.proj.projections'); goog.require('ol.proj.transforms'); -goog.require('ol.sphere.NORMAL'); /** @@ -21,6 +21,14 @@ goog.require('ol.sphere.NORMAL'); ol.proj.METERS_PER_UNIT = ol.proj.Units.METERS_PER_UNIT; +/** + * A place to store the radius of the Clarke 1866 Authalic Sphere. + * @private + * @type {ol.Sphere} + */ +ol.proj.AUTHALIC_SPHERE_ = new ol.Sphere(6370997); + + if (ol.ENABLE_PROJ4JS) { /** * Register proj4. If not explicitly registered, it will be assumed that @@ -80,9 +88,9 @@ ol.proj.getPointResolution = function(projection, resolution, point) { point[0], point[1] + resolution / 2 ]; vertices = toEPSG4326(vertices, vertices, 2); - var width = ol.sphere.NORMAL.haversineDistance( + var width = ol.proj.AUTHALIC_SPHERE_.haversineDistance( vertices.slice(0, 2), vertices.slice(2, 4)); - var height = ol.sphere.NORMAL.haversineDistance( + var height = ol.proj.AUTHALIC_SPHERE_.haversineDistance( vertices.slice(4, 6), vertices.slice(6, 8)); pointResolution = (width + height) / 2; var metersPerUnit = projection.getMetersPerUnit(); diff --git a/src/ol/sphere/normal.js b/src/ol/sphere/normal.js deleted file mode 100644 index 70e6f8e165..0000000000 --- a/src/ol/sphere/normal.js +++ /dev/null @@ -1,11 +0,0 @@ -goog.provide('ol.sphere.NORMAL'); - -goog.require('ol.Sphere'); - - -/** - * The normal sphere. - * @const - * @type {ol.Sphere} - */ -ol.sphere.NORMAL = new ol.Sphere(6370997);