Skip to content
Go to file


uDig Overview

The User-friendly Desktop Internet GIS (uDig) is an open source (EPL + BSD) desktop application framework, built with the Eclipse Rich Client (RCP) technology.

  • uDig can be used as a stand-alone application
  • uDig can be extended with RCP “plug-ins”
  • uDig can be used as a plug-in in an existing RCP application

uDig is an open project, with developers from multiple companies participating in the decision making process and project direction. All decisions are made transparently, on the public mailing list, or in open IRC discussions.


Project Outline

The goal of uDig is to provide a complete Java solution for desktop GIS data access, editing, and viewing. uDig aims to be:

  • User friendly, providing a familiar graphical environment for GIS users;
  • Desktop located, running as a thick client, natively on Windows, Mac OS/X and Linux;
  • Internet oriented, consuming standard (WMS, WFS, WCS) and de facto (GeoRSS, KML, tiles) geospatial web services; and,
  • GIS ready, providing the framework on which complex analytical capabilities can be built, and gradually subsuming those capabilities into the main application.

Steering Committee

  • Frank Gasdorf @fgdrf
  • Jesse Eichar @jesseeichar
  • Jody Garnett @jodygarnett
  • Mauricio Pazos @mpazos


Join us in working on uDig:

There are two ways to take part: indirectly using github pull requests; and directly by obtaining commit access. Remember that a pull request is the start of a conversation!

Build Instructions

1. We have two branches in our short term roadmap:

Check out the branch you wish to work with (or fork as you see fit). To check it out:

git udig
cd udig
git checkout master

2. Download stuff (using maven to launch small ant download scripts):

     mvn clean install -f pom-libs.xml

[INFO] -——————————————————————————————————- [INFO] BUILD SUCCESS [INFO] -——————————————————————————————————- [INFO] Total time: 8:05.291s

Option – Command Line Build

1. Tycho Build

      mvn clean install -Pproduct -Psdk -Pdocs

[INFO] -——————————————————————————————————- [INFO] BUILD SUCCESS [INFO] -——————————————————————————————————- [INFO] Total time: 12:44.827s

2. Packaging, branding and installers::

      cd deploy

..snip.. Releasing linux64 Creating ./build/linux64/udig Building ./build/udig-2.0.0-SNAPSHOT.linux.gtk.× … Extracting ./../features/org.locationtech.udig-product/target/products/org.locationtech.udig-product-linux.gtk.× Preparing ./build/linux64 with ./jre/jre1.6.0_25.lin64_gdal_ecw Looking for ./jre/jre1.6.0_25.lin64_gdal_ecw.tar.gz Extracting ./jre/jre1.6.0_25.lin64_gdal_ecw.tar.gz Preparing ./build/linux64 with start up scripts and html files Assemble ./build/udig-2.0.0-SNAPSHOT.linux.gtk.×

3. Upload to website

See results at there should be a 2.0.0-SNAPSHOT by the time you read this.

4. To test an individual module::

cd plugins/org.locationtech.catalog.tests.ui mvn clean install -Ptest -fae

Option – Eclipse Build

We have tested these instructions with Eclipse 4.3 Kepler.

We have found incompatibilities with target definition when trying newer versions of Eclipse.


From the Eclipse Preferences screen:

1. Java —> Code Style —> Coding Template

Use the Import button and select the file `extras/` Confirm the uDig header is available for New Java Files as shown::
/* uDig - User Friendly Desktop Internet GIS client
 * (C) 2015, Refractions Research Inc.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * (, and the Refractions BSD
 * License v1.0 (

2. Java —> Code Style —> Code Formatter

Use the Import button and select the file `extras/`

3. Java —> Compiler —> Errors/Warnings

Open the Code Style category and change Non-externalized strings to ‘Warning’.

4. Plug-in Development —> API Baselines

Change the Missing API baseline to ‘Warning’.

Target Platform and Running uDig

uDig makes use of a target platform, in order to download and reference bundles from:

  • Eclipse Rich Client Platform (Indigo or Luna)
  • Babel Project (providing translations)
  • Orbit (open source components that have been checked by the Eclipse legal team)

Here is how to set that up:

1. Use the Import Existing Projects wizard to import the extras/ project into workspace.

2. Open up and click on Set as Target Platform

This will reset the target platform which will take some time.

3. Save a copy of the target-platform locally

Since the target definition uses online resources it’s a good idea to export it for offline development purposes.
To do so, click on the export action top right in the target platform editor.

Choose a destination folder to store features and bundles as a local P2 repository resolved via the target defintion file.

Later if there is a need to work offline you can easily create a new target platform definion, for details consult eclipse online help.

4. Once the target platform is finished you can import the remaining uDig projects.

5. Open up org.locationtech.udig/udig.product and click Launch the product


  • Edit your Run Configuration to turn on tracing when debugging
  • Check your Run Configuration has been created with Java 7

Find Bugs

We use FindBugs to catch many small issues as part of our review process:

1. Select Help —> Eclipse marketplace from the menu bar
2. Search for FindBugs and Install
3. You will be asked to restart eclipse

Take a moment to run FindBugs before submitting a pull request.


uDig parent project containing all core components. More plugins can be found in community repos:


You can’t perform that action at this time.