I need to implement an SQL database that can make queries using geo-location based logic.

e.g. select rows within 500m of coordinate x, y

What options are available to do this with sqlite, mySQL, postgreSQL, mariaDB, or something similar?

closed as too broad by PolyGeo Apr 27 '16 at 8:16

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    There is a question on Stack Overflow that deals with this -- note shameless plug for my own (very) long answer there :D If you feel a bit of TL;DR there, I recommend Postgis in the end -- Postgres is amazingly fully featured and stable and Postgis has far more functions than MySQL/Maria, MongoDB, CouchDB. Sqlite is OK for smaller projects too as HeyOverThere has said. – John Powell Oct 20 '14 at 23:00
  • And, of course, SQL-Server, Oracle, DB2 and Informix all support spatial types as well, as do several NoSQL databases. – Vince Oct 21 '14 at 1:17
  • @Vince. Yes, I also wrote a post about NoSQL options, but the available functions are still some way away from Postgis, SQL Server, Oracle, etc. – John Powell Oct 21 '14 at 9:22

All four of the databases you listed have the capability to support the type of query you're asking about. SQLite and Postgres through extensions (Spatialite & PostGIS respectively), mySQL and MariaDB have some basic GIS support built in natively.

As to which to use, it depends on your needs. Personally I go with SQLite for simple in house applications and Postgresql for bigger projects that are going to get more traffic.

Not the answer you're looking for? Browse other questions tagged or ask your own question.