Skip to content
John Poole edited this page Oct 1, 2013 · 1 revision

Someone using this project probably is wanting to serve up their own mbtiles (SQLite database) files for a mapping application.

The key components of arriving at a solution that incorporates this tile server involve several factors. The components should be identified and then addressed so that someone coming into this project can easily identify the dependencies and set up a functioning development environment that is standardized and, of course, duplicate the tests. I'm learning, through the trial of fire and water, where there can be problems.

Server that has PHP capability

Looks like this is Apache dependent insofar as it relies on rewrite rules (http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule). I'm not familiar with other servers and whether they offer the rewrite capability that Apache's server does.

Rewrite Rules

I'm segregating this because I saw there were some various versions either in rewrite or logging that could affect things. I found following Apache's access and error logs helpful to monitoring what was going on.

mbtiles file

What are the variables in the mbtiles creation that can affect whether an mbtiles file works? SQLite appears to be in 3 generations, currently at SQLite3. Can we go with SQLite3 and know that files created by earlier versions will be readable?

SQLite available to the PHP engine

Which version of SQLite is available to the PHP engine affects both the PHP code utilized and the result.

Browsers

Firefox, MS Internet Explorer, Google Chrome, Apple's, Android. I found that once I had a sample which had a tile and marker layers working in Firefox on my desktop, it worked on my Samsung Galaxy Tab, but not on my Android HTC. So, there are variances in the client side that need to be identified. I have been assuming that using HTML5 would be the equalizer allowing me to deploy to whatever platforms, but that may not necessarily be the case.

Sample mbtiles files

Also, it would be helpful to have some small sample sets which anyone/everyone can access in order to repeat the test and have apples-to-apples comparisons.

Examples

Having a set of HTML examples to test against using one or more sample mbtiles files.

Development tools

  • SQLite reader (Perl script)
  • Firefox Web Developer