Nick’s Blog


More progress on SilverMap

by Nick on Jun.07, 2009, under GeoServer, GIS, Silverlight

SilverMap is not really aimed at becoming a real product, it is simply to allow me to get real experience of developing a Silverlight application that makes use of my GIS skills. I had already managed to create a viewer that pans around OpenStreetMaps. I added a few markers that also support clustering for when markers are too close to each other and now I support WMS.

Now some of you not from the GIS world may be wondering what WMS is. It stands for Web Map Service and essentially allows you to form a request for a bitmap (usually) of the area you are interested in. You then display this bitmap in your browser and, voila, you have a basic map. Alternatively you can render the bitmap over (or under) other data and then things start to become more interesting because a source of data from one server can be combined with another server and the user gets the impression of a single map with all the content they want.

Something that hindered me was that I wanted to use a public WMS server so that I did not have to find a way to make one work for me on my own computer at home. There are two drawbacks here, firstly I could not find one that was fast enough and secondly even if I had found such a server I would probably not have been able to make it work with Silverlight as Microsoft has created a mechanism within Silverlight that prevents an application running from one domain from calling a server in another domain. There is a workaround that involves putting a file on the server telling the Silverlight application that it is OK to make the cross domain call but the chances of me getting some public WMS server to place this file in their server is probably nill.

The rest of this blog covers the creation of my own WMS server and the problems I encountered. (continue reading…)

3 Comments :, , , , , more...

Silverlight and cross domain security

by Nick on Jun.02, 2009, under GeoServer, Silverlight

I was trying to create a WMS viewer using Silverlight. Not that there are not plenty of ways to view WMS without Silverlight, I just fancied a challenge. For anyone not in the GIS world, WMS is a defined HTTP based protocol that allows requests for maps to be served in a standard fashion. Essentially you send a request to the WMS server and it returns your map as an image (or any other mime type that the server knows how to render). (continue reading…)

Leave a Comment more...


by Nick on May.29, 2009, under GeoServer

GeoServer is an open source Java map server. Their site is Now I want to say from the outset that in the past I’ve  had some terrible experiences with installing open source software on my Windows machine. I don’t want to apportion blame because generally it’s not possible to determine who is to blame for what. However my normal experience goes something like this.

  • Decide an open source solution sounds worth investigating.
  • Download the necessary package.
  • Download all the other necessary packages required to make it work.
  • Install all these extra items.
  • Find that for some reason it does not work on my machine and spend two weeks trying to find a web site that can help.
  • Give up and go back to commercial software.

Well here is how it went for GeoServer.

  • Downloaded the package.
  • Downloaded the required Java JDK package.
  • Installed both.
  • Ran startup script.
  • Visited local URL mentioned in instructions.
  • Fell off seat when I realised it was working.

That was it and I am really delighted. Even the performance seems quite reasonable although so far I’ve not seen anything in the data that is too demanding. Now what I have to do is to add some extra data sources and make it work. The real pity is that I do not have a publicly visible server that will allow me to show you the results.

The reason I’ve set up this server is quite simple. Although I really love the results that you can get using GeoMedia Web Map, I really do not have the money to spare to afford a license. I’ve actually discussed this matter with Intergraph and some people agree with me that what they need is some kind of developer license that protects their intellectual property while at the same time allows developers such as myself to create imaginative solutions based on their products that will require an end user to buy a license from Intergraph. Don’t get me wrong, I’m not singling out Intergraph here. To my certain knowledge neither ESRI nor Safe Software have any kind of developer license either and the result is tha free software such as GeoServer can start taking a share of the market.

Now perhaps some of you will be concluding that I am anti open source. Not in the least bit, but I do have a problem with products that are essentially unsupported. OK OK there are thousands of developers out there beavering away to fix the problems that might arise in open source software but there is nobody that I can politely ask to fix or threaten with legal action (whichever floats my boat). There is nothing about commercial software that guarantees suitability for purpose but you can be reasonably certain that the developers have someone hovering over them telling them to damn well get it fixed.

But back to GeoServer. It promises quite a lot. It promises WMS, WFS, and WCS that are compliant with OGC standards. It offers the ability to read data from a multitude of data sources and because they are delivered via open standards you are not tied to a specific front end. Granted the compliance certificate seems to have been given against a relatively old version of these standards but nevertheless I’ve already seen that it is quite able to generate usable maps that can be read by other open source viewers (and in theory closed source ones too if I were able to afford them).

My real aim is to see if I can encourage the server to deliver data via WMS and WFS to my Silverlight viewer. If I can do that then there is a good chance that I can make that same viewer work with other WMS and WFS servers. The main restriction I have at the moment is that any server I use must support EPSG:900913 which is the coordinate system used by Google Maps and the like.

Well that’s all I really want to say for now. If I can make any progress then I’ll report back here.

4 Comments more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!