作业系统对接指导手册 作业系统对接指导手册
首页
  • 地图对接
  • 服务对接
路径规划
视频分析
知识星球
位置平台
图创官网 (opens new window)
首页
  • 地图对接
  • 服务对接
路径规划
视频分析
知识星球
位置平台
图创官网 (opens new window)
  • 获取访问权限

    • 申请AppId
  • 图层相关

    • 专题
    • 图层组(已过时,还请参见专题)
    • 图层对象
    • 图层字段
    • 图层要素简单查询
    • 要素新增
    • 要素更新
    • 要素批量操作
    • 要素删除与详情
    • 图层要素多条件查询(v2)
    • 图层要素多条件查询(v1)
      • (高级查询)单图层多条件查询
      • 接口用于获取字段可选值
      • 接口直接返回geojson进行快速上图
      • 接口进行要素内容模糊查询的同时进行空间查询
      • 多条件组合嵌套子查询
  • 字典相关

    • 字典操作
  • 行政区划相关

    • 行政区划
    • 行政区划相关接口
  • 警务辖区相关

    • 警务辖区
    • 警务辖区相关接口
  • 附件相关

    • 附件
  • 雪碧图相关

    • 获取雪碧图
  • 样式相关

    • 图层样式
  • 常见问题

    • 图层字段相关
    • 图层相关
    • Vue项目出现Invalid Host header 的解决方案
目录

图层要素多条件查询(v1)

# (高级查询)单图层多条件查询

这部分接口,后期不维护了,请移步新版本V2
接口描述:

对该接口进行对接的时候请用写sql的思路来进行理解: 假如数据库的sql是如下:

select name,age from my_table where ( name  is not null and name like "%CaiXuKun%" ) order by create_time

那么在该接口描述的伪代码就是:

select [distinctIs] <selectFileld> from <tableId> where <whereConditions> order by <orderByConditions>

接口地址:/one-map-server/sys/geom/vector/advancedQuery

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*

请求示例:

{
   "tableId": "",
  "distinctIs": true,  
  "selectFileld": [],
  "whereConditions": [
    {
      "andor": "",
      "condition": "",
      "field": "",
      "operator": ""
    }
  ],
  "orderByConditions": [
    {
      "condition": "",
      "field": ""
    }
  ],
"format": ""
}

请求参数:

参数名称 参数说明 默认值 是否必须 数据类型
distinctIs 是否对结果集去重 false false boolean
format 结果集的返回格式,可用值:{name: geojson;code: geojson},{name: simple;code: simple} simple false string
orderByConditions 需要满足的排序信息 false array
condition 条件 ,高级查询查询条件可选值 false string
field 字段名称 false string
selectFileld 要查询的字段(不传就是查询全部字段) false array
tableId 动态表id true string
whereConditions 需要满足的条件信息 true array
andor 查询拼接条件,高级查询查询条件可选值 201 false string
condition 要满足的值 false string
field 字段名称 false string
operator 字段操作符 ,高级查询查询条件可选值 false string

响应参数:

参数名称 参数说明 类型 schema
alertMsg 提示消息 string
alertType 提示消息类型 integer(int32) integer(int32)
code 状态码 integer(int32) integer(int32)
data 业务数据 GtcPager«Map«string,object»» GtcPager«Map«string,object»»
list 业务数据 Iterable«Map«string,object»» Iterable«Map«string,object»»
pageNum 当前页码 integer(int32)
pageParam 分页参数 GtcPageParam GtcPageParam
pageNum 当前页码 integer
pageSize 总页数 integer
startRow 游标开始行 integer
pageSize 总页数 integer(int32)
startRow 游标开始行 integer(int64)
total 总条数 integer(int64)
location 跳转地址 string

响应示例:

{
	 //  与<simpleQuery >的返回结果集一致
}

# 接口用于获取字段可选值

场景描述:

当你需要对一个字段获取到他在图层里面有哪些值的时候,可以用到这个接口

示例效果 img

接口入参示例

{
    "orderByConditions": [],
    "selectFileld": [
        "名称"
    ],
    "distinctIs": true,  //这个必须传 true 才能达到效果
    "tableId": "t_17975664803882XXXXX",
    "whereConditions": [
        [
            {
                "andor": "201",
                "condition": "",  // 这个条件可以跟输入框进行联动,实现键盘输入的时候立即进行查询
                "field": "名称", //待查询的字段名称
                "operator": "301"
            }
        ]
    ]
}

返回结果示例

{
    "code": 200,
    "alertType": 0,
    "alertMsg": null,
    "data": {
        "pageSize": 15,
        "startRow": 15,
        "pageNum": 1,
        "pageParam": {
            "pageSize": 15,
            "startRow": 15,
            "pageNum": 1
        },
        "total": 430,
        "list": [
            {
                "名称": "红十月西一区"
            },
            {
                "名称": null   //这种null值也是存在的,你这边在进行下拉的时候注意过滤null值
            },
            {
                "名称": "金鑫花园"
            },
            {
                "名称": "自治区人民医院天池路59号院"
            },
            {
                "名称": "汇玺小区"
            },
            {
                "名称": "阳光雅润园二期"
            },
            {
                "名称": "万和居"
            },
            {
                "名称": "葛洲坝胜利路小区"
            },
            {
                "名称": "新疆迎宾馆家属院"
            },
            {
                "名称": "自治区妇联石泉巷家属院"
            },
            {
                "名称": "胸科医院羊毛湖家属院"
            },
            {
                "名称": "阿特兰特斯小区"
            },
            {
                "名称": "吐曼金桥花园"
            },
            {
                "名称": "达胜花园"
            },
            {
                "名称": "八艺印刷厂家属院"
            }
        ]
    },
    "location": null
}

# 接口直接返回geojson进行快速上图

场景描述:

当你需要在查询到要素的时候,不光列表能够看到,你的地图对象里面也能够马上看到地图 ,
这时候可以使用这种方式传参: 实现返回结果集为 geojson ,可以快速上图

示例效果 img

接口入参示例

{
    "orderByConditions": [],
    "selectFileld": [],
    "format": "geojson",   // 重点  ,这里修改成geojson就能实现返回为json
    "tableId": "t_1797566480388XXXXXX",
    "whereConditions": [
        [
            {
                "andor": "201",
                "condition": "6501030070",
                "field": "警综编号",
                "operator": "301"
            }
        ]
    ]
}

返回结果示例

{
    "code": 200,
    "alertType": 0,
    "alertMsg": null,
    "data": {
        "pageSize": 15,
        "startRow": 15,
        "pageNum": 1,
        "pageParam": {
            "pageSize": 15,
            "startRow": 15,
            "pageNum": 1
        },
        "total": 10,
        "list": [  // 注意,这时候 list里面装的是一个 对象,geojson对象.  列表信息在geosjon的 features数组里面去拿
            {
                "features": [
                    {
                        "geometry": {
                            "coordinates": [
                                87.5946863575,
                                43.7735381466
                            ],
                            "type": "Point"
                        },
                        "type": "Feature",
                        "properties": {   // 要素信息
                            "gtc_id": "1797566524046766081"
                          //  .....其他要素信息
                        }
                    }
                    // .... 其他属性信息
                ],
                "type": "FeatureCollection"
            }
        ]
    },
    "location": null
}

# 接口进行要素内容模糊查询的同时进行空间查询

场景描述:

当图层的BBox非常大的时候,你需要查询某一个小范围的数据
比如: 图层范围是全国 ,你想在乌鲁木齐范围内进行查询名称为 上沙河的小区的时候.

接口入参示例

{
    "orderByConditions": [],
    "selectFileld": [],
    "tableId": "t_add_1760552289494470656",
    "whereConditions": [
        [
            {
                "andor": "201",
                "field": "the_geom",
                "operator": "501",
                "condition": "MULTIPOLYGON (......)"  //需要过滤的面的wkt字符串
            },
            {   //同时需要进行其他查询条件的拼装的条件
                "andor": "201",
                "condition": "上沙河",
                "field": "名称",
                "operator": "301"
            }
            // ...... 其他条件
        ]
    ]
}

返回结果示例

//同上

# 多条件组合嵌套子查询

假如数据库的sql是如下:

select name,age from my_table 
where
 (
( name  is not null and name like "%CaiXuKun%" )  
and 
(name  is not null and name like "%CaiXuKun%"  )
or 
(name  is not null and name like "%CaiXuKun%"  )
)
and name  is not null

场景描述:

像这种括号与子条件递归嵌套的查询,高级查询也能够支持. 具体参见下面的请求入参, 一定一定需要注意括号关系

这里我只能举例,因为我词穷,我实在不知道该如何语义化描述.


接口入参示例

{
	"orderByConditions": [],
	"selectFileld": [],
	"tableId": "t_1836681087XXXX0",
	"whereConditions": [
		[{
			"andor": "201",
			"field": "the_geom",
			"operator": "501",
			"condition": "POLYGON ((........))"
		}, {
			"andor": "201",
			"childConditionVos": [   // 主要是通过这个 子对象数组进行嵌套子条件
			  	{
					"andor": "201",
					"childConditionVos": [{  // 这个子对象支持递归,理论上你往里面再塞个十级八级也行
						"andor": "201",
						"condition": "VA",
						"field": "FA",
						"operator": "103"
					}, 
                       {
						"andor": "201",
						"condition": "VB",
						"field": "FB",
						"operator": "103"
					}]
				},
				{
					"andor": "201",
					"childConditionVos": [{
						"andor": "201",
						"condition": "VC",
						"field": "FC",
						"operator": "103"
					}, {
						"andor": "201",
						"condition": "VD",
						"field": "FD",
						"operator": "103"
					}]
				}
			]
		}]
	]
}

上面的请求入参构建出来的查询sql将会是如下:

select * 
FROM
	"v_biz_183668108763XXXXXX0" AS T 
WHERE
( ...... )    //空间范围过滤条件
AND ( ( "FA" = 'VA' AND "FB" = 'VB' ) AND ( "FC" = 'VC' AND "FD" = 'VD' ) ) 

上次更新: 2026/03/31, 15:42:55
图层要素多条件查询(v2)
字典操作

← 图层要素多条件查询(v2) 字典操作→

Theme by Vdoing | Copyright © 2023-2026 北京图创时代科技有限公司版权所有
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式