Php – Google Maps Save Polygon and points in MySQL using PHP

gisgoogle mapsgoogle-maps-api-3MySQLPHP

Right now I have an application that allows users to draw a polygon on google maps. I need to save this polygon using PHP and MySQL but I'm unsure of best practices.

Should I enable spatial extensions and save the geometry? Should I save each vertical (lat/lng pair) in an array? Another approach I'm unaware of?

I'm wondering what the best practices are. Using MySQL spatial extensions seem daunting. It returns things in WKT and then I have to parse that text to make it do something else. It seems convoluted.

Best Answer

It's best to think of your usage scenarios when planning out your storage layer.

This will help you figure out which queries you'll want your persistence layer to optimize for.

If you're going to handle lot's of queries like, "Find me all objects within this space". You may want to look at using the spatial extensions.

However, if most of the time you're simply drawing an object with a given id, simply saving the polygons as a json blob in the DB may do.

CREATE TABLE Polygons ( polygon_id int not null, vertices_json varchar(4096) )