首页 理论教育地理运算符嵌套查询-物流可视化

地理运算符嵌套查询-物流可视化

【摘要】:为了对图层中指定的对象进行判断,需要利用SQL语句指定对象,如在shang图层中查询出形心在xia图层id为“d2”的对象中的地物。由于第一层查询本身就是一次select的过程,指定地物又是一次select的过程,将某地物替换后,相当于一个select语句嵌套在另一个select语句中,取意为嵌套查询。利用any表示某地物,利用随后的select指定地物,嵌套查询的条件设置如图7-31所示。图7-31地理运算符的嵌套查询图7-32查询结果

为了对图层中指定的对象进行判断,需要利用SQL语句指定对象,如在shang图层中查询出形心在xia图层id为“d2”的对象中的地物。与前一个查询的不同在于,不是xia图层中的所有对象,而是指定对象。

再次列出查询的目标:在shang图层中查询出形心在xia图层id为“d2”的对象中的地物。通过分析,“xia图层id为‘d2’的对象”就是为了指定对象。因此,目标可修改为:

在shang图层中查询出形心在(xia图层id为“d2”的对象)中的地物。

这时,可将该查询分解为:

对象从shang表中查找,该对象在某个地物中,其中某个地物是xia图层的指定地物。

查询的条件分为两个层次:第一层,对象在某个地物中;第二层,该地物是xia中id为“d2”对象。

为了实现第二层查询,构建SQL语句为:select obj from xia where id=”d2”。

而第一层查询的条件表示为:obj within某地物。

这时可以用第二层查询的语句对某地物进行定义。由于第一层查询本身就是一次select的过程,指定地物又是一次select的过程,将某地物替换后,相当于一个select语句嵌套在另一个select语句中,取意为嵌套查询。利用any表示某地物,利用随后的select指定地物,嵌套查询的条件设置如图7-31所示。执行查询的结果如图7-32所示。

图7-31 地理运算符的嵌套查询

图7-32 查询结果