I'm looking at cell coverage maps such as this one, and trying to figure out how to get a GIS program to use it as a source of information. Ultimately, I need to be able to combine the output with other cell coverage maps from different sources. But in order to do that, I need to understand how each one works and how to align them with each other.

Strangely, each of the five zoom levels offered has a different tile size:

  1. 160x160 pixels
  2. 128x128
  3. 145x145
  4. 198x198
  5. 182x182

I've never seen a map tile service like that before. Usually the tile sizes are all the same. Do map-service-consuming tools (I'm thinking of open-source tools like Tilecloud) have the ability to consume maps whose layers have different - practically random - tile sizes?

Additionally, I'd like to know how the tiles are georeferenced. Maybe that's not exactly the right way to say it ... but I need to be able to combine tiles from different maps so that they're aligned properly.

Maybe I could get the information needed for that if I knew what kind of map tile API is being implemented by http://gsma.streetmap.co.uk/custom/barts/gsma/. Maybe they have a REST URL that gives data about spatial reference and so on. But I haven't been able to figure out what API they're implementing.

Using the browser debugging tools, I see URLs like http://gsma.streetmap.co.uk/custom/barts/gsma/gmap.srf?o=1&i=502/951/Zoom3/Zoom3_502_Tile007_9511638.png for the tiles.

The mobileworldlive.com page loads several javascript files, including two from gsma.streetmap.co.uk: http://gsma.streetmap.co.uk/custom/barts/gsma/SMJ_GSMA.srf?id=502&layer=951&nd=http://mobileworldlive.com/maps/images/map_na.jpg and http://gsma.streetmap.co.uk/SMJ_ObsEmo.js (The first one has an "include" that loads the second.)

They contain a bunch of custom map display code. I suppose I could try to learn about the API through reading that code, but that seems like a time-consuming and error-prone way to do things if this is implementing an API that's documented somewhere.

Thanks for any suggestions on how to attack this.

  • 1
    you need to contact streetmap.biz/online.html scraping their tiles will be break terms of the mapping service they provide.
    – Mapperz
    Jun 18, 2014 at 20:40
  • @Mapperz: where did you see their terms, specifically that allow only certain things or prohibit scraping? I need to be able to be able to quote the terms to my boss.
    – LarsH
    Jun 18, 2014 at 21:26
  • @Mapperz: I'm not planning to violate the terms of service, but it's not at all clear what those terms are. Have you actually seen them? Visiting their web site in a browser is presumably not considered "scraping", even though you're fetching the tiles. So it's important to know where the lines are drawn.
    – LarsH
    Jun 19, 2014 at 3:18
  • I found more specific info here on what streetmap.co.uk says is allowed: streetmap.co.uk/iddisclaimer.htm There's a good possibility that what I need to do is covered by Fair Use, provided that I limit the amount and rate of tile access.
    – LarsH
    Jun 23, 2014 at 2:05
  • 1
    what about setting several layers for each tile size and to switch between them on zoomend event?, I am also using open layer for almost a year, its complex but it worth it.
    – talsibony
    Jul 1, 2014 at 13:46

1 Answer 1


One way to convert odd TMS sources to something usable is MapProxy.

What you want to do is define a tile source with a custom grid and set up a cache which uses your source. Once it's in a cache you can set up an output service with a standard TMS grid, or use WMS, WTMS, or another supported option.

The two tricky parts are going to be

  1. Determining your grid. You may need to define multiple grids, one for each zoom. You'll have to figure this out yourself, as you've got some very strange sources. There is code out there for defining a grid from ESRI MapServer meta-data, but you've just got weird layers

  2. Getting edges to match if some layers don't have alpha on the areas outside their extent. This is always a pain.

I really doubt there's anything out of the box that will work with that tiling scheme without having to define what the scheme is, it looks to be something completely non-standard.

Don't forget to mind the terms of service, and set reasonable concurrency limits on the downloads from the source.

  • Paul, thanks for your answer. I've been experimenting with MapProxy, but haven't yet learned enough to get it to work. Re: #1, why do you say multiple grids for each zoom? Did you mean a separate grid for each zoom? Re: #2, I think the edges are OK.
    – LarsH
    Jun 30, 2014 at 13:25
  • This answer will be automatically awarded half-bounty in 11 hours. If anyone can give specifics on how to define a working grid or scheme for the irregular sources, I'll gladly award them the full bounty.
    – LarsH
    Jun 30, 2014 at 15:19
  • 1
    Yes, a separate grid for each zoom. Jun 30, 2014 at 19:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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