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.
Website
- uDig Project – http://locationtech.org/projects/technology.udig
- uDig Website – http://udig.refractions.net/
- Developers Guide – http://udig.refractions.net/developers/
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
Contributing
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:
- https://github.com/locationtech/udig-platform (luna)
- https://github.com/locationtech/udig-platform/tree/1.5.x (indigo)
git https://github.com/locationtech/udig-platform 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
./all.sh
..snip..
Releasing linux64
Creating ./build/linux64/udig
Building ./build/udig-2.0.0-SNAPSHOT.linux.gtk.×86_64.zip …
Extracting ./../features/org.locationtech.udig-product/target/products/org.locationtech.udig-product-linux.gtk.×86_64.zip
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.×86_64.zip
3. Upload to website
See results at http://udig.refractions.net/download/unstable/ 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 -faeOption – 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.
Preferences
From the Eclipse Preferences screen:
1. Java —> Code Style —> Coding Template
Use the Import button and select the file `extras/org.locationtech.udig.dev/codetemplates.xml` Confirm the uDig header is available for New Java Files as shown::/* uDig - User Friendly Desktop Internet GIS client
* http://udig.refractions.net
* (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
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
2. Java —> Code Style —> Code Formatter
Use the Import button and select the file `extras/org.locationtech.udig.dev/codeformatter.xml`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/org.locationtech.udig.target project into workspace.
2. Open up org.locationtech.udig.target.target 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
Tips:
- 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.