Bug #55418 GIS functions in 5.1.35 are not 3D
Submitted: 20 Jul 2010 23:18 Modified: 22 Jul 2010 11:28
Reporter: Mike McCutcheon Email Updates:
Status: Verified Impact on me:
Category:MySQL Server: GIS Severity:S4 (Feature request)
Version:5.1.35 OS:Any
Assigned to: CPU Architecture:Any

[20 Jul 2010 23:18] Mike McCutcheon
The distance() and buffer() functions do not appear to be 3D, in which case I imagine that the other GIS functions introduced in 5.1.35 are not 3D either.

How to repeat:
Here's a link to compare a  proper 3D circle (not created with a MySQL GIS function) with a buffer created by using the MySQL 5.1.35 buffer() function:


It's just a demo so it doesn't have any validation, so please just use valid decimal latitude (+90 to -90) and longitude (-180 to + 180). Also don't define a circle which will cross the antimeridian (-180 or +180).

On the equator, the buffer is the same as the circle. As you move towards a pole, the circle remains a circle but the buffer gets distorted because the buffer() function doesn't seem to take into accounts that the lines of longitude get closer at the poles.

As I have said before in the MySQL GIS forum, I apologize if I am wrong, but nobody has commented that I am missing some important point.

Suggested fix:
Ask Alexey "Holyfoot" Botchkov if he could possibly apply corrections to these functions - that would be hugely appreciated. 

I based my circle logic and a distance calculation on the excellent:
but I'm no mathematician, so that's about as far as I can go.
[22 Jul 2010 11:28] Sveta Smirnova
Thank you for the report.

Our GIS implementation does not support 3D, therefore verifying this as feature request.