APIs · Maps

Setting up a Tile Server...

Mike Kyriacou Chief Executive Officer at Strattica Labs

August 20th, 2013

Hi all,

I'm presently hitting impractical 'map view' limits utilizing the standard Mapbox API.
One solution (aside from cashing) is to set up a Tile Server to serve the required tiles to the iOS client apps.  
I have a feeling, however, that this might be a can of worms ...

Does anyone have any experience setting up a custom Tile Server for maps?  
I'm looking for unexpected gotcha's, traps, costs, lessons learned.. 

Other Info:  The main part of the app is an iOS map-based game which requires intensive zooming, panning and, basically, tile loading.  The Mapbox API we are using allows some basic tile customization and provides hassle free Tile Server services, initially for free and then proportional to usage.

Thanks in advance for thoughts, experience, perspectives you may have..



Alan Peters VP Product and Technology at BusinessBlocks

August 20th, 2013

None! But it looks like fun. What is your base map data source (google, bing, o2sm)? How much geography are you dealing with (a building, a city, a planet)? _A

Mike Kyriacou Chief Executive Officer at Strattica Labs

August 20th, 2013

Hi Alan - It's the whole planet.  While the entire Earth is available for game interaction, we have some elegant ways of quietly trimming live results to just display relevant data and data-updates to players.   
We are using OSM as the base map.  One false move and the data / broadband / transfer requirements explode :)    

Hey Jonathan!  Good to see you on FD!  Right now I'm just wanting to explore the issues of Tile Server setup.  Does Airpair allow free chat in a casual context or is it commercial/billable from the beginning?    

Oleg Baranovsky CTO at Elluma Discovery, Inc.

August 20th, 2013

How is your experience with Mapbox API btw? We were considering using it for one of our projects as well... What is it that drives you away from them? Is it primarily costs?

Alan Peters VP Product and Technology at BusinessBlocks

August 21st, 2013

I built a small mapping system for The Nature Conservancy once upon a time when trying to do overlays of large GPS surveys (entire biomes at 1/4 hectare resolution) and finding Google not optimized for the amount of data.  But I don't have any expertise in this per se.

Not sure how far you've dug in, but:
http://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/ has a pretty good tutorial on just pulling a tile-server together on Ubuntu with pre-existing packages.  That would get you rolling really quickly but give you many points to optimize as you grow.  

I'm curious how your pruning works when you've got multiple people who want multiple places.  I would think you'd be back to the whole planet.  In which case RAM is going to be an issue and you'll want something like a "High-Memory Double Extra Large Instance" on EC2 http://aws.amazon.com/ec2/.  for a tile server. Two or more behind a load balancer.

Or it could be your pruning could turn to a sharding scheme of some sort allowing you to have a cluster of tile servers with lower memory requirements.

Caching (e.g. Redis) is going to be your friend.  

Finally, you might ping Greg Christiana: 
I worked with him (briefly) at an ill-fated dotcomera startup that was like Del.icio.us but your bookmarks were a 3D planet - and part of a universe of other users planets.  He's at Google now.  Super-sharp and a great guy.  PM me @ morefromalan@gmail.com if you're interested in an intro.  And I might be able to dig up a few others.