People:

A couple of MapInfo gurus recently answered Stefano Felici's question about
the formulation of a MapInfo query to select those objects from one table
that don't intersect any objects in another table.  The answer is of course

DOES NOT INTERSECT
   Select RedTab.Id
   From RedTab
   Where Not RedTab.Obj intersects any
    (select BlueTab.Obj from BlueTab)

In MapInfo, +ACI-intersects+ACI- actually means both +ACI-touches+ACI- and 
+ACI-overlaps+ACI-, so
you can formulate three related queries, depending on how precise you need
to be.  Note that the following TOUCHES and OVERLAPS queries refine the
basic INTERSECTS query.

INTERSECTS
   Select RedTab.Id , BlueTab.Id
   From RedTab , BlueTab
   Where RedTab.Obj intersects BlueTab.Obj

TOUCHES
   Select RedTab.Id , BlueTab.Id
   From RedTab , BlueTab
   Where RedTab.Obj intersects BlueTab.Obj
   And (Area (Overlap (RedTab.Obj, BlueTab.Obj ), +ACI-sq mi+ACI- ) +AD0- 0 )

OVERLAPS
   Select RedTab.Id , BlueTab.Id
   From RedTab , BlueTab
   Where RedTab.Obj intersects BlueTab.Obj
   And (Area (Overlap (RedTab.Obj, BlueTab.Obj ), +ACI-sq mi+ACI- ) +AD4- 0 )

Now, following this approach, is it possible to formulate a DOES NOT OVERLAP
query in MapInfo by refining the DOES NOT INTERSECT query?

It might look something like this pseudo-code:

   Select RedTab.Id
   From RedTab
   Where
     +ADw-RedTab.Obj does not intersect anything in BlueTab+AD4-
   Or
     +ADw-RedTab.Obj intersects but does not overlap anything in BlueTab+AD4-

This is not an entirely frivolous question.  Suppose you were the United
Nations and you wanted to use MapInfo to find those countries that are not
having a territorial border dispute with their neighbors.  The proposed DOES
NOT OVERLAP query should  find them.

 Island countries such as mine would be selected by the first term (does not
intersect). Peaceful neighbors such as USA and Canada would be selected by
the second term (intersects but does not overlap).  However India and
Pakistan would be rejected because, right now, their maps overlap in
Kashmir.

Anyhow, I conjecture that a one-pass  DOES NOT OVERLAP query cannot be
formulated in MapInfo.

David M Haycraft                   Phone/Fax:  61 +- 2 +- 6231 8104
Information Analysis Assocs  P/L   Mobile:     0412 001 134
ACN 085 516 105                    Email:
d.haycraft+AEA-acslink.aone.net.au
1 Cumming Place, Wanniassa         Web:
www.acslink.aone.net.au/actaa/iaa.htm
A.C.T. 2903, Australia             A MapInfo Partner

----------------------------------------------------------------------
To unsubscribe from this list, send e-mail to [EMAIL PROTECTED] and put
"unsubscribe MAPINFO-L" in the message body, or contact [EMAIL PROTECTED]

Reply via email to