|
|
|
@@ -30,7 +30,7 @@ import {get as getProjection} from '../proj.js';
|
|
|
|
* @param {olx.format.EsriJSONOptions=} opt_options Options.
|
|
|
|
* @param {olx.format.EsriJSONOptions=} opt_options Options.
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
var _ol_format_EsriJSON_ = function(opt_options) {
|
|
|
|
var EsriJSON = function(opt_options) {
|
|
|
|
|
|
|
|
|
|
|
|
var options = opt_options ? opt_options : {};
|
|
|
|
var options = opt_options ? opt_options : {};
|
|
|
|
|
|
|
|
|
|
|
|
@@ -45,7 +45,7 @@ var _ol_format_EsriJSON_ = function(opt_options) {
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
inherits(_ol_format_EsriJSON_, _ol_format_JSONFeature_);
|
|
|
|
inherits(EsriJSON, _ol_format_JSONFeature_);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@@ -54,7 +54,7 @@ inherits(_ol_format_EsriJSON_, _ol_format_JSONFeature_);
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {ol.geom.Geometry} Geometry.
|
|
|
|
* @return {ol.geom.Geometry} Geometry.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.readGeometry_ = function(object, opt_options) {
|
|
|
|
EsriJSON.readGeometry_ = function(object, opt_options) {
|
|
|
|
if (!object) {
|
|
|
|
if (!object) {
|
|
|
|
return null;
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -71,8 +71,8 @@ _ol_format_EsriJSON_.readGeometry_ = function(object, opt_options) {
|
|
|
|
type = GeometryType.MULTI_LINE_STRING;
|
|
|
|
type = GeometryType.MULTI_LINE_STRING;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (object.rings) {
|
|
|
|
} else if (object.rings) {
|
|
|
|
var layout = _ol_format_EsriJSON_.getGeometryLayout_(object);
|
|
|
|
var layout = EsriJSON.getGeometryLayout_(object);
|
|
|
|
var rings = _ol_format_EsriJSON_.convertRings_(object.rings, layout);
|
|
|
|
var rings = EsriJSON.convertRings_(object.rings, layout);
|
|
|
|
object = /** @type {EsriJSONGeometry} */(_ol_obj_.assign({}, object));
|
|
|
|
object = /** @type {EsriJSONGeometry} */(_ol_obj_.assign({}, object));
|
|
|
|
if (rings.length === 1) {
|
|
|
|
if (rings.length === 1) {
|
|
|
|
type = GeometryType.POLYGON;
|
|
|
|
type = GeometryType.POLYGON;
|
|
|
|
@@ -82,7 +82,7 @@ _ol_format_EsriJSON_.readGeometry_ = function(object, opt_options) {
|
|
|
|
object.rings = rings;
|
|
|
|
object.rings = rings;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var geometryReader = _ol_format_EsriJSON_.GEOMETRY_READERS_[type];
|
|
|
|
var geometryReader = EsriJSON.GEOMETRY_READERS_[type];
|
|
|
|
return (
|
|
|
|
return (
|
|
|
|
/** @type {ol.geom.Geometry} */ _ol_format_Feature_.transformWithOptions(
|
|
|
|
/** @type {ol.geom.Geometry} */ _ol_format_Feature_.transformWithOptions(
|
|
|
|
geometryReader(object), false, opt_options)
|
|
|
|
geometryReader(object), false, opt_options)
|
|
|
|
@@ -100,7 +100,7 @@ _ol_format_EsriJSON_.readGeometry_ = function(object, opt_options) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {Array.<!Array.<!Array.<number>>>} Transformed rings.
|
|
|
|
* @return {Array.<!Array.<!Array.<number>>>} Transformed rings.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.convertRings_ = function(rings, layout) {
|
|
|
|
EsriJSON.convertRings_ = function(rings, layout) {
|
|
|
|
var flatRing = [];
|
|
|
|
var flatRing = [];
|
|
|
|
var outerRings = [];
|
|
|
|
var outerRings = [];
|
|
|
|
var holes = [];
|
|
|
|
var holes = [];
|
|
|
|
@@ -149,7 +149,7 @@ _ol_format_EsriJSON_.convertRings_ = function(rings, layout) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {ol.geom.Geometry} Point.
|
|
|
|
* @return {ol.geom.Geometry} Point.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.readPointGeometry_ = function(object) {
|
|
|
|
EsriJSON.readPointGeometry_ = function(object) {
|
|
|
|
var point;
|
|
|
|
var point;
|
|
|
|
if (object.m !== undefined && object.z !== undefined) {
|
|
|
|
if (object.m !== undefined && object.z !== undefined) {
|
|
|
|
point = new Point([object.x, object.y, object.z, object.m],
|
|
|
|
point = new Point([object.x, object.y, object.z, object.m],
|
|
|
|
@@ -172,8 +172,8 @@ _ol_format_EsriJSON_.readPointGeometry_ = function(object) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {ol.geom.Geometry} LineString.
|
|
|
|
* @return {ol.geom.Geometry} LineString.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.readLineStringGeometry_ = function(object) {
|
|
|
|
EsriJSON.readLineStringGeometry_ = function(object) {
|
|
|
|
var layout = _ol_format_EsriJSON_.getGeometryLayout_(object);
|
|
|
|
var layout = EsriJSON.getGeometryLayout_(object);
|
|
|
|
return new LineString(object.paths[0], layout);
|
|
|
|
return new LineString(object.paths[0], layout);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
@@ -183,8 +183,8 @@ _ol_format_EsriJSON_.readLineStringGeometry_ = function(object) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {ol.geom.Geometry} MultiLineString.
|
|
|
|
* @return {ol.geom.Geometry} MultiLineString.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.readMultiLineStringGeometry_ = function(object) {
|
|
|
|
EsriJSON.readMultiLineStringGeometry_ = function(object) {
|
|
|
|
var layout = _ol_format_EsriJSON_.getGeometryLayout_(object);
|
|
|
|
var layout = EsriJSON.getGeometryLayout_(object);
|
|
|
|
return new MultiLineString(object.paths, layout);
|
|
|
|
return new MultiLineString(object.paths, layout);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
@@ -194,7 +194,7 @@ _ol_format_EsriJSON_.readMultiLineStringGeometry_ = function(object) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {ol.geom.GeometryLayout} The geometry layout to use.
|
|
|
|
* @return {ol.geom.GeometryLayout} The geometry layout to use.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.getGeometryLayout_ = function(object) {
|
|
|
|
EsriJSON.getGeometryLayout_ = function(object) {
|
|
|
|
var layout = GeometryLayout.XY;
|
|
|
|
var layout = GeometryLayout.XY;
|
|
|
|
if (object.hasZ === true && object.hasM === true) {
|
|
|
|
if (object.hasZ === true && object.hasM === true) {
|
|
|
|
layout = GeometryLayout.XYZM;
|
|
|
|
layout = GeometryLayout.XYZM;
|
|
|
|
@@ -212,8 +212,8 @@ _ol_format_EsriJSON_.getGeometryLayout_ = function(object) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {ol.geom.Geometry} MultiPoint.
|
|
|
|
* @return {ol.geom.Geometry} MultiPoint.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.readMultiPointGeometry_ = function(object) {
|
|
|
|
EsriJSON.readMultiPointGeometry_ = function(object) {
|
|
|
|
var layout = _ol_format_EsriJSON_.getGeometryLayout_(object);
|
|
|
|
var layout = EsriJSON.getGeometryLayout_(object);
|
|
|
|
return new MultiPoint(object.points, layout);
|
|
|
|
return new MultiPoint(object.points, layout);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
@@ -223,8 +223,8 @@ _ol_format_EsriJSON_.readMultiPointGeometry_ = function(object) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {ol.geom.Geometry} MultiPolygon.
|
|
|
|
* @return {ol.geom.Geometry} MultiPolygon.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.readMultiPolygonGeometry_ = function(object) {
|
|
|
|
EsriJSON.readMultiPolygonGeometry_ = function(object) {
|
|
|
|
var layout = _ol_format_EsriJSON_.getGeometryLayout_(object);
|
|
|
|
var layout = EsriJSON.getGeometryLayout_(object);
|
|
|
|
return new MultiPolygon(
|
|
|
|
return new MultiPolygon(
|
|
|
|
/** @type {Array.<Array.<Array.<Array.<number>>>>} */(object.rings),
|
|
|
|
/** @type {Array.<Array.<Array.<Array.<number>>>>} */(object.rings),
|
|
|
|
layout);
|
|
|
|
layout);
|
|
|
|
@@ -236,8 +236,8 @@ _ol_format_EsriJSON_.readMultiPolygonGeometry_ = function(object) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {ol.geom.Geometry} Polygon.
|
|
|
|
* @return {ol.geom.Geometry} Polygon.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.readPolygonGeometry_ = function(object) {
|
|
|
|
EsriJSON.readPolygonGeometry_ = function(object) {
|
|
|
|
var layout = _ol_format_EsriJSON_.getGeometryLayout_(object);
|
|
|
|
var layout = EsriJSON.getGeometryLayout_(object);
|
|
|
|
return new Polygon(object.rings, layout);
|
|
|
|
return new Polygon(object.rings, layout);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
@@ -248,7 +248,7 @@ _ol_format_EsriJSON_.readPolygonGeometry_ = function(object) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {EsriJSONGeometry} EsriJSON geometry.
|
|
|
|
* @return {EsriJSONGeometry} EsriJSON geometry.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.writePointGeometry_ = function(geometry, opt_options) {
|
|
|
|
EsriJSON.writePointGeometry_ = function(geometry, opt_options) {
|
|
|
|
var coordinates = /** @type {ol.geom.Point} */ (geometry).getCoordinates();
|
|
|
|
var coordinates = /** @type {ol.geom.Point} */ (geometry).getCoordinates();
|
|
|
|
var esriJSON;
|
|
|
|
var esriJSON;
|
|
|
|
var layout = /** @type {ol.geom.Point} */ (geometry).getLayout();
|
|
|
|
var layout = /** @type {ol.geom.Point} */ (geometry).getLayout();
|
|
|
|
@@ -288,7 +288,7 @@ _ol_format_EsriJSON_.writePointGeometry_ = function(geometry, opt_options) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {Object} Object with boolean hasZ and hasM keys.
|
|
|
|
* @return {Object} Object with boolean hasZ and hasM keys.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.getHasZM_ = function(geometry) {
|
|
|
|
EsriJSON.getHasZM_ = function(geometry) {
|
|
|
|
var layout = geometry.getLayout();
|
|
|
|
var layout = geometry.getLayout();
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
hasZ: (layout === GeometryLayout.XYZ ||
|
|
|
|
hasZ: (layout === GeometryLayout.XYZ ||
|
|
|
|
@@ -305,8 +305,8 @@ _ol_format_EsriJSON_.getHasZM_ = function(geometry) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {EsriJSONPolyline} EsriJSON geometry.
|
|
|
|
* @return {EsriJSONPolyline} EsriJSON geometry.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.writeLineStringGeometry_ = function(geometry, opt_options) {
|
|
|
|
EsriJSON.writeLineStringGeometry_ = function(geometry, opt_options) {
|
|
|
|
var hasZM = _ol_format_EsriJSON_.getHasZM_(/** @type {ol.geom.LineString} */(geometry));
|
|
|
|
var hasZM = EsriJSON.getHasZM_(/** @type {ol.geom.LineString} */(geometry));
|
|
|
|
return /** @type {EsriJSONPolyline} */ ({
|
|
|
|
return /** @type {EsriJSONPolyline} */ ({
|
|
|
|
hasZ: hasZM.hasZ,
|
|
|
|
hasZ: hasZM.hasZ,
|
|
|
|
hasM: hasZM.hasM,
|
|
|
|
hasM: hasZM.hasM,
|
|
|
|
@@ -323,9 +323,9 @@ _ol_format_EsriJSON_.writeLineStringGeometry_ = function(geometry, opt_options)
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {EsriJSONPolygon} EsriJSON geometry.
|
|
|
|
* @return {EsriJSONPolygon} EsriJSON geometry.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.writePolygonGeometry_ = function(geometry, opt_options) {
|
|
|
|
EsriJSON.writePolygonGeometry_ = function(geometry, opt_options) {
|
|
|
|
// Esri geometries use the left-hand rule
|
|
|
|
// Esri geometries use the left-hand rule
|
|
|
|
var hasZM = _ol_format_EsriJSON_.getHasZM_(/** @type {ol.geom.Polygon} */(geometry));
|
|
|
|
var hasZM = EsriJSON.getHasZM_(/** @type {ol.geom.Polygon} */(geometry));
|
|
|
|
return /** @type {EsriJSONPolygon} */ ({
|
|
|
|
return /** @type {EsriJSONPolygon} */ ({
|
|
|
|
hasZ: hasZM.hasZ,
|
|
|
|
hasZ: hasZM.hasZ,
|
|
|
|
hasM: hasZM.hasM,
|
|
|
|
hasM: hasZM.hasM,
|
|
|
|
@@ -340,8 +340,8 @@ _ol_format_EsriJSON_.writePolygonGeometry_ = function(geometry, opt_options) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {EsriJSONPolyline} EsriJSON geometry.
|
|
|
|
* @return {EsriJSONPolyline} EsriJSON geometry.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.writeMultiLineStringGeometry_ = function(geometry, opt_options) {
|
|
|
|
EsriJSON.writeMultiLineStringGeometry_ = function(geometry, opt_options) {
|
|
|
|
var hasZM = _ol_format_EsriJSON_.getHasZM_(/** @type {ol.geom.MultiLineString} */(geometry));
|
|
|
|
var hasZM = EsriJSON.getHasZM_(/** @type {ol.geom.MultiLineString} */(geometry));
|
|
|
|
return /** @type {EsriJSONPolyline} */ ({
|
|
|
|
return /** @type {EsriJSONPolyline} */ ({
|
|
|
|
hasZ: hasZM.hasZ,
|
|
|
|
hasZ: hasZM.hasZ,
|
|
|
|
hasM: hasZM.hasM,
|
|
|
|
hasM: hasZM.hasM,
|
|
|
|
@@ -356,8 +356,8 @@ _ol_format_EsriJSON_.writeMultiLineStringGeometry_ = function(geometry, opt_opti
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {EsriJSONMultipoint} EsriJSON geometry.
|
|
|
|
* @return {EsriJSONMultipoint} EsriJSON geometry.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.writeMultiPointGeometry_ = function(geometry, opt_options) {
|
|
|
|
EsriJSON.writeMultiPointGeometry_ = function(geometry, opt_options) {
|
|
|
|
var hasZM = _ol_format_EsriJSON_.getHasZM_(/** @type {ol.geom.MultiPoint} */(geometry));
|
|
|
|
var hasZM = EsriJSON.getHasZM_(/** @type {ol.geom.MultiPoint} */(geometry));
|
|
|
|
return /** @type {EsriJSONMultipoint} */ ({
|
|
|
|
return /** @type {EsriJSONMultipoint} */ ({
|
|
|
|
hasZ: hasZM.hasZ,
|
|
|
|
hasZ: hasZM.hasZ,
|
|
|
|
hasM: hasZM.hasM,
|
|
|
|
hasM: hasZM.hasM,
|
|
|
|
@@ -372,9 +372,9 @@ _ol_format_EsriJSON_.writeMultiPointGeometry_ = function(geometry, opt_options)
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {EsriJSONPolygon} EsriJSON geometry.
|
|
|
|
* @return {EsriJSONPolygon} EsriJSON geometry.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.writeMultiPolygonGeometry_ = function(geometry,
|
|
|
|
EsriJSON.writeMultiPolygonGeometry_ = function(geometry,
|
|
|
|
opt_options) {
|
|
|
|
opt_options) {
|
|
|
|
var hasZM = _ol_format_EsriJSON_.getHasZM_(/** @type {ol.geom.MultiPolygon} */(geometry));
|
|
|
|
var hasZM = EsriJSON.getHasZM_(/** @type {ol.geom.MultiPolygon} */(geometry));
|
|
|
|
var coordinates = /** @type {ol.geom.MultiPolygon} */ (geometry).getCoordinates(false);
|
|
|
|
var coordinates = /** @type {ol.geom.MultiPolygon} */ (geometry).getCoordinates(false);
|
|
|
|
var output = [];
|
|
|
|
var output = [];
|
|
|
|
for (var i = 0; i < coordinates.length; i++) {
|
|
|
|
for (var i = 0; i < coordinates.length; i++) {
|
|
|
|
@@ -395,19 +395,19 @@ _ol_format_EsriJSON_.writeMultiPolygonGeometry_ = function(geometry,
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @type {Object.<ol.geom.GeometryType, function(EsriJSONGeometry): ol.geom.Geometry>}
|
|
|
|
* @type {Object.<ol.geom.GeometryType, function(EsriJSONGeometry): ol.geom.Geometry>}
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_READERS_ = {};
|
|
|
|
EsriJSON.GEOMETRY_READERS_ = {};
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_READERS_[GeometryType.POINT] =
|
|
|
|
EsriJSON.GEOMETRY_READERS_[GeometryType.POINT] =
|
|
|
|
_ol_format_EsriJSON_.readPointGeometry_;
|
|
|
|
EsriJSON.readPointGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_READERS_[GeometryType.LINE_STRING] =
|
|
|
|
EsriJSON.GEOMETRY_READERS_[GeometryType.LINE_STRING] =
|
|
|
|
_ol_format_EsriJSON_.readLineStringGeometry_;
|
|
|
|
EsriJSON.readLineStringGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_READERS_[GeometryType.POLYGON] =
|
|
|
|
EsriJSON.GEOMETRY_READERS_[GeometryType.POLYGON] =
|
|
|
|
_ol_format_EsriJSON_.readPolygonGeometry_;
|
|
|
|
EsriJSON.readPolygonGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_READERS_[GeometryType.MULTI_POINT] =
|
|
|
|
EsriJSON.GEOMETRY_READERS_[GeometryType.MULTI_POINT] =
|
|
|
|
_ol_format_EsriJSON_.readMultiPointGeometry_;
|
|
|
|
EsriJSON.readMultiPointGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_READERS_[GeometryType.MULTI_LINE_STRING] =
|
|
|
|
EsriJSON.GEOMETRY_READERS_[GeometryType.MULTI_LINE_STRING] =
|
|
|
|
_ol_format_EsriJSON_.readMultiLineStringGeometry_;
|
|
|
|
EsriJSON.readMultiLineStringGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_READERS_[GeometryType.MULTI_POLYGON] =
|
|
|
|
EsriJSON.GEOMETRY_READERS_[GeometryType.MULTI_POLYGON] =
|
|
|
|
_ol_format_EsriJSON_.readMultiPolygonGeometry_;
|
|
|
|
EsriJSON.readMultiPolygonGeometry_;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@@ -415,19 +415,19 @@ _ol_format_EsriJSON_.GEOMETRY_READERS_[GeometryType.MULTI_POLYGON] =
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @type {Object.<string, function(ol.geom.Geometry, olx.format.WriteOptions=): (EsriJSONGeometry)>}
|
|
|
|
* @type {Object.<string, function(ol.geom.Geometry, olx.format.WriteOptions=): (EsriJSONGeometry)>}
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_WRITERS_ = {};
|
|
|
|
EsriJSON.GEOMETRY_WRITERS_ = {};
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_WRITERS_[GeometryType.POINT] =
|
|
|
|
EsriJSON.GEOMETRY_WRITERS_[GeometryType.POINT] =
|
|
|
|
_ol_format_EsriJSON_.writePointGeometry_;
|
|
|
|
EsriJSON.writePointGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_WRITERS_[GeometryType.LINE_STRING] =
|
|
|
|
EsriJSON.GEOMETRY_WRITERS_[GeometryType.LINE_STRING] =
|
|
|
|
_ol_format_EsriJSON_.writeLineStringGeometry_;
|
|
|
|
EsriJSON.writeLineStringGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_WRITERS_[GeometryType.POLYGON] =
|
|
|
|
EsriJSON.GEOMETRY_WRITERS_[GeometryType.POLYGON] =
|
|
|
|
_ol_format_EsriJSON_.writePolygonGeometry_;
|
|
|
|
EsriJSON.writePolygonGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_WRITERS_[GeometryType.MULTI_POINT] =
|
|
|
|
EsriJSON.GEOMETRY_WRITERS_[GeometryType.MULTI_POINT] =
|
|
|
|
_ol_format_EsriJSON_.writeMultiPointGeometry_;
|
|
|
|
EsriJSON.writeMultiPointGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_WRITERS_[GeometryType.MULTI_LINE_STRING] =
|
|
|
|
EsriJSON.GEOMETRY_WRITERS_[GeometryType.MULTI_LINE_STRING] =
|
|
|
|
_ol_format_EsriJSON_.writeMultiLineStringGeometry_;
|
|
|
|
EsriJSON.writeMultiLineStringGeometry_;
|
|
|
|
_ol_format_EsriJSON_.GEOMETRY_WRITERS_[GeometryType.MULTI_POLYGON] =
|
|
|
|
EsriJSON.GEOMETRY_WRITERS_[GeometryType.MULTI_POLYGON] =
|
|
|
|
_ol_format_EsriJSON_.writeMultiPolygonGeometry_;
|
|
|
|
EsriJSON.writeMultiPolygonGeometry_;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@@ -440,7 +440,7 @@ _ol_format_EsriJSON_.GEOMETRY_WRITERS_[GeometryType.MULTI_POLYGON] =
|
|
|
|
* @return {ol.Feature} Feature.
|
|
|
|
* @return {ol.Feature} Feature.
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.readFeature;
|
|
|
|
EsriJSON.prototype.readFeature;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@@ -453,16 +453,16 @@ _ol_format_EsriJSON_.prototype.readFeature;
|
|
|
|
* @return {Array.<ol.Feature>} Features.
|
|
|
|
* @return {Array.<ol.Feature>} Features.
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.readFeatures;
|
|
|
|
EsriJSON.prototype.readFeatures;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @inheritDoc
|
|
|
|
* @inheritDoc
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.readFeatureFromObject = function(
|
|
|
|
EsriJSON.prototype.readFeatureFromObject = function(
|
|
|
|
object, opt_options) {
|
|
|
|
object, opt_options) {
|
|
|
|
var esriJSONFeature = /** @type {EsriJSONFeature} */ (object);
|
|
|
|
var esriJSONFeature = /** @type {EsriJSONFeature} */ (object);
|
|
|
|
var geometry = _ol_format_EsriJSON_.readGeometry_(esriJSONFeature.geometry,
|
|
|
|
var geometry = EsriJSON.readGeometry_(esriJSONFeature.geometry,
|
|
|
|
opt_options);
|
|
|
|
opt_options);
|
|
|
|
var feature = new _ol_Feature_();
|
|
|
|
var feature = new _ol_Feature_();
|
|
|
|
if (this.geometryName_) {
|
|
|
|
if (this.geometryName_) {
|
|
|
|
@@ -484,7 +484,7 @@ _ol_format_EsriJSON_.prototype.readFeatureFromObject = function(
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @inheritDoc
|
|
|
|
* @inheritDoc
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.readFeaturesFromObject = function(
|
|
|
|
EsriJSON.prototype.readFeaturesFromObject = function(
|
|
|
|
object, opt_options) {
|
|
|
|
object, opt_options) {
|
|
|
|
var esriJSONObject = /** @type {EsriJSONObject} */ (object);
|
|
|
|
var esriJSONObject = /** @type {EsriJSONObject} */ (object);
|
|
|
|
var options = opt_options ? opt_options : {};
|
|
|
|
var options = opt_options ? opt_options : {};
|
|
|
|
@@ -516,15 +516,15 @@ _ol_format_EsriJSON_.prototype.readFeaturesFromObject = function(
|
|
|
|
* @return {ol.geom.Geometry} Geometry.
|
|
|
|
* @return {ol.geom.Geometry} Geometry.
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.readGeometry;
|
|
|
|
EsriJSON.prototype.readGeometry;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @inheritDoc
|
|
|
|
* @inheritDoc
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.readGeometryFromObject = function(
|
|
|
|
EsriJSON.prototype.readGeometryFromObject = function(
|
|
|
|
object, opt_options) {
|
|
|
|
object, opt_options) {
|
|
|
|
return _ol_format_EsriJSON_.readGeometry_(
|
|
|
|
return EsriJSON.readGeometry_(
|
|
|
|
/** @type {EsriJSONGeometry} */(object), opt_options);
|
|
|
|
/** @type {EsriJSONGeometry} */(object), opt_options);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
@@ -537,13 +537,13 @@ _ol_format_EsriJSON_.prototype.readGeometryFromObject = function(
|
|
|
|
* @return {ol.proj.Projection} Projection.
|
|
|
|
* @return {ol.proj.Projection} Projection.
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.readProjection;
|
|
|
|
EsriJSON.prototype.readProjection;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @inheritDoc
|
|
|
|
* @inheritDoc
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.readProjectionFromObject = function(object) {
|
|
|
|
EsriJSON.prototype.readProjectionFromObject = function(object) {
|
|
|
|
var esriJSONObject = /** @type {EsriJSONObject} */ (object);
|
|
|
|
var esriJSONObject = /** @type {EsriJSONObject} */ (object);
|
|
|
|
if (esriJSONObject.spatialReference && esriJSONObject.spatialReference.wkid) {
|
|
|
|
if (esriJSONObject.spatialReference && esriJSONObject.spatialReference.wkid) {
|
|
|
|
var crs = esriJSONObject.spatialReference.wkid;
|
|
|
|
var crs = esriJSONObject.spatialReference.wkid;
|
|
|
|
@@ -560,8 +560,8 @@ _ol_format_EsriJSON_.prototype.readProjectionFromObject = function(object) {
|
|
|
|
* @private
|
|
|
|
* @private
|
|
|
|
* @return {EsriJSONGeometry} EsriJSON geometry.
|
|
|
|
* @return {EsriJSONGeometry} EsriJSON geometry.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.writeGeometry_ = function(geometry, opt_options) {
|
|
|
|
EsriJSON.writeGeometry_ = function(geometry, opt_options) {
|
|
|
|
var geometryWriter = _ol_format_EsriJSON_.GEOMETRY_WRITERS_[geometry.getType()];
|
|
|
|
var geometryWriter = EsriJSON.GEOMETRY_WRITERS_[geometry.getType()];
|
|
|
|
return geometryWriter(/** @type {ol.geom.Geometry} */(
|
|
|
|
return geometryWriter(/** @type {ol.geom.Geometry} */(
|
|
|
|
_ol_format_Feature_.transformWithOptions(geometry, true, opt_options)),
|
|
|
|
_ol_format_Feature_.transformWithOptions(geometry, true, opt_options)),
|
|
|
|
opt_options);
|
|
|
|
opt_options);
|
|
|
|
@@ -577,7 +577,7 @@ _ol_format_EsriJSON_.writeGeometry_ = function(geometry, opt_options) {
|
|
|
|
* @return {string} EsriJSON.
|
|
|
|
* @return {string} EsriJSON.
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.writeGeometry;
|
|
|
|
EsriJSON.prototype.writeGeometry;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@@ -589,9 +589,9 @@ _ol_format_EsriJSON_.prototype.writeGeometry;
|
|
|
|
* @override
|
|
|
|
* @override
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.writeGeometryObject = function(geometry,
|
|
|
|
EsriJSON.prototype.writeGeometryObject = function(geometry,
|
|
|
|
opt_options) {
|
|
|
|
opt_options) {
|
|
|
|
return _ol_format_EsriJSON_.writeGeometry_(geometry,
|
|
|
|
return EsriJSON.writeGeometry_(geometry,
|
|
|
|
this.adaptOptions(opt_options));
|
|
|
|
this.adaptOptions(opt_options));
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
@@ -605,7 +605,7 @@ _ol_format_EsriJSON_.prototype.writeGeometryObject = function(geometry,
|
|
|
|
* @return {string} EsriJSON.
|
|
|
|
* @return {string} EsriJSON.
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.writeFeature;
|
|
|
|
EsriJSON.prototype.writeFeature;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@@ -617,14 +617,14 @@ _ol_format_EsriJSON_.prototype.writeFeature;
|
|
|
|
* @override
|
|
|
|
* @override
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.writeFeatureObject = function(
|
|
|
|
EsriJSON.prototype.writeFeatureObject = function(
|
|
|
|
feature, opt_options) {
|
|
|
|
feature, opt_options) {
|
|
|
|
opt_options = this.adaptOptions(opt_options);
|
|
|
|
opt_options = this.adaptOptions(opt_options);
|
|
|
|
var object = {};
|
|
|
|
var object = {};
|
|
|
|
var geometry = feature.getGeometry();
|
|
|
|
var geometry = feature.getGeometry();
|
|
|
|
if (geometry) {
|
|
|
|
if (geometry) {
|
|
|
|
object['geometry'] =
|
|
|
|
object['geometry'] =
|
|
|
|
_ol_format_EsriJSON_.writeGeometry_(geometry, opt_options);
|
|
|
|
EsriJSON.writeGeometry_(geometry, opt_options);
|
|
|
|
if (opt_options && opt_options.featureProjection) {
|
|
|
|
if (opt_options && opt_options.featureProjection) {
|
|
|
|
object['geometry']['spatialReference'] = /** @type {EsriJSONCRS} */({
|
|
|
|
object['geometry']['spatialReference'] = /** @type {EsriJSONCRS} */({
|
|
|
|
wkid: getProjection(opt_options.featureProjection).getCode().split(':').pop()
|
|
|
|
wkid: getProjection(opt_options.featureProjection).getCode().split(':').pop()
|
|
|
|
@@ -651,7 +651,7 @@ _ol_format_EsriJSON_.prototype.writeFeatureObject = function(
|
|
|
|
* @return {string} EsriJSON.
|
|
|
|
* @return {string} EsriJSON.
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.writeFeatures;
|
|
|
|
EsriJSON.prototype.writeFeatures;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@@ -663,7 +663,7 @@ _ol_format_EsriJSON_.prototype.writeFeatures;
|
|
|
|
* @override
|
|
|
|
* @override
|
|
|
|
* @api
|
|
|
|
* @api
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
_ol_format_EsriJSON_.prototype.writeFeaturesObject = function(features, opt_options) {
|
|
|
|
EsriJSON.prototype.writeFeaturesObject = function(features, opt_options) {
|
|
|
|
opt_options = this.adaptOptions(opt_options);
|
|
|
|
opt_options = this.adaptOptions(opt_options);
|
|
|
|
var objects = [];
|
|
|
|
var objects = [];
|
|
|
|
var i, ii;
|
|
|
|
var i, ii;
|
|
|
|
@@ -674,4 +674,4 @@ _ol_format_EsriJSON_.prototype.writeFeaturesObject = function(features, opt_opti
|
|
|
|
'features': objects
|
|
|
|
'features': objects
|
|
|
|
});
|
|
|
|
});
|
|
|
|
};
|
|
|
|
};
|
|
|
|
export default _ol_format_EsriJSON_;
|
|
|
|
export default EsriJSON;
|
|
|
|
|