JUMP Project

Jan Ruzicka

Institute of geoinformatics

VSB-TU Ostrava

17.listopadu 15, 70833 Ostrava-Poruba,

jan.ruzicka@vsb.cz

GIS Visions 2025, 19. - 20.9.2005

1

Intro

Young project

Wide community from:

Germany

France

Spain

Japan

1

Objective goals

Give new GIS open source tool

Programming mapping components

Framework for building desktop GIS software

GIS Visions 2025, 19. - 20.9.2005

1

JUMP Workbench

Framework for desktop GIS software

Extensible

Java language

http://www.jump-project.org/

GIS Visions 2025, 19. - 20.9.2005

1

JUMP WB - Stable core

Version 1.1.2

Visualization

Data access

Data editing

Queries, Analyses

GIS Visions 2025, 19. - 20.9.2005

1

JUMP WB – Visualization / 1

Zvolen 17.3.2005

1

JUMP WB – Visualization / 2

Zvolen 17.3.2005

1

JUMP WB – Visualization / 3

Zvolen 17.3.2005

1

JUMP WB – Visualization / 4

Zvolen 17.3.2005

1

JUMP WB – Visualization / 5

Zvolen 17.3.2005

1

JUMP WB – Visualization / 6

Zvolen 17.3.2005

1

JUMP WB – Visualization / 7

Zvolen 17.3.2005

1

JUMP WB – Editing / 1

Zvolen 17.3.2005

1

JUMP WB – Editing / 2

Zvolen 17.3.2005

1

JUMP WB – Editing / 3

Zvolen 17.3.2005

1

JUMP WB – Identification / 1

Zvolen 17.3.2005

1

JUMP WB – Identification / 2

Zvolen 17.3.2005

1

JUMP WB – Analyses / 1

Zvolen 17.3.2005

1

JUMP WB – Analyses / 2

Zvolen 17.3.2005

1

JUMP WB – Data / 1

Zvolen 17.3.2005

1

JUMP WB – WMS / 1

Zvolen 17.3.2005

1

JUMP WB - Internacionalization

Since version 1.1.2 I18N

Simple to internacionalize (with some small specific problems in Czech)

GIS Visions 2025, 19. - 20.9.2005

1

JUMP WB – Czech environment

Zvolen 17.3.2005

1

JUMP WB – Translation

Text file

Example:

com.vividsolutions.jump.workbench.datasource.SaveDatasetAsPlugIn=Ulo\u017Eit data jako

com.vividsolutions.jump.workbench.ui.cursortool.SelectFeaturesTool=Nástroj pro výb\u011Br

GIS Visions 2025, 19. - 20.9.2005

1

JUMP WB – Extensions

Many existing:

Image

ArcIMS

Find Route

Multi Agent

…

http://jump-pilot.sourceforge.net/

GIS Visions 2025, 19. - 20.9.2005

1

How to write extensions

Know Java language

Use JUMP WB architecture

Start with one existing extension

Use JPP pages

GIS Visions 2025, 19. - 20.9.2005

1

JUMP WB architecture

Zvolen 17.3.2005

1

Simple extension

New class extending class Extension

New class extending class AbstractPlugin

GIS Visions 2025, 19. - 20.9.2005

1

Plugin / 1

package example;

import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn;

import com.vividsolutions.jump.workbench.plugin.PlugInContext;

public class HelloWorldPlugIn extends AbstractPlugIn {

public void initialize ...

public boolean execute ...

}

GIS Visions 2025, 19. - 20.9.2005

1

Plugin / 2

public void initialize(PlugInContext context)

throws Exception{

context.getFeatureInstaller().addMainMenuItem(this, new String[] { "Tools", "Test" }, getName(), false, null, null);

}

GIS Visions 2025, 19. - 20.9.2005

1

Plugin / 3

public boolean execute(PlugInContext context)

throws Exception {

context.getWorkbenchFrame().getOutputFrame().createNewDocument();

context.getWorkbenchFrame().getOutputFrame().addText("Hello, World!");

context.getWorkbenchFrame().getOutputFrame().surface();

return true;

}

GIS Visions 2025, 19. - 20.9.2005

1

Extension

package example;

import com.vividsolutions.jump.workbench.plugin.Extension;

import com.vividsolutions.jump.workbench.plugin.PlugInContext;

public class MyExtension extends Extension {

public void configure(PlugInContext context)

throws Exception {

new HelloWorldPlugIn().initialize(context);

}

}

GIS Visions 2025, 19. - 20.9.2005

1

Compilling / Archiving / Installing

javac example/*.java

jar cvf example.jar example/*

cp example.jar jumppath/lib/ext/example.jar

GIS Visions 2025, 19. - 20.9.2005

1

JUMP WB – Extension / 1

Zvolen 17.3.2005

1

JUMP WB – Extension / 2

Zvolen 17.3.2005

1

Small change to execute method

String area; String id;

Collection fcA = ((SelectionManagerProxy)context.getActiveInternalFrame()).getSelectionManager().createFeaturesFromSelectedItems();

for (Iterator ia = fcA.iterator(); ia.hasNext(); ) {

Feature fa = (Feature) ia.next();

id = String.valueOf(fa.getAttribute(2));

Geometry ga = fa.getGeometry();

area = String.valueOf(ga.getArea());

context.getWorkbenchFrame().getOutputFrame().addText("Area of the selected feature (id = " + id + ") is: " + area);

}

GIS Visions 2025, 19. - 20.9.2005

1

JUMP WB – Extension / 3

Zvolen 17.3.2005

1

JUMP WB – Extension / 4

Zvolen 17.3.2005

1

Contact

Jan Růžička

jan.ruzicka@vsb.cz

http://gis.vsb.cz

http://gisak.vsb.cz/gportal

GIS Visions 2025, 19. - 20.9.2005

2005-09-18T13:41:37