Categories: MySQLDevelopment | Software Preview

GIS Functions

Contents

[edit] Introduction

While MySQL already provides some functionality to store and operate on geospatial data, the functionality leaves quite a lot to be desired and is far from providing full OpenGIS compatibility.

Most notably is that all functions that query spatial data only operate on MBRs (minimum bounding rectangles), to simplify the operations.

Thanks to MySQL Developer Alexey "Holyfoot" Botchkov from Izhevsk, Russia, some of the spatial relation functions like INTERSECTS and WITHIN now work in the way they are described by OpenGIS and not by using MBR's as it used to be. He has been working on improving the GIS functionality as a side project and the work has now reached a level at which he is ready to give it public testing and solicit feedback about it.

Currently these new features have not been slated for inclusion in any upcoming MySQL major release. But the more feedback and testing this code receives, the faster it will reach a maturity level that makes it a potential feature candidate for new versions of MySQL.

[edit] References

This work is documented as WorkLog task WL#1326 "Precise spatial operations", which is a subtask of WL#2377 "Add all missing GIS features to MySQL" - feel free to review and comment on these specifications and make sure to test the new functionality!

In addition to improving already existing functionality, Holyfoot also implemented some new precise geospatial functions - the following functions are available now and use precise operations instead of MBRs.

Note: The previous existing functions have been prefixed with MBR, to indicate the difference in operation. For example, the original Intersects() function is now called MBRIntersects()

[edit] Download

[edit] Binary packages

On 2007-10-29 a first batch of preview builds has been released for a number of platforms (Linux, Mac OS X, Solaris, Windows). The packages are available for download from http://downloads.mysql.com/forge/mysql-5.1.23-beta-GIS/

Note: these packages still include the bugs reported below! Currently, you need to compile from the source tree to work around these.

[edit] Sources

The source tree (based on the MySQL 5.1 code base) is now available from our public BitKeeper trees at http://mysql.bkbits.net/ - please consult the reference manual for more information on how to build a MySQL binary from a source tree.

[edit] Known/reported Bugs

If you discovered and reported a bug in the new functionality, please add it to the list below, to avoid duplicate reports by other users:

Note: If a bug has been striked through, it means that is has been fixed and commited to the source tree already. However, the latest preview binaries don't contain this fix yet! The list of known bugs will be reset, once a new preview release has been published.

[edit] Contact

To discuss the new GIS functionality, please use our GIS Forum and help us by Reporting Bugs at our public Bug Database! For convenience, please tag your Bug reports with "openGIS extensions".

[edit] Related Links

Retrieved from "http://forge.mysql.com/wiki/GIS_Functions"

This page has been accessed 5,754 times. This page was last modified 21:25, 22 April 2008.

Find

Browse
MySQLForge
Main Page
Current events
Recent changes
Random page
Help
Edit
Edit this page
Editing help
This page
Discuss this page
Post a comment
Printable version
Context
Page history
What links here
Related changes
My pages
Special pages
New pages
File list
Statistics
Bug reports
More...