It is amazing that people want to handle "circles" as if they were
geographic objects. They do not exist in MI with properly defined
"contours", just a center and a radius, and they are displayed on the fly
with some approximation. Hence, my hesitation to the cartesian space
solution; the computed points may not exist really as part of the circles.

Before Mi will "release" information about intersection between a circle and
another linear object, it internally transform it (them eventually) to
polyline(s) and will find the intersections between resulting objects, These
are approximation of the circle shape in a polyline with a number of nodes
defined by the "Set Resolution" statement (by default 100 nodes per circle);
in this implicit transformation, the original circles are not modified. The
coordinates of the intersections will vary thus for different resolutions,
and the corresponding points with not be on the "circles" except if by
chance, each intersection will find itself on a node for both
convertedtopline circles.

One easy approximation will thus be to do the following

Dim oint as object
Oint=overlap(circle1,circle2)

X and y if the intersections would be
Objectgeography(oint, OBJ_GEO_LINEBEGINX)
Objectgeography(oint, OBJ_GEO_LINEBEGINY)
Objectgeography(oint, OBJ_GEO_LINEENDX)
Objectgeography(oint, OBJ_GEO_LINEENDY)

One must make sure that an object was created (that there is an
intersection) either by testing previously that the distance between the two
centers is < sum of radii, or by error trapping on the objectgeography
function.

Notice that the overlap function returns an object defined by its end points
(the intersections) of the circles, whereas the intersectnodes() will not
work on circles; they will have to be to previously converted explicitly to
polylines.

A last detail. Experiment with two circles and add the results of the
operation to the map. Zoom on one of the extremities; you will most probably
see that it is not on any of the original circles.

As a general conclusion: never consider circles as geographical objects and
process them thinking that are "precise".

Jacques Paris
e-mail  [EMAIL PROTECTED]
MapBasic-MapInfo support  http://www.paris-pc-gis.com

-----Original Message-----
From: Lawley, Russell S [mailto:[EMAIL PROTECTED]
Sent: 11-Jun-04 09:01
To: [EMAIL PROTECTED]
Subject: RE: MI-L returning the coordinates of 2 intersection points of 2
overlapping circles

Erin,

you should look at the intersectsnodes function (if you are using Mapbasic).

this will return a polyline for two intersecting ellipses, the start and end
points of which will define the coordinates of the two 'crossing points'.
(use the objectinfo or objectgeography functions for finding these values
from teh line)


regards
r





*********************************************************************
This  e-mail  message,  and  any  files  transmitted  with  it, are
confidential  and intended  solely for the  use of the  addressee. If
this message was not addressed to  you, you have received it in error
and any  copying,  distribution  or  other use  of any part  of it is
strictly prohibited. Any views or opinions presented are solely those
of the sender and do not necessarily represent  those of the British
Geological  Survey. The  security of e-mail  communication  cannot be
guaranteed and the BGS accepts no liability  for claims arising as a
result of the use of this medium to  transmit messages from or to the
BGS. .                            http://www.bgs.ac.uk
*********************************************************************


---------------------------------------------------------------------
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Message number: 12153




---------------------------------------------------------------------
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Message number: 12156

Reply via email to