Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x | /** * Classe d'interface des requêtes de type WPS sur le service altimetrique. * (Factory) * * @module Gp.Services.Alti.Request.AltiRequestWPS * @alias Gp.Services.Alti.Request.AltiRequestWPS * @private */ import Logger from "../../../Utils/LoggerByDefault"; import _ from "../../../Utils/MessagesResources"; import WPS from "../../../Formats/WPS"; import AltiElevationRequest from "./model/AltiElevationRequest"; import AltiProfilRequest from "./model/AltiProfilRequest"; var AltiRequestWPS = { /** * Interface unique de construction de la requête. * * @method build * @param {Object} options - options * @param {Object} options.param.positions - tableau de coordonnées lon/lat * @param {String} options.param.delimiter - '|' * @param {Boolean} options.param.indent - false|true * @param {String} options.param.crs - 'CRS:84' * @param {String} options.param.sampling - 3 * @param {Boolean} options.param.zonly - false|true * @param {String} options.param.format - "JSON|XML" (only to POST) * @param {String} options.wps.service - "WPS" * @param {String} options.wps.version - "1.0.0" * @param {String} options.wps.identifier - "gs:WPSElevation|gs:WPSLineElevation" * @param {String} options.wps.rawdataoutput - "result" * @param {String} options.wps.request - "Execute" * @param {String} options.type - "Profil|Elevation" * @param {String} options.method - GET|POST * @example * var options = { * type : 'Profil', // Elevation * method : 'GET', // par defaut * param : { * positions : [ * {lon:'1.11', lat:'1.11'}, * {lon:'1.10', lat:'1.10'}, * {lon:'1.12', lat:'1.12'} * ], * delimiter : ";", // par defaut * indent : true, // par defaut * crs : 'EPSG:4326', // par defaut * format : 'json', // par defaut (only to POST) * sampling : 3 , // par defaut (only use by Profil) * zonly : false, // par defaut (only use by Elevation) * }, * wps : { * service : 'WPS', // par defaut * version : '1.0.0', // par defaut * identifier : 'gs:WPS', // par defaut, Elevation = gs:WPSElevation, Profil = gs:WPSLineElevation * rawdataoutput : 'result',// par defaut * request : 'Execute' // par defaut * } * }; */ build : function (options) { // logger var logger = Logger.getLogger("AltiRequestWPS"); logger.trace(["AltiRequestWPS::build()"]); // existance des options Iif (!options) { throw new Error(_.getMessage("PARAM_EMPTY", "options")); } // type de requete : Altitude ou Profil // (param. à determiner en fonction des parametres d'entrée) Iif (!options.type) { throw new Error(_.getMessage("PARAM_EMPTY", "type (Elevation or Profil)")); } // construction du modele de requête // (test du type d'objet candidat) var DataObject = null; switch (options.type) { case "Elevation": // surcharge options.wps.identifier = "gs:WPSElevation"; DataObject = new AltiElevationRequest(options.param); break; case "Profil": // surcharge options.wps.identifier = "gs:WPSLineElevation"; DataObject = new AltiProfilRequest(options.param); break; default: throw new Error(_.getMessage("PARAM_TYPE", "type (Elevation or Profil)")); } // construction de la requête WPS var settings = { data : DataObject, method : options.method, param : options.wps }; var rqstWPS = new WPS(settings); Iif (!rqstWPS.processRequestString()) { throw new Error("Enable to process request !"); } return rqstWPS.requestString; } }; export default AltiRequestWPS; |