diff --git a/src/ol/format/format.js b/src/ol/format/format.js deleted file mode 100644 index 30615c454b..0000000000 --- a/src/ol/format/format.js +++ /dev/null @@ -1,17 +0,0 @@ -goog.provide('ol.format'); - - -/** - * @param {function(Object, function(this: S, ol.Feature): T, S=)} reader - * Reader. - * @param {Object} object Object. - * @return {Array.} - * @template S,T - */ -ol.format.readAllFromObject = function(reader, object) { - var features = []; - reader(object, function(feature) { - features.push(feature); - }); - return features; -}; diff --git a/src/ol/format/geojson/geojsonformat.exports b/src/ol/format/geojson/geojsonformat.exports deleted file mode 100644 index 7ba8843ef0..0000000000 --- a/src/ol/format/geojson/geojsonformat.exports +++ /dev/null @@ -1,3 +0,0 @@ -@exportClass ol.format.GeoJSON ol.format.GeoJSONOptions -@exportProperty ol.format.GeoJSON.prototype.readObject -@exportProperty ol.format.GeoJSON.prototype.readString diff --git a/src/ol/format/geojson/geojsonformat.js b/src/ol/format/geojson/geojsonformat.js deleted file mode 100644 index a3945f81f2..0000000000 --- a/src/ol/format/geojson/geojsonformat.js +++ /dev/null @@ -1,171 +0,0 @@ -// FIXME coordinate order -// FIXME reprojection -// FIXME support other geometry types - -goog.provide('ol.format.GeoJSON'); - -goog.require('goog.asserts'); -goog.require('goog.json'); -goog.require('ol.Feature'); -goog.require('ol.format.IReader'); -goog.require('ol.geom.LineString'); -goog.require('ol.geom.MultiLineString'); -goog.require('ol.geom.MultiPolygon'); -goog.require('ol.geom.Point'); -goog.require('ol.geom.Polygon'); - - - -/** - * @constructor - * @implements {ol.format.IReader} - * @param {ol.format.GeoJSONOptions=} opt_options Options. - */ -ol.format.GeoJSON = function(opt_options) { -}; - - -/** - * @param {GeoJSONGeometry} geometry Geometry. - * @private - * @return {ol.geom.Point} Point. - */ -ol.format.GeoJSON.readPointGeometry_ = function(geometry) { - goog.asserts.assert(geometry.type == 'Point'); - return new ol.geom.Point(geometry.coordinates); -}; - - -/** - * @param {GeoJSONGeometry} geometry Geometry. - * @private - * @return {ol.geom.LineString} LineString. - */ -ol.format.GeoJSON.readLineStringGeometry_ = function(geometry) { - goog.asserts.assert(geometry.type == 'LineString'); - return new ol.geom.LineString(geometry.coordinates); -}; - - -/** - * @param {GeoJSONGeometry} geometry Geometry. - * @private - * @return {ol.geom.MultiLineString} MultiLineString. - */ -ol.format.GeoJSON.readMultiLineStringGeometry_ = function(geometry) { - goog.asserts.assert(geometry.type == 'MultiLineString'); - return new ol.geom.MultiLineString(geometry.coordinates); -}; - - -/** - * @param {GeoJSONGeometry} geometry Geometry. - * @private - * @return {ol.geom.MultiPolygon} MultiPolygon. - */ -ol.format.GeoJSON.readMultiPolygonGeometry_ = function(geometry) { - goog.asserts.assert(geometry.type == 'MultiPolygon'); - return new ol.geom.MultiPolygon(geometry.coordinates); -}; - - -/** - * @param {GeoJSONGeometry} geometry Geometry. - * @private - * @return {ol.geom.Polygon} Polygon. - */ -ol.format.GeoJSON.readPolygonGeometry_ = function(geometry) { - goog.asserts.assert(geometry.type == 'Polygon'); - return new ol.geom.Polygon(geometry.coordinates); -}; - - -/** - * @param {GeoJSONObject} object Object. - * @param {function(this: S, ol.Feature): T} callback Callback. - * @param {S=} opt_obj Scope. - * @private - * @return {T} Callback result. - * @template S,T - */ -ol.format.GeoJSON.readFeature_ = function(object, callback, opt_obj) { - goog.asserts.assert(object.type == 'Feature'); - var feature = /** @type {GeoJSONFeature} */ (object); - var geometryReader = - ol.format.GeoJSON.GEOMETRY_READERS_[feature.geometry.type]; - goog.asserts.assert(goog.isDef(geometryReader)); - var geometry = geometryReader(feature.geometry); - var f = new ol.Feature(geometry); - f.setId(feature.id); - if (goog.isDef(feature.properties)) { - f.setValues(feature.properties); - } - return callback.call(opt_obj, f); -}; - - -/** - * @param {GeoJSONObject} object Object. - * @param {function(this: S, ol.Feature): T} callback Callback. - * @param {S=} opt_obj Scope. - * @private - * @return {T|undefined} Callback result. - * @template S,T - */ -ol.format.GeoJSON.readFeatureCollection_ = function(object, callback, opt_obj) { - goog.asserts.assert(object.type == 'FeatureCollection'); - var featureCollection = /** @type {GeoJSONFeatureCollection} */ (object); - var features = featureCollection.features; - var i, ii; - for (i = 0, ii = features.length; i < ii; ++i) { - var result = ol.format.GeoJSON.readFeature_(features[i], callback, opt_obj); - if (result) { - return result; - } - } - return undefined; -}; - - -/** - * @inheritDoc - */ -ol.format.GeoJSON.prototype.readObject = function(object, callback, opt_obj) { - var geoJSONObject = /** @type {GeoJSONObject} */ (object); - var objectReader = ol.format.GeoJSON.OBJECT_READERS_[geoJSONObject.type]; - goog.asserts.assert(goog.isDef(objectReader)); - return objectReader(geoJSONObject, callback, opt_obj); -}; - - -/** - * @inheritDoc - */ -ol.format.GeoJSON.prototype.readString = function(string, callback, opt_obj) { - return this.readObject(goog.json.parse(string), callback, opt_obj); -}; - - -/** - * @const - * @private - * @type {Object.} - */ -ol.format.GeoJSON.GEOMETRY_READERS_ = { - 'Point': ol.format.GeoJSON.readPointGeometry_, - 'LineString': ol.format.GeoJSON.readLineStringGeometry_, - 'Polygon': ol.format.GeoJSON.readPolygonGeometry_, - 'MultiLineString': ol.format.GeoJSON.readMultiLineStringGeometry_, - 'MultiPolygon': ol.format.GeoJSON.readMultiPolygonGeometry_ -}; - - -/** - * @const - * @private - * @type {Object.} - */ -ol.format.GeoJSON.OBJECT_READERS_ = { - 'Feature': ol.format.GeoJSON.readFeature_, - 'FeatureCollection': ol.format.GeoJSON.readFeatureCollection_ -}; diff --git a/src/ol/format/iformat.js b/src/ol/format/iformat.js deleted file mode 100644 index 3ee5601845..0000000000 --- a/src/ol/format/iformat.js +++ /dev/null @@ -1,34 +0,0 @@ -// FIXME add XML -// FIXME add IWriter - -goog.provide('ol.format.IReader'); - - - -/** - * @interface - */ -ol.format.IReader = function() { -}; - - -/** - * @param {Object} object Object. - * @param {function(this: S, ol.Feature): T} callback Callback. - * @param {S=} opt_obj Scope. - * @return {T|undefined} Callback result. - * @template S,T - */ -ol.format.IReader.prototype.readObject = function(object, callback, opt_obj) { -}; - - -/** - * @param {string} string String. - * @param {function(this: S, ol.Feature): T} callback Callback. - * @param {S=} opt_obj Scope. - * @return {T|undefined} Callback result. - * @template S,T - */ -ol.format.IReader.prototype.readString = function(string, callback, opt_obj) { -}; diff --git a/test/spec/ol/format/geojsonformat.test.js b/test/spec/ol/format/geojsonformat.test.js deleted file mode 100644 index b25b5616ed..0000000000 --- a/test/spec/ol/format/geojsonformat.test.js +++ /dev/null @@ -1,113 +0,0 @@ -goog.provide('ol.test.reader.GeoJSON'); - - -describe('ol.format.GeoJSON', function() { - - var pointGeoJSON = { - 'type': 'Feature', - 'geometry': { - 'type': 'Point', - 'coordinates': [102.0, 0.5] - }, - 'properties': { - 'prop0': 'value0' - } - }; - - var lineStringGeoJSON = { - 'type': 'Feature', - 'geometry': { - 'type': 'LineString', - 'coordinates': [ - [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0] - ] - }, - 'properties': { - 'prop0': 'value0', - 'prop1': 0.0 - } - }; - - var polygonGeoJSON = { - 'type': 'Feature', - 'geometry': { - 'type': 'Polygon', - 'coordinates': [[ - [100.0, 0.0], [100.0, 1.0], [101.0, 1.0], [101.0, 0.0] - ]] - }, - 'properties': { - 'prop0': 'value0', - 'prop1': {'this': 'that'} - } - }; - - var featureCollectionGeoJSON = { - 'type': 'FeatureCollection', - 'features': [pointGeoJSON, lineStringGeoJSON, polygonGeoJSON] - }; - - var format = new ol.format.GeoJSON(); - - describe('readObject', function() { - - it('can read a single point feature', function() { - var feature = format.readObject(pointGeoJSON, function(f) { - return f; - }); - expect(feature).to.be.an(ol.Feature); - var geometry = feature.getGeometry(); - expect(geometry).to.be.an(ol.geom.Point); - expect(geometry.getCoordinates()).to.eql([102.0, 0.5]); - expect(feature.get('prop0')).to.be('value0'); - }); - - it('can read a single line string feature', function() { - var feature = format.readObject(lineStringGeoJSON, - function(f) { - return f; - }); - expect(feature).to.be.an(ol.Feature); - var geometry = feature.getGeometry(); - expect(geometry).to.be.an(ol.geom.LineString); - expect(geometry.getCoordinates()).to.eql( - [[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]]); - expect(feature.get('prop0')).to.be('value0'); - expect(feature.get('prop1')).to.be(0.0); - }); - - it('can read a single polygon feature', function() { - var feature = format.readObject(polygonGeoJSON, function(f) { - return f; - }); - expect(feature).to.be.an(ol.Feature); - var geometry = feature.getGeometry(); - expect(geometry).to.be.an(ol.geom.Polygon); - expect(geometry.getCoordinates()).to.eql([[ - [100.0, 0.0], [100.0, 1.0], [101.0, 1.0], [101.0, 0.0] - ]]); - expect(feature.get('prop0')).to.be('value0'); - expect(feature.get('prop1')).to.eql({'this': 'that'}); - }); - - it('can read a feature collection', function() { - var features = []; - format.readObject(featureCollectionGeoJSON, function(f) { - features.push(f); - }); - expect(features).to.have.length(3); - expect(features[0].getGeometry()).to.be.an(ol.geom.Point); - expect(features[1].getGeometry()).to.be.an(ol.geom.LineString); - expect(features[2].getGeometry()).to.be.an(ol.geom.Polygon); - }); - - }); - -}); - - -goog.require('ol.Feature'); -goog.require('ol.format.GeoJSON'); -goog.require('ol.geom.LineString'); -goog.require('ol.geom.Point'); -goog.require('ol.geom.Polygon');