arcgis_rest_services_query.txt

arcgis_rest_services_query.txt
参考:https://developers.arcgis.com/rest/services-reference/query-feature-service-layer-.htm

1.字段 Where:
    1.0.查询所有:
        input: 1=1
        input: true (我猜的)
    1.1.等于。
        input: 管理情况 = '物业管理'
        查询实例:
            http://60.28.130.xxx:6080/arcgis/rest/services/HBFG/YFQ_Building_buffer/MapServer/0/query?where=%E7%AE%A1%E7%90%86%E6%83%85%E5%86%B5+%3D+%27%E7%89%A9%E4%B8%9A%E7%AE%A1%E7%90%86%27&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&f=pjson
                                                                                                     ?where=管理情况+%3D+'物业管理'
    1.2.包含。
        input: 管理情况 like '%物业管理%'
        查询实例:
            http://60.28.130.xxx:6080/arcgis/rest/services/HBFG/YFQ_Building_buffer/MapServer/0/query?where=%E7%AE%A1%E7%90%86%E6%83%85%E5%86%B5+like+%27%25%E7%89%A9%E4%B8%9A%E7%AE%A1%E7%90%86%25%27&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&f=pjson

    1.3.多个字段 and:
        input: 实际面积 = 3615.8 AND 房屋结构 like '%混合%' AND 地上层数 = 6
        查询实例:
            http://60.28.130.xxx:6080/arcgis/rest/services/HBFG/YFQ_Building_buffer/MapServer/0/query?where=%E5%AE%9E%E9%99%85%E9%9D%A2%E7%A7%AF+%3D+3615.8+AND+%E6%88%BF%E5%B1%8B%E7%BB%93%E6%9E%84+like+%27%25%E6%B7%B7%E5%90%88%25%27+AND+%E5%9C%B0%E4%B8%8A%E5%B1%82%E6%95%B0+%3D+6&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&f=pjson

    1.4.多个字段 and or:
        input: 实际面积 = 3615.8 OR 地上层数 = 6
        查询实例:
            http://60.28.130.xxx:6080/arcgis/rest/services/HBFG/YFQ_Building_buffer/MapServer/0/query?where=%E5%AE%9E%E9%99%85%E9%9D%A2%E7%A7%AF+%3D+3615.8+OR+%E5%9C%B0%E4%B8%8A%E5%B1%82%E6%95%B0+%3D+6&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&f=pjson

    1.5.查询范围:
        input:
        // 查询范围。
        let ringsStr = JSON.stringify(this.rings);
        // %25的意思是,%。详见URL编码表。
        // 需要注意的是,二三维的dataStr的rings有区别。二维的rings多一对[],
        // 所以在dataStr中,不再需要额外加这对[]。
        let dataStr = "?where=" + this.currentField + "+like+'%25" + this.currentContent + "%25'&text=&objectIds=&time=" +
            "&geometry={'rings':[" + ringsStr + "]}" +
            "&geometryType=esriGeometryPolygon&inSR=4326&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&f=pjson";


2.查询特定字段的唯一值(所有可能的值)
    可以通过查询所有 feature 的特定字段的结果,自己编码挑选出来。







  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>通过属性查询地图服务中的信息</title> <link rel="stylesheet" href="https://js.arcgis.com/3.39/esri/css/esri.css"> <!-- <link rel="stylesheet" type="text/css" href="./css/esri.css" /> --> <link rel="stylesheet" href="https://js.arcgis.com/3.40/esri/themes/calcite/dijit/calcite.css"> <script src="https://js.arcgis.com/3.41/"></script> <script> require(["esri/map", //加载地图组件 "dojo/dom", "dojo/on", "esri/InfoTemplate", "esri/graphic", "esri/geometry/Point",//加载点对象组件 "esri/symbols/SimpleMarkerSymbol", "esri/geometry/Extent",//加载范围组件 "esri/layers/FeatureLayer", //加载FeatureLayer地图组件 // "esri/dijit/FeatureTable", "esri/layers/WebTiledLayer", //加载切片地图组件 "esri/layers/ArcGISDynamicMapServiceLayer",//加载动态地图组件 "esri/symbols/SimpleFillSymbol", "esri/renderers/UniqueValueRenderer", "esri/tasks/query", "esri/tasks/QueryTask", "esri/Color", "dojo/domReady!" ], function (Map, dom, on, InfoTemplate, Graphic, Point, SimpleMarkerSymbol,Extent, FeatureLayer, WebTiledLayer, ArcGISDynamicMapServiceLayer, SimpleFillSymbol, UniqueValueRenderer, Query, QueryTask, Color, GeoJsonLayer) { //初始化地图容器 // map = new Map("map", { logo: false, slider: false }, {zoom: 8}); map = new Map("map", { center: [109.33789 , 29.57985], basemap: "satellite", zoom: 10, sliderStyle: "small", logo: false }); // 创建底图 var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"); map.addLayer(basemap,0); // 创建动态图层 var dynamicLayer = new ArcGISDynamicMapServiceLayer("http://116.62.63.94:6080/arcgis/rest/services/sanhuxiangtest/MapServer"); map.addLayer(dynamicLayer,99); }) </script> </head> <body class="tundra"> <div id="map" style="width:900px; height:580px; border:1px solid #000;"></div> 类别名称:<input class="nm" type="text"> </body> </html>
最新发布
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值