Subscribe to this thread
Home - General / All posts - Openstreemaps ISI driver
jkelly


1,234 post(s)
#21-Apr-09 21:38

Hi all

Due to people's persistence, I decided to have a go at generating the dlls required so you can load Openstreetmap images into manifold just like Virtual Earth.

It took me longer than expected, but in the end, it was very similar to the google implementation.

I have implemented the mapNik, Osmarenderer and cloudemade's cycle map tiles.

A couple of notes:

The mapnik tiles are slower, as according to the useage policy, they don't like more than 2 download threads. The usage policy did not extend to the tiles@home or the cyclemaps images, so I gave these the same number of download threads as I could see that they were serving.

They should work for both x64 and x32 installations.

There was some code in the original isi files that I couldn't work out why it was there and it was causing me some errors, so I got rid of it. If something goes haywire, then this could be the cause.

To use, simply dump the dll in the same spot that you have your other image server dlls. If anyone is interested in the source, I have included that as well.

Cheers

James K.

Attachments:
ImageServerOSM_src.zip
Manifold.ImageServer.OSM.dll


James Kelly

http://www.locationsolve.com

johnrobot
306 post(s)
#21-Apr-09 23:04

Wow, that is a nice piece of work. Works perfectly. Well done.

adaptagis

633 post(s)
#21-Apr-09 23:18

James your my Hero! that is really fantastic work!

Congratulations and my Respect!

hope I will get the chance to pay you a couple of beers for that..

Graeme

995 post(s)
#22-Apr-09 00:29

Top effort James, thank you; works fine VISTA 64.

petzlux

1,002 post(s)
#22-Apr-09 01:13

James

Thanks a lot for this! It works great here, and even the Mapnik Layer is fast (then again, the OSM server is in the same building where my office is, so it should be :-)

This is an awesome resource for people who want to avoid all the copyright hassles and uncertainties of using Google,VE,Yahoo. Of course, the OSM license will need to be acknowledged in any maps that use these layers, but thats basically it!

Looking forward now to the next step, native Manifold support for OSM XML import/export !!!!


Spatial Knowledge, my personal blog.

petzlux

1,002 post(s)
#22-Apr-09 03:55

I did a quick blog about it as well ! Some more points in there:

http://www.spatialknowledge.eu/2009/04/openstreetmap-tiles-now-available-for-manifold/


Spatial Knowledge, my personal blog.

patrickdwong
81 post(s)
#22-Apr-09 13:20

Oh my gosh! This is really cool. This is such an awesome resource.

Standing ovation....

Graeme

995 post(s)
#11-May-09 02:00

Thanks for the links Patrick.

We're actually looking for some wording which will cover all requirements to be included as part of the metadata in products using OSM image layers. We're wondering whether something as simple as:

Street Map Image: OpenStreetMap Foundation http://foundation.openstreetmap.org/

would cover the bases. Any thoughts or suggestions? Obviously space can be at a premium, so concise is preferred. Cheers, Graeme.

KlausDE

6,411 post(s)
#22-Apr-09 14:16

Very usefull. Thanks James


Do you really want to ruin economy only to save the planet?

Gustavo Palminha

1,010 post(s)
#23-Apr-09 10:37

Really nice.

Regards.


Stay connected:

Linkedin >> http://www.linkedin.com/in/gustavopalminha

Twitter >> http://twitter.com/gustavopalminha

Other >> http://www.spatialmentor.com

sknox79 post(s)
#23-Apr-09 17:10

Excellent job,

Thanks for that, I'm sure it will come in very useful to a lot of people

Steve

Dimitri


7,473 post(s)
#23-Apr-09 15:59

Brilliant, James... this works beautifully and is a real help.

A small note: there might be a minor fenceposting error with large extents. For example, open one of the "World" maps on the manifold DVD so the default mapnik image is +/- 180 and +/- 90... the resulting image is not right in extents and locks up. Other than that everything I've tried has worked perfectly.

You are a true hero for doing this!

Dimitri


7,473 post(s)
#23-Apr-09 16:23

... can't resist suggesting.... sure would be fun to refresh those Google ISI modules that have been floating around! :-)

ColinD

2,084 post(s)
#23-Apr-09 16:38

Great suggestion if you could find the servers, for Australia at least!


Aussie Nature Shots

jkelly


1,234 post(s)
#23-Apr-09 22:08

The problem with the Google drivers is not so much the address, but it is google's policy on direct access to the servers that serve the tiles. Through an internet application, it is easy, just type in the address of a tile, and it works. Google has some smarts on the server end when something other than a browser trys to access the tiles, and it gives an error, something along the lines that it thinks you could be a virus or spyware trying to access google, try again later.

I have no idea how google does this, but I assume that any httpWebRequest is tagged with some application info that has sent it. Google must intercept this on the server, check it out, then return a response based on whether it falls into their accepatable users category. I don't know if there are ways to cheat this, i would assume so, but I can't say.

Google say that they don't mind you accessing the data, as long as you go through their javascript api, which limits these manifold image drivers. One way around it, which I might test out, is to set up and host a page that references the api, then takes the same parameters as the tile server. This page basically acts as a proxy, so you use this local page url in the image server address, it then goes through the google API, and returns an image.

If I figure this out I will let people know.

Cheers

James.


James Kelly

http://www.locationsolve.com

Sev
464 post(s)
#23-Apr-09 22:42

I'd be forever grateful if you were able to do this James. None of the other servers come close to what the google tiles provide for this part of the world.

jkelly


1,234 post(s)
#23-Apr-09 21:18

Dimitri,

I did notice this, it has something to do with the min and max zooms setup in the driver. I had also noticed some funny behaviour in the other drivers at large extents as well. I will have a closer look at whether setting these values makes much difference.

Cheers

James.


James Kelly

http://www.locationsolve.com

mdsumner


4,263 post(s)
#23-Apr-09 21:50

This reminds of the extents problem you get with Mercator (undefined at the poles) - is it possible to modify the modules to override the latitude range to limit to something like -98.99999 to 98.999999 ?

When you naively put -90 90 in you get a nonsense image 1 pixel high. (Sorry I could try this for myself, but thought I'd mention it here).


https://github.com/mdsumner

Dimitri


7,473 post(s)
#04-Jun-09 17:07

Just thought all OSM fans would like to know: toss James' wonderful new OSM ISI modules into your Program Files (x86)\Manifold Toolbar folder and you can use the Manifold Toolbar with OSM. :-) Neat! Thanks again James!

See http://www.manifold.net/toolbar for the toolbar.

gisman2 post(s)
#21-Dec-09 19:02

James

I have dumped the dlls into the c:\program file\manifold\system directory just like you are supposed to

and I still get the same error.

Any clues what I doing wrong. This only happens for the Google Earth Dll's.

Thanks

gisman.riddle@gmail.com

jkelly


1,234 post(s)
#21-Dec-09 19:28

Google change their addresses of the tiles quite regularly, you will periodically need to check them and use a custom url for the address.

The current one for satellite images is http://khm1.google.com.au/kh/v=51

You can figure these out easily using fiddler (http://www.fiddler2.com/fiddler2/), an app that shows all web calls from your machine, or firefox with firebug (http://getfirebug.com/) to inspect the image paths in the google maps.

Hope this helps.


James Kelly

http://www.locationsolve.com

peterstib54 post(s)
#29-Dec-09 10:11

Any update available on the above? - not working for me at present from the url you give or what I can see in Fiddler. v51 obviously current. Manifold 8.0.15, 64bit on Windows 7 Pro.

Very grateful for what you have done - I'm continuing working after a reinstall having remembered to save the cached data this time!

jkelly


1,234 post(s)
#29-Dec-09 13:51

I just tried the exact address above for the google satellite images and it still works. I don't know whether windows 7 is the problem, but I haven't heard too much noise about it from other users, so I assume it is working.

Google haven't temporarily blocked you for using it too much have they?


James Kelly

http://www.locationsolve.com

peterstib54 post(s)
#30-Dec-09 04:12

I don't think it's a block - I've had that happen in the past and lost all access; there's no problem with general access to GMaps at the moment and I hadn't attempted access for some time so shouldn't have used it 'too much'.

Maps, Satellite and Terrain are all out. No problem with the OSM units or VE through your dlls. The OSM might have thrown a problem if it were a Windows 7 issue. (Though Wndows 7 permissions ave proved interesting - the forum pointed me to the installation solution within the Manifold documentation - I now have a 'True Adminsrator' account as well as being an 'Administrator').

Anyway, as I said, I can continue with the cached images for the moment, and I'll give it another try in a couple of days in case it is a block.

Thanks again for your repsonse.

jkelly


1,234 post(s)
#30-Dec-09 13:34

You may want to check out http://forum.manifold.net/forum/t82848.52. There is an updated google ISI driver there along with some other comments that may help.


James Kelly

http://www.locationsolve.com

peterstib54 post(s)
#03-Jan-10 13:04

No joy after a break. Thik I've checked all options on the forum. I've been using the dll you supplied at t82848.52, 7th May 09. Do you mean there's one later than that? Also, am I correct in thinking that the only attachment I need to install is the Manifold.ImageServer.Google.dll? I thought that was all I did before my re-install, when it worked fine. Or should I be using all/part of the zipped file as well?

jkelly


1,234 post(s)
#03-Jan-10 15:13

You are correct in that all you need is the Manifold.ImageServer.Google.dll.

Once you used the dll from the thread I mentioned above, did you use a custom address like what I have mentioned about 4 posts up here in this thread?

If you did, then I am out of ideas.


James Kelly

http://www.locationsolve.com

peterstib54 post(s)
#16-Jan-10 02:16

James,

Just to say and in case it's of help to someone else, I'm now back in action. I had assumed it was a block but when I moved a map unit to the laptop for a presentation, everything was working on my 32 bit version of Manifold. Going back to the 64 bit with Windows 7 Pro, I went through the setups again. I'm not sure exactly what solved it; it was either turning off the virus checker or choosing to run it under the Vista SP2 mode. I suspect the latter, because it's now fine without touching the virus checker. I can now proceed with another set of 1838 maps knowing the result will work properly with GMaps/GE.

Current developments are at http://www.thisisoverstrand.co.uk/tithe1838a.html - there are some interesting differences between using GM satellite and GE as the background with the overlays, which we're continuing to tinker with, e.g. labels show in GM Satellite but disappear in GE, but the GE through the browser faciltities continue to progress so we'll wait on Google. We have 3D modelling of the 1838 village ready to drop in - currently they work in GE independently but not through the browser yet.

Anyway, thanks to your dll I can now invest time sensibly.

awalli1 post(s)
#11-Jun-10 05:54

Hi Peter,

I am using different versions of the google ISI drivers, most of them work fine for a couple of requests before I get blocked.

However, even if I get blocked your "thisisoverstrand" mapping application still lets me access the GE imagery !

So I was wondering if you could be so kind and publish the specific URl adress that you are using to access the satellite imagery.

Thank you very much for your efforts, Andreas

artlembo


3,424 post(s)
#11-Oct-11 20:11

is there an updated version - the Cyclemaps link no longer works.

artlembo


3,424 post(s)
#11-Oct-11 20:45

never mind. I found a new url that can be entered in:

http://b.tile.opencyclemap.org/cycle/

jkelly


1,234 post(s)
#12-Oct-11 06:10

Art

Not sure what version you are using, but the most up-to-date ones are up on github at https://github.com/jmkelly/Manifold-ISIs (hit the DOWNLOADS button).

This includes all Manifold ISIs as well as a few other that I have found about the place. I tried cycle maps and it worked fine as is.

Hope this helps


James Kelly

http://www.locationsolve.com

artlembo


3,424 post(s)
#12-Oct-11 15:09

thanks. do you know where they are actually getting the terrain layer from? Was that generated by them, or is there some public source of a terrain layer down to level 14.

jkelly


1,234 post(s)
#13-Oct-11 02:07

The terrain layer was added my me. I wanted a tiled hillshade and after a bit of looking about I came across that one. Only wished it went further down than level 14!

It comes from a bunch of tile servers made available by GeoIQ. All the information / addresses are available at https://github.com/fortiusone/acetate. They are all publically available. It's code for rolling your own tile server. As it's all Python based I haven't had a look at it (no skills with Python), but if you are interested in serving tiles based on OSM data with your own custom formatting, it may be worth a look.


James Kelly

http://www.locationsolve.com

Manifold User Community Use Agreement Copyright (C) 2007-2021 Manifold Software Limited. All rights reserved.