I have the coordinates of the center and radius in meters. How can I create an SDO_GEOMETRY type circle, because it need at least three points of the circle, as in this example?
INSERT INTO cola_markets VALUES(
4,
'cola_d',
SDO_GEOMETRY(
2003, -- two-dimensional polygon
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,1003,4), -- one circle
SDO_ORDINATE_ARRAY(8,7, 10,9, 8,11)
)
);
Using three points for representing a circle is only possible if the data is projected. If your data is geodetic (i.e. your center is in longitude/latitude) then the only way to represent a circle is by densifying it. You can do that using the
SDO_UTIL.CIRCLE_POLYGON()
function.For example:
If your data is projected, then use the following function to generate a 3-point circle:
For example:
1 row selected.