I do not think that this approach answers the question because it deals only
with multiple polygons and not adjacency with other polygons; it will select
as well regions with a hole. The first question is to ask if islands can be
part of a region counting more than one polygon, one of which being
mainland. In which case, to identify the island polygons, one must first
"explode" the multiple polygon regions to be able to deal with single
polygons (see EXPLOREG on the MLC project
http://www.total.net/~jakesp/index.html) .

Then the selection must be done by an "intersect". Intersect will select all
objects that overlay the target object, i.e. in MI terms, that have at least
one node in common even if the "intersected" area is null. The principle
will be to select the objects for which the number of objects selected by
intersect with others is = 0. In MB it will be a loop going through all the
"exploded" objects of the table, for each one renamed ob "select * from
table_X where obj intersect ob into sel" and "marking" the ob for which
selectioninfo(sel_info_nrows)=0. Someone may be able to put that in the form
of a SQL phrase, personally I do not see how.

Jacques PARIS

e-mail    [EMAIL PROTECTED]

For MapInfo support, see the Paris PC Consult enr. site  at
http://www.total.net/~rparis/gisproducts.htm

For MapBasic questions see the J.Paris site at
http://www.total.net/~jakesp/index.htm

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Geograf�a y
Electr�nica, SA de CV
Sent: November 24, 2000 6:02 PM
To: Kmount
Cc: [EMAIL PROTECTED]
Subject: Re: MI-L Island polygons


Alter Table "myTable" ( add island Logical ) Interactive

select * from myTable where str$(objectInfo ( obj, 1)) = "7" into Regions

select * from Regions where str$(objectInfo ( obj, 21)) > "1" into
MultiPolygon

update MultiPolygon set island = str$( objectInfo ( Buffer ( obj, 50, 1 ,
"cm" ), 21)) > "1"

This will give you a logical field marking the objects with 'islands' over
2 cms away from the 'mainland' polygon.

Hope this is what you were looking for.


At 01:08 P.M. 24/11/2000 -0800, you wrote:
>Thanks for the help. I have gotten this far. I am really trying to
>distinguish between the multiple polygon regions, the polygons that are not
>adjacent and sharing nodes with any other polygons. In esence these are
>island polygons, not attached to the mainland!  Any ideas are greatly
>appreciated
>
>Regards Kenn
>
>"Geograf�a y Electr�nica, SA de CV" wrote:
>
>> I believe you talk about multi-polygon regions.
>>
>> 1.- make a query of all region objects in the table
>> select * from Table where str$(objectInfo ( obj, 1)) = "7" into Regions
>>
>> 2.- Select those regions where there are more than 1 polygon.
>> select * from Regions where str$(objectInfo ( obj, 21)) > "1" into
>> MultiPolygon
>>
>> At 12:46 P.M. 22/11/2000 -0800, you wrote:
>> >Does anyone have any Map Basic tips to flag Island Polygons?
>> >
>> >Cheers Kenn
>> >
>> >
>> >
>> >_______________________________________________________________________
>> >List hosting provided by Directions Magazine | www.directionsmag.com |
>> >To unsubscribe, send e-mail to [EMAIL PROTECTED] and
>> >put "unsubscribe MapInfo-L" in the message body.
>> >
>> ---------------------------------
>>      Ing. Juan Pufleau Correa
>> Geograf�a y Electr�nica, SA de CV
>>       Aguascalientes, Mexico
>> ---------------------------------
>
>
---------------------------------
     Ing. Juan Pufleau Correa
Geograf�a y Electr�nica, SA de CV
      Aguascalientes, Mexico
---------------------------------


_______________________________________________________________________
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, send e-mail to [EMAIL PROTECTED] and
put "unsubscribe MapInfo-L" in the message body.



_______________________________________________________________________
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, send e-mail to [EMAIL PROTECTED] and
put "unsubscribe MapInfo-L" in the message body.

Reply via email to