Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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.

share|improve this question
    
you need to contact streetmap.biz/online.html scraping their tiles will be break terms of the mapping service they provide. –  Mapperz Jun 18 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 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 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 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 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.

share|improve this answer
    
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 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 at 15:19
1  
Yes, a separate grid for each zoom. –  Paul Norman Jun 30 at 19:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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