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.
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) )
You can also use : google.maps.geometry.encoding
to encode/compress paths
http://code.google.com/intl/fr/apis/maps/documentation/utilities/polylinealgorithm.html
I once used this to save in database thousands of directions and it is quite convenient.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With