Need help with udig-platform?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

145 Stars 122 Forks 3.6K Commits 35 Opened issues


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

Services available


Need anything else?

Contributors list

h1. 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.

  • #udig on "freenode":
  • #geotools on "freenode":

h2. Website

  • uDig Project -
  • uDig Website - "":
  • Developers Guide - "":

h2. 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.

h2. Steering Committee

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

h2. Contributing

Join us in working on uDig:

  • "Contributing":CONTRIBUTING.textile

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!

h1. Build Instructions

  1. We have two branches in our short term roadmap:
  • (luna)
  • (indigo)

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
  1. 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

h2. 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/ ... Extracting ./../features/org.locationtech.udig-product/target/products/ Preparing ./build/linux64 with ./jre/jre1.6.025.lin64gdalecw Looking for ./jre/jre1.6.025.lin64gdalecw.tar.gz Extracting ./jre/jre1.6.025.lin64gdalecw.tar.gz Preparing ./build/linux64 with start up scripts and html files Assemble ./build/

  3. Upload to website

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

  1. To test an individual module::

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

h2. 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.

h3. Preferences

From the Eclipse Preferences screen:

  1. Java --> Code Style --> Coding Template

Use the Import button and select the file


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 (
  1. Java --> Code Style --> Code Formatter

Use the Import button and select the file

  1. Java --> Compiler --> Errors/Warnings

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

  1. Plug-in Development --> API Baselines

    Change the Missing API baseline to 'Warning'.

h3. 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/":extras/ project into workspace.


  1. Open up "":extras/ and click on Set as Target Platform


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

  1. 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":

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

  2. Open up "org.locationtech.udig/udig.product":plugins/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

h3. 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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.