Phil Salesses
Phil Salesses

Reputation: 870

Google Maps Save Polygon and points in MySQL using PHP

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.

Upvotes: 9

Views: 7730

Answers (3)

soju
soju

Reputation: 25312

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.

Upvotes: 4

Argiropoulos Stavros
Argiropoulos Stavros

Reputation: 9533

Take the time to familiarize yourself with the spatial extensions as they will help you accomplish tasks down the road and not only for this project.

Upvotes: 1

Saurav
Saurav

Reputation: 3136

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) )

Upvotes: 5

Related Questions