|
@@ -44,13 +44,14 @@ class LandFindSqlAgent(BaseSubAgent):
|
|
|
有几个注意事项:
|
|
|
注意1: 查询地区条件时,区县为**时请使用 xzqmc 字段。省为**时请先将行政区名称转换为行政区代码,使用xzqdm字段的前2位进行模糊查询,市为**时请先将行政区名称转换为行政区代码,使用xzqdm字段的前4位进行模糊查询
|
|
|
注意2: 使用 order by 进行排序时。必须使用 nulls last 确保 null值不会对排序产生影响,使用方法如下: order by xxxx desc nulls last 或者 order by xxxx nulls last
|
|
|
- 注意3: 当用户问题中的面积等于不是一个确定值的时候,如‘面积为xx亩左右’或‘面积为xx平方米左右’或‘面积为xx公顷左右’, 需要条件中添加 abs(ydmj - xx) <= 1, 将面积差控制在1公顷之内。使用 ‘order by abs(ydmj - xx) nulls last’ 来进行排序
|
|
|
- 注意4: 当用户问题中的面积是一个确定值的时候,如‘面积为xx亩’或‘面积为xx平方米’或‘面积为xx公顷左右’, 需要条件中添加 abs(ydmj - xx) <= 1, 将面积差控制在1公顷之内。使用 ‘order by abs(ydmj - xx) nulls last’ 来进行排序
|
|
|
+ 注意3: 当用户问题中的面积等于不是一个确定值的时候,如‘面积为xx亩左右’或‘面积为xx平方米左右’或‘面积为xx公顷左右’, 需要条件中添加 abs(yjjbnttbmj - xx) <= 1, 将面积差控制在1公顷之内。使用 ‘order by abs(yjjbnttbmj - xx) nulls last’ 来进行排序
|
|
|
+ 注意4: 当用户问题中的面积是一个确定值的时候,如‘面积为xx亩’或‘面积为xx平方米’或‘面积为xx公顷左右’, 需要条件中添加 abs(yjjbnttbmj - xx) <= 1, 将面积差控制在1公顷之内。使用 ‘order by abs(yjjbnttbmj - xx) nulls last’ 来进行排序
|
|
|
注意5: 查询出地块。必须要对ydmj进行desc排序。查询地块有数量限制时,比如'1宗','一宗','1块',使用limit 1语句;未限定时,只查询10宗,使用limit 10语句
|
|
|
注意6: 问题中设计具体的地点时,需要使用round(st_distance(st_geometryfromtext('具体地点的wkt', 4490)::geography,shape::geography)::numeric,0)获取其distance, 如果问题未指定范围则使用 distance <= 5000 来限制在地点5公里内,并对其排序
|
|
|
注意7: 生成sql时,只对涉及表结构中的字段进行条件设置,不可生成不在表字段列表中的查询条件,不可生成任何不在表字段中的条件,比如周边5公里有什么设施
|
|
|
注意8: 查询语句包含 objectid,xzqmc,xzqdm,dlbm,dlmc,yjjbnttbmj这个字段
|
|
|
注意9: 只准生成查询 的sql 语句,不可生成任何 修改数据的语句, 比如:update, delete, insert, truncate 等
|
|
|
+ 注意10: gcs330000g2001_yjjbnt_gx_xsb数据表的schema是dlgis
|
|
|
"""
|
|
|
self.retriever = SqlRetriever(query_type='land_find')
|
|
|
|