After learning about this constraint about saving Polygon objects in mySql,
I am still puzzled as to why the following insert fails with the same
Error Code: 3037. Invalid GIS data provided to function st_geometryfromtext
.
INSERT INTO myGeom (id, ogc_geom)
VALUES
(
1,
GEOMFROMTEXT(
'POLYGON((
-85.4783714315732 9.8651106795296,
-85.4784492156346 9.8654277853092,
-85.4783714315732 9.8651106795296))'
)
);
It closes itself, what bit is missing here (added one more point)?
A slightly modified version, that works...
-- WORKS !
INSERT INTO mygeom (id, ogc_geom)
VALUES
(
552,
GEOMFROMTEXT(
'POLYGON((
-85.4783714315732 9.8651106795296,
-85.4784492156346 9.8654277853092,
-85.85451248764512 10.1234567893214,
-85.4783714315732 9.8651106795296))'
)
);
GeomFromText('POLYGON((...))')
calls may result inError 3037
. One is the polygon not being closed, the other would be cases where it consists of 3 points only ? (I can't see how a closed figure can be defined by 3 points where the last one must be the 1st (so it closes) without the figure being a line. Makes sense ? Any other edge cases I am missing ? The outcome of this exercise is to clean our database of invalid objects (that must have been inserted with previous versions where such validations were not yet included). – Atlante