HomeHome ArchiveArchive

WMS map server list

List of Map Servers with Viewers

HTML Viewer



Capbilities (XML)

NASA Web Map Viewer

World Topography

National Boundaries, Coastlines, Topography and Bathymetry, …


OGC WMS Viewer

World Topography

Capitals, Ocean Label, Country, Topography, Countries (Area), Ocean Depth, …

Capabilities 1 Capabilities 2


Europe Topography

Political Boundries, Coastlines, Global 30 s Elevations, Global 5 min Elevations, …



East Coast / Canada - USA / Area of Interest

Areas of Interest, Political Boundaries, Coastlines, Global 30 s Elevations, …


CubeWerx George

Hurrican George, 1998-09-27 20:54 UTC

Built-Up Areas, Coastlines, Political Boundaries, NOAA AVHRR satellite image, Global 30 s Elevations, 2 min Shaded Relief, …


CubeWerx NRCAN

City with agglomeration

Toponymy, Route, Water, Vegetation, Agglomeration, …


CubeWerx Main

World Topography

Coastlines, Political Boundaries, Global 30 s Elevations, 2 min Shaded Relief, …


CubeWerx Mars

Mars Landings / Topography

Mars Landings, Mars Topography, …


CubeWerx SRTM

Shuttle Radar Topography, North America

Political Boundaries, Shuttle Radar Topography Mission, Global 30 s Elevations, …


quickWMS nav001

Europe - North Africa - Middle East

World Modis, Coastlines, Builtup areas, …

Capabilities 1 Capabilities 2

NLR Remote Sensing Department


Modis, NL-Mosaic, Aster_Delft, Coastline, Borders, …

Capabilities 1 Capabilities 2 Capabilities 3

Simple OGC WMS Client

World Topography

World, …



This list contains only a few WMS map servers found in the internet. For an up-to-date WMS server list visit http://www.geopole.org/wms/

Embedding Ruby in Kylix/Delphi


Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, extensible, and portable. This component embeds the Ruby interpreter in a Kylix/Delphi application.

Usage examples

   if ruby.EvalExpression('1+1') <> 2 then
    raise Exception.create('Ruby can''t calculate!');

  ruby.Expression.Text := 'print "Regexp".gsub!(/e.+/, "uby")';
  if ruby.Output <> 'Ruby' then
    raise Exception.create('Ruby can''t write!');

Download / Developement


  • Open Package Ruby.dpk
  • Options / Conditions
  • Install

Delphi/Kylix GIS components


The Delphi/Kylix GIS components connect your application with a WMS or UMN map server. The map viewer component has all the basic functionality for viewing, navigating and querying maps. WMS (Web Map Service) is a specification of the Open GIS Consortium supported by many free and commercial web mapping servers. You can use maps from the numerous public WMS or UMN sites with native GUI elements - without browser. These components are written as portable CLX components and tested with Kylix 3 and Delphi 7.


Map viewer component integrated in the demo application


  • Included connectors: WMS, UMN map server
  • Optional overview map
  • Zoom, Pan
  • Support for multiple layers
  • Querying for information at a map position
  • Querying multiple layers (drill down)
  • Legend from UMN map server


  • TCmpUMNClient: component to connect to a UMN map server
  • TCmpWMSClient: component to connect to a WMS map server
  • TMapViewer: viewer component to view and navigate on a map


You can download the fully functional demo components

The only restriction of the demo components is an embedded copyright text.

Status / Support

This software is not maintained anymore and no support is available.

If you are interested in taking over developement, we will hand over the source code under an open source license. Please contact

gis at sourcepole.ch

Lists of WMS map server:

Synchronization from non-Java with Java through File Locks

Synchronization with Java through File Locks

Short version: use lockf/fcntl and not flock for synchronization through file locks with Java. When one process uses flock and the other lockf, then they will not be able to see each other’s locks.

Rant version: Java praises itself as being truly portable. Since 1.4 it also has a platform-independent file locking mechanism that is visible accross process boundaries and is meant for synchronization with non-Java applications [1].

Although the manual talks lenghtily about platform issues [2] it stays completey silent on the fact, that if you want to synchronize with Java you must use the lockf/fcntl mechanism in non-Java applications in order to see Java’s file locks and in order for Java to be able to see the non-Java application’s ones.

How not documenting the fact leads to portable applications, in spite of the fact that many [3] other [4] languages use flock instead remains to be seen.

Tomas Pospisek