Vairāk

Kā iestatīt wfs-t versiju openlayers-3?

Kā iestatīt wfs-t versiju openlayers-3?


Es izmantojuwfs-tprogrammā OpenLayers-3.6 saskaņā ar šeit. Es pārveidoju funkciju un pēc tam nosūtīju WFS pieprasījumu šādi:

var īpašības = modificētsFeature.getProperties (); dzēst īpašības.boundedBy; newFeature = jauns ol.Feature (īpašības); newFeature.setId (pazīmes [i] .getId ()); var node = wfs.writeTransaction (null, [newFeature], null, {featureType: "Calk: Point", // geoserver Layer Name featureNS: "http://itsme.calk.ir", // Rediģēt darbvietas nosaukumvietas URI srsName : "EPSG: 4326"}); var s = jauns XMLSerializer (); var url = "http: // localhost: 8084 / geoserver / wfs"; Ext.Ajax.request ({url: 'proxy.cgi? Url =' + encodeURIComponent (url), metode: 'POST', xmlData: s.serializeToString (mezgls), galvenes: {'Content-Type': 'text / xml '}, veiksme: funkcija (atbilde_) {atbilde = atbilde_;}});

Noklusējuma versija, kasOpenLayersdarbi ir "1.1.0". Šajā iestatījumā es vēlos strādāt ar versiju "2.0.0". Kā es varu iestatīt versiju?


Aplūkojot pirmkodu,ol.format.WFSkonstruktoru var pielāgot, lai atbalstītu dažādus WFS formātus (argmlFormat, unschemaLocation), bet tas ietekmē tikai lasīšanas procesu, nevis towriteTransactionmetodi. Kā redzat zemāk esošajā kodā, metode ir stingri kodēta, lai atbalstītu tikai WFS 1.1.0 darījumus. Ol3 dev adresātu sarakstā ir pasts par WFS 2.0 atbalsta neplānošanu, taču tas ir diezgan vecs.

/ ** * Kodēt formātu kā WFS 'Transaction' un atgriezt mezglu. * * @param {Masīvs.} ieliktņi Ievietojamās funkcijas. * @param {Masīvs.} atjauninājumi Atjaunināmās funkcijas. * @param {Masīvs.} dzēš dzēšamās funkcijas. * Opcijas @param {olx.format.WFSWriteTransactionOptions} Rakstīšanas opcijas. * @return {Node} Rezultāts. * @api stabils * / ol.format.WFS.prototype.writeTransaction = funkcija (ieliktņi, atjauninājumi, dzēšana, opcijas) {var objectStack = []; var mezgls = ol.xml.createElementNS ('http://www.opengis.net/wfs', 'Darījums'); node.setAttribute ('pakalpojums', 'WFS'); node.setAttribute ('versija', '1.1.0'); var baseObj, obj; if (goog.isDef (opcijas)) {baseObj = goog.isDef (options.gmlOptions)? options.gmlOptions: {}; if (goog.isDef (options.handle)) {node.setAttribute ('rokturis', options.handle); }} ol.xml.setAttributeNS (mezgls, 'http://www.w3.org/2001/XMLSchema-instance', 'xsi: schemaLocation', this.schemaLocation_); if (goog.isDefAndNotNull (ieliktņi)) {obj = {mezgls: mezgls, featureNS: options.featureNS, featureType: options.featureType, featurePrefix: options.featurePrefix}; goog.object.extend (obj, baseObj); ol.xml.pushSerializeAndPop (obj, ol.format.WFS.TRANSACTION_SERIALIZERS_, ol.xml.makeSimpleNodeFactory ('Insert'), inserts, objectStack); } if (goog.isDefAndNotNull (atjauninājumi)) {obj = {mezgls: mezgls, featureNS: options.featureNS, featureType: options.featureType, featurePrefix: options.featurePrefix}; goog.object.extend (obj, baseObj); ol.xml.pushSerializeAndPop (obj, ol.format.WFS.TRANSACTION_SERIALIZERS_, ol.xml.makeSimpleNodeFactory ('Update'), atjauninājumi, objectStack); } if (goog.isDefAndNotNull (dzēš)) {ol.xml.pushSerializeAndPop ({mezgls: mezgls, featureNS: options.featureNS, featureType: options.featureType, featurePrefix: options.featurePrefix}, ol.format.WFS.TERANS .xml.makeSimpleNodeFactory ('Dzēst'), dzēš, objectStack); } if (goog.isDef (options.nativeElements)) {ol.xml.pushSerializeAndPop ({mezgls: mezgls, featureNS: options.featureNS, featureType: options.featureType, featurePrefix: options.featurePrefix}, ol.format.WFS.TRIZACTERS_ , ol.xml.makeSimpleNodeFactory ('Native'), options.nativeElements, objectStack); } atgriešanās mezgls; };

Skatīties video: Geoserver for WebGIS development WMS, WFS, WFS-T Service, Feature editing on web.