maxiaoxiao 8 meses atrás
pai
commit
0849dddea1
1 arquivos alterados com 18 adições e 13 exclusões
  1. 18 13
      src/components/Query/clickQuery/clickQuery.vue

+ 18 - 13
src/components/Query/clickQuery/clickQuery.vue

@@ -634,20 +634,25 @@ export default {
     async getGeoserver(xy, obj) {
       this.queryResults[obj.id] = [];
       this.queryResultsGeom[obj.id] = [];
-      let url = obj.url.substring(0, obj.url.indexOf("geoserver") + 9) + "/wms";
+      let url = obj.url.substring(0, obj.url.indexOf("geoserver") + 9) + "/ows";
       let params = {
-        service: "WMS",
-        version: "1.1.1",
-        request: "GetFeatureInfo",
-        layers: `${obj.fwgzkj}:${obj.fwmc}`,
-        query_layers: `${obj.fwgzkj}:${obj.fwmc}`,
-        info_format: "application/json",
-        srs: "EPSG:4326",
-        x: 50,
-        y: 50,
-        width: 101,
-        height: 101,
-        bbox: bbox(xy, 10), // "12152284.626610054,2080930.4355590942,12153248.563804159,2081894.3727532008",
+        service: "WFS",
+        version: "1.0.0",
+        request: "GetFeature",
+        typeName: `${obj.fwgzkj}:${obj.fwmc}`,
+        // layers: `${obj.fwgzkj}:${obj.fwmc}`,
+        // query_layers: `${obj.fwgzkj}:${obj.fwmc}`,
+        outputFormat: "application/json",
+        srsName: "EPSG:4326",
+        // filter = "<Filter xmlns='http://www.opengis.net/ogc' xmlns:gml='http://www.opengis.net/gml'>"+filter+"</Filter>";
+        // filter = "<Filter xmlns='http://www.opengis.net/ogc' xmlns:gml='http://www.opengis.net/gml'><" + filterType + " wildCard='*' singleChar='.' escape='!'><PropertyName>" + fieldName + "</PropertyName><Literal>*" + fieldValue + "*</Literal></" + filterType + "></Filter>";
+        filter: `<Filter xmlns='http://www.opengis.net/ogc' xmlns:gml='http://www.opengis.net/gml'><Intersects><PropertyName>geom</PropertyName><gml:Point srsName='EPSG:4326'><gml:coordinates>
+          ${xy.lng},${xy.lat}</gml:coordinates></gml:Point></Intersects></Filter>`,
+        // x: 50,
+        // y: 50,
+        // width: 101,
+        // height: 101,
+        // bbox: bbox(xy, 10), // "12152284.626610054,2080930.4355590942,12153248.563804159,2081894.3727532008",
       };
       let res = await axios.get(url, { params });
       if (res.data && res.data.features.length > 0) {