之前文章的readShape方法返回的是一个Shape实例,Shape与Shape之间的空间关系通过 SpatialRelation维护,包含四种关系:WITHIN,CONTAINS,DISJOINT,INTERSECTS。要计算两个Shape之 间的关系可通过transpose(),combine(),inverse()方法获得,详解如下: transpose()方法:该方法只对CONTAINS和WITHIN有效,如果A CONTAINS B,则B WITHIN A。 combine() 方法:比如你知道A和B,A和C的关系,则这个方法可以得到B和C的关系,规则如:如果AB和AC中有一个是INTERSECTS的关系则BC也是 INTERSECTS,DISJOINT+WITHIN=INTERSECTS,DISJOINT+CONTAINS=CONTAIS,CONTAINS+WITHIN=INTERSECTS,X+X=X。 inverse()方法:DISJOINTàCONTAINS,CONTAINSàDISJOINT,WITHINàINTERSECTS,其他情况都返回INTERSECTS。