<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ojwiki.soldin.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Beckerl</id>
	<title>OpenJUMP Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://ojwiki.soldin.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Beckerl"/>
	<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Special:Contributions/Beckerl"/>
	<updated>2026-04-22T12:44:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Using_OpenJump_in_Your_Student_Project&amp;diff=707</id>
		<title>Using OpenJump in Your Student Project</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Using_OpenJump_in_Your_Student_Project&amp;diff=707"/>
		<updated>2010-04-26T21:45:45Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: Created page with &amp;#039;== So you&amp;#039;re thinking of using OpenJUMP in your student project ==  Is this a good idea? If you can match the scope of the task to your available timetable, it can be.  A good ru…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== So you&amp;#039;re thinking of using OpenJUMP in your student project ==&lt;br /&gt;
&lt;br /&gt;
Is this a good idea? If you can match the scope of the task to your available timetable, it can be.  A good rule of thumb to follow is avoid trying to create totally new capabilities.  A student project should be original, but not groundbreaking.  It should do something that can&amp;#039;t easily be done with existing OpenJUMP commands, but don&amp;#039;t choose something that requires an intense study of undocumented interfaces.&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=706</id>
		<title>Developing with OpenJUMP</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=706"/>
		<updated>2010-04-26T21:31:52Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[How to get OpenJUMP source code]]&lt;br /&gt;
* [[Developer Documentation and HowTo]]&lt;br /&gt;
* &amp;quot;Developer Mailing List&amp;quot;:https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel&lt;br /&gt;
* &amp;quot;Bug Tracker&amp;quot;:https://sourceforge.net/tracker/?group_id=118054&lt;br /&gt;
* &amp;quot;SVN&amp;quot;:  http://sourceforge.net/svn/?group_id=118054&lt;br /&gt;
* [[Internationalization]]&lt;br /&gt;
* [[How to translate OpenJUMP into another language]]&lt;br /&gt;
* [[Notes on Speed Improvements on Rendering]]&lt;br /&gt;
* [[Using OpenJump in Your Student Project]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [[OpenJUMP Google Summer Of Code]]&lt;br /&gt;
* [[JTin Google Summer of Code 2008]]&lt;br /&gt;
* [[Scripting with BeanShell]]&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Google_Summer_Of_Code_Ideas_List&amp;diff=697</id>
		<title>Google Summer Of Code Ideas List</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Google_Summer_Of_Code_Ideas_List&amp;diff=697"/>
		<updated>2010-03-09T14:11:45Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of topics for a [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#org_is Google summer of code project]. However, several of those topics need to be evaluated for their fitness, i.e. a sufficient degree of innovation. We also need to look which of those topics would enhance OpenJUMP Vector editing and analysis strength, and which topics are urgently needed to complete the set of standard GIS functionality.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Notes&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
# GSofC student applications are from *March 29th to April 9th*. (Mentoring applications are due March 8th-12th) &lt;br /&gt;
# All projects require a &amp;quot;decent&amp;quot; knowledge of programming in JAVA. Certain topics require even advanced Java knowledge (i.e. the topics involving databases). An introduction to development with OpenJUMP will be given by us. &lt;br /&gt;
# The time of the GSofC is [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#timeline given] from May 24th to August 16th, i.e. three months  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Possible Topics 2010 ==&lt;br /&gt;
 &lt;br /&gt;
* Continuing work on the JTIN library that allows OpenJUMP to work with TIN data. Special focus on publishing functional plug-ins for existing code, and on enhancing JTIN to work with extra-large data sources - JTin should use now JTS 1.11 functions. (sstein - &amp;#039;&amp;#039;&amp;#039;Priority Topic&amp;#039;&amp;#039;&amp;#039;, lbecker +1)&lt;br /&gt;
* Work on adding support for &amp;quot;external&amp;quot; tables (non-spatial features) in OpenJUMP.&lt;br /&gt;
* Work on routing plug-in for OpenJUMP. &lt;br /&gt;
* Work on upgrades of OpenJUMP core. This would include adding support for new Java language features and splitting the program &amp;quot;model&amp;quot; from the GUI. E.g. implementing a docking framework.&lt;br /&gt;
* Work on angle and direction support for JTS Warped library. (sstein: not sure what is meant here)&lt;br /&gt;
* Work on precision CAD drawing and modification tools for OpenJUMP.&lt;br /&gt;
* Work on support for cartographic map production from OpenJUMP using open source tools like Scribus and Inkscape. (Focus on enabling export of Inkscape compatible SCG from OpenJUMP.)&lt;br /&gt;
* Integrate cartographic projections support into OpenJUMP core (using deegree, geotools or &amp;#039;&amp;#039;Proj4J&amp;#039;&amp;#039; libraries). (sstein - &amp;#039;&amp;#039;&amp;#039;Priority Topic&amp;#039;&amp;#039;&amp;#039;, lbecker +1)&lt;br /&gt;
* Continuing Work on an abstract data layer and a model that allows to store data in the H2 database. This way OpenJUMP should be enabled to work also with large datasets and not only datasets that can be load into the memory. (sstein - &amp;#039;&amp;#039;&amp;#039;Priority Topic&amp;#039;&amp;#039;&amp;#039;, lbecker +1).&lt;br /&gt;
* Implementation of (explorative) statistics tools (charts and graphs) for data analysis and reporting (see for instance GeoDa and [http://www.jfree.org/jfreechart/ JFreeChart]).&lt;br /&gt;
* Implementing build-in write support for databases such as SpatialLite, PostGIS, Oracle and MySQL that allows all-at-once but also incremental writing (see gvSIG implementations).&lt;br /&gt;
* Continuing developments of a Web Processing Service (WPS) plugin for OpenJUMP and a server based on OpenJUMP functionality (see WebGEN by Moritz Neun and Theodor Foerster). (sstein - &amp;#039;&amp;#039;&amp;#039;Priority Topic&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
* Integration of a help system for (analysis) functions.&lt;br /&gt;
* Improving text labeling options (see gvSIG plugin).&lt;br /&gt;
* Creating a draft and proptype of &amp;quot;OpenJUMP Mobile&amp;quot; for data creation and editing in the field. This involves in particular the design of a new GUI that allows to use existing mechanisms.&lt;br /&gt;
* Extend OJs core so that annotations can be stored including images and web links (similar to Google Maps Push Pins).&lt;br /&gt;
* Implement a default-settings/ini-file system to allow OpenJUMP to be used in larger business operations. (sstein: not sure if that is a 3 months task)&lt;br /&gt;
* Multi criteria decision analysis Tools for OpenJUMP&lt;br /&gt;
* JEQL for OpenJUMP (?)  &lt;br /&gt;
* Integrating Sextantes toolbox model and Flow-Chart-Modeller in OpenJUMP&lt;br /&gt;
&lt;br /&gt;
If you are interested in one of those topics please write to Landon (sunburned.surveyor[.at.]gmail.com) or Stefan (sstein[.at.]geo.uzh.ch) or even better: write both.&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Beanshell:Setting_Scale_Bar_options&amp;diff=670</id>
		<title>Beanshell:Setting Scale Bar options</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Beanshell:Setting_Scale_Bar_options&amp;diff=670"/>
		<updated>2010-02-17T14:45:48Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scale Bar script options adapt the scale bar==&lt;br /&gt;
&lt;br /&gt;
setBAR_HEIGHT(int bar_height)&lt;br /&gt;
&lt;br /&gt;
setFILL1(Color fill1)&lt;br /&gt;
&lt;br /&gt;
setFILL2(Color fill2)&lt;br /&gt;
&lt;br /&gt;
//Predefined Colors: black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, yellow&lt;br /&gt;
&lt;br /&gt;
setHORIZONTAL_MARGIN(int horizontal_margin)&lt;br /&gt;
&lt;br /&gt;
setLINE_COLOR(Color line_color)&lt;br /&gt;
&lt;br /&gt;
setTEXT_BOTTOM_MARGIN(int text_bottom_margin)&lt;br /&gt;
&lt;br /&gt;
setFONT(new Font(&amp;quot;Dialog&amp;quot;, Font.BOLD, 14))&lt;br /&gt;
&lt;br /&gt;
//Allowed Fonts: Dialog, DialogInput, Monospaced, Serif, SansSerif&lt;br /&gt;
//Font style: PLAIN, ITALIC, BOLD&lt;br /&gt;
&lt;br /&gt;
setTEXT_COLOR(Color text_color)&lt;br /&gt;
&lt;br /&gt;
setUNIT_TEXT_BOTTOM_MARGIN(int unit_text_bottom_margin)&lt;br /&gt;
&lt;br /&gt;
setUNIT_TEXT_COLOR(Color unit_text_color)&lt;br /&gt;
&lt;br /&gt;
setVERTICAL_MARGIN(int vertical_margin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example script to set Scale Bar options ==&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
 import com.vividsolutions.jump.workbench.ui.plugin.scalebar.ScaleBarRenderer;&lt;br /&gt;
 import java.awt.Font;&lt;br /&gt;
 ScaleBarRenderer.setBAR_HEIGHT(13);&lt;br /&gt;
 ScaleBarRenderer.setFILL1(Color.white);&lt;br /&gt;
 ScaleBarRenderer.setFILL2(Color.lightGray);&lt;br /&gt;
 ScaleBarRenderer.setTEXT_COLOR(Color.black);&lt;br /&gt;
 ScaleBarRenderer.setFONT(new Font(&amp;quot;Dialog&amp;quot;, Font.BOLD, 12));&lt;br /&gt;
 ScaleBarRenderer.setUNIT_FONT(new Font(&amp;quot;Dialog&amp;quot;, Font.BOLD, 12));&lt;br /&gt;
 ScaleBarRenderer.setUNIT_TEXT_COLOR(Color.black);&lt;br /&gt;
 ScaleBarRenderer.setVERTICAL_MARGIN(5);&lt;br /&gt;
 ScaleBarRenderer.setHORIZONTAL_MARGIN(5);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Beanshell:Setting_Scale_Bar_options&amp;diff=669</id>
		<title>Beanshell:Setting Scale Bar options</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Beanshell:Setting_Scale_Bar_options&amp;diff=669"/>
		<updated>2010-02-17T14:43:39Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Scale Bar script options adapt the scale bar==&lt;br /&gt;
&lt;br /&gt;
setBAR_HEIGHT(int bar_height)&lt;br /&gt;
setFILL1(Color fill1)&lt;br /&gt;
setFILL2(Color fill2)&lt;br /&gt;
//Predefined Colors: black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, yellow&lt;br /&gt;
setHORIZONTAL_MARGIN(int horizontal_margin)&lt;br /&gt;
setLINE_COLOR(Color line_color)&lt;br /&gt;
setTEXT_BOTTOM_MARGIN(int text_bottom_margin)&lt;br /&gt;
setFONT(new Font(&amp;quot;Dialog&amp;quot;, Font.BOLD, 14))&lt;br /&gt;
//Allowed Fonts: Dialog, DialogInput, Monospaced, Serif, SansSerif&lt;br /&gt;
//Font style: PLAIN, ITALIC, BOLD&lt;br /&gt;
setTEXT_COLOR(Color text_color)&lt;br /&gt;
setUNIT_TEXT_BOTTOM_MARGIN(int unit_text_bottom_margin)&lt;br /&gt;
setUNIT_TEXT_COLOR(Color unit_text_color)&lt;br /&gt;
setVERTICAL_MARGIN(int vertical_margin)&lt;br /&gt;
&lt;br /&gt;
== Example script to set Scale Bar options ==&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
 import com.vividsolutions.jump.workbench.ui.plugin.scalebar.ScaleBarRenderer;&lt;br /&gt;
 import java.awt.Font;&lt;br /&gt;
 ScaleBarRenderer.setBAR_HEIGHT(13);&lt;br /&gt;
 ScaleBarRenderer.setFILL1(Color.white);&lt;br /&gt;
 ScaleBarRenderer.setFILL2(Color.lightGray);&lt;br /&gt;
 ScaleBarRenderer.setTEXT_COLOR(Color.black);&lt;br /&gt;
 ScaleBarRenderer.setFONT(new Font(&amp;quot;Dialog&amp;quot;, Font.BOLD, 12));&lt;br /&gt;
 ScaleBarRenderer.setUNIT_FONT(new Font(&amp;quot;Dialog&amp;quot;, Font.BOLD, 12));&lt;br /&gt;
 ScaleBarRenderer.setUNIT_TEXT_COLOR(Color.black);&lt;br /&gt;
 ScaleBarRenderer.setVERTICAL_MARGIN(5);&lt;br /&gt;
 ScaleBarRenderer.setHORIZONTAL_MARGIN(5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Predefined colors are ==&lt;br /&gt;
&lt;br /&gt;
black, blue, cyan, darkGray, gray,green, lightGray, magenta, orange, pink, red, white, yellow&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Beanshell:Setting_Scale_Bar_options&amp;diff=668</id>
		<title>Beanshell:Setting Scale Bar options</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Beanshell:Setting_Scale_Bar_options&amp;diff=668"/>
		<updated>2010-02-17T14:40:02Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: Created page with &amp;#039;== Example script to set Scale Bar options ==  {  import com.vividsolutions.jump.workbench.ui.plugin.scalebar.ScaleBarRenderer;  import java.awt.Font;  ScaleBarRenderer.setBAR_HE…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Example script to set Scale Bar options ==&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
 import com.vividsolutions.jump.workbench.ui.plugin.scalebar.ScaleBarRenderer;&lt;br /&gt;
 import java.awt.Font;&lt;br /&gt;
 ScaleBarRenderer.setBAR_HEIGHT(13);&lt;br /&gt;
 ScaleBarRenderer.setFILL1(Color.white);&lt;br /&gt;
 ScaleBarRenderer.setFILL2(Color.lightGray);&lt;br /&gt;
 ScaleBarRenderer.setTEXT_COLOR(Color.black);&lt;br /&gt;
 ScaleBarRenderer.setFONT(new Font(&amp;quot;Dialog&amp;quot;, Font.BOLD, 12));&lt;br /&gt;
 ScaleBarRenderer.setUNIT_FONT(new Font(&amp;quot;Dialog&amp;quot;, Font.BOLD, 12));&lt;br /&gt;
 ScaleBarRenderer.setUNIT_TEXT_COLOR(Color.black);&lt;br /&gt;
 ScaleBarRenderer.setVERTICAL_MARGIN(5);&lt;br /&gt;
 ScaleBarRenderer.setHORIZONTAL_MARGIN(5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Predefined colors are ==&lt;br /&gt;
&lt;br /&gt;
black, blue, cyan, darkGray, gray,green, lightGray, magenta, orange, pink, red, white, yellow&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Scripting_with_BeanShell&amp;diff=667</id>
		<title>Scripting with BeanShell</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Scripting_with_BeanShell&amp;diff=667"/>
		<updated>2010-02-17T14:30:16Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is BeanShell? ==&lt;br /&gt;
&lt;br /&gt;
BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript.&lt;br /&gt;
&lt;br /&gt;
In the context of Jump, BeanShell enables the automation of  repetative tasks or to accomplish tasks that are not possible using the GUI without the need for plugin modules or modification of the application source code.&lt;br /&gt;
&lt;br /&gt;
See http://www.beanshell.org/ for more information on BeanShell.&lt;br /&gt;
&lt;br /&gt;
== BeanShell in OpenJUMP ==&lt;br /&gt;
&lt;br /&gt;
To open the BeanShell scripting window select the following menu option:&lt;br /&gt;
&lt;br /&gt;
View -&amp;gt; BeanShell...&lt;br /&gt;
&lt;br /&gt;
It is a good idea to surround all your scripts in a set of braces. I.e. &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   script...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
In BeanShell you may access JavaBean properties as if they were fields. For example &amp;#039;&amp;#039;wc.layerManager&amp;#039;&amp;#039; is the same as &amp;#039;&amp;#039;wc.getLayerManager()&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
There is no facility to save and load a script. If you plan to reuse your scripts, develop the script in a text editor and then paste into the BeanShell window as needed.&lt;br /&gt;
&lt;br /&gt;
If you want to write Beanshell scripts you can also use the [http://geo.michaelm.free.fr/OpenJUMP/resources/bsheditor4jump.jar Beanshell-Editor-JUMP Plugin] that has been written by Michael Michaud.&lt;br /&gt;
&lt;br /&gt;
== JUMP BeanShell examples ==&lt;br /&gt;
&lt;br /&gt;
Some of the following scripts are not very useful. Instead they are indented as examples which can be easily adapted to perform useful tasks.&lt;br /&gt;
&lt;br /&gt;
* [[Beanshell:Saving View as Image]]&lt;br /&gt;
* [[Beanshell:Loading an Image into the task]]&lt;br /&gt;
* [[Beanshell:Toggle Layer Visibility]]&lt;br /&gt;
* [[Beanshell:Set an attribute fore every feature of a Layer]]&lt;br /&gt;
* [[Beanshell:Combine two selected layers]]&lt;br /&gt;
* [[Beanshell:Replace point symbols with green pushpin]]&lt;br /&gt;
* [[Beanshell:Removing repeated points in selected layers feature geometries]]&lt;br /&gt;
* [[Beanshell:Opening a project]]&lt;br /&gt;
* [[Beanshell:Limit labels to one per street]]&lt;br /&gt;
* [[Beanshell:Scripts for Roadmatcher]]&lt;br /&gt;
* [[Beanshell:Create an image layer from a file or URL]]&lt;br /&gt;
* [[Beanshell:Find features with repeated points]]&lt;br /&gt;
* [[Beanshell:Get the WMS URL that JUMP is using]]&lt;br /&gt;
* [[Beanshell:Fill in a JUMP column]]&lt;br /&gt;
* [[Beanshell:Setting North Arrow options]]&lt;br /&gt;
* [[Beanshell:Setting Scale Bar options]]&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Beanshell:Setting_North_Arrow_options&amp;diff=619</id>
		<title>Beanshell:Setting North Arrow options</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Beanshell:Setting_North_Arrow_options&amp;diff=619"/>
		<updated>2010-02-05T21:56:48Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: Created page with &amp;#039;There are many options for the North Arrow Plugin, but no UI to set them.  Beanshell to the rescue!   == First we must get a reference to the NorthArrowRender ==  import org.open…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are many options for the North Arrow Plugin, but no UI to set them.  Beanshell to the rescue!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== First we must get a reference to the NorthArrowRender ==&lt;br /&gt;
&lt;br /&gt;
import org.openjump.core.ui.plugin.view.NorthArrowRenderer;&lt;br /&gt;
&lt;br /&gt;
NorthArrowRenderer renderer = (NorthArrowRenderer) wc.getLayerViewPanel().getRenderingManager().getRenderer(NorthArrowRenderer.CONTENT_ID);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To set the various styles of North Arrows: ==&lt;br /&gt;
&lt;br /&gt;
renderer.setStyle(1); //the compass rose&lt;br /&gt;
&lt;br /&gt;
renderer.setStyle(2); //the inverted V shape half filled narrower version&lt;br /&gt;
&lt;br /&gt;
renderer.setStyle(3); //the inverted V shape half filled wider version&lt;br /&gt;
&lt;br /&gt;
renderer.setStyle(0);  //shaped like a backwards 4 filled with scale bar color&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To set the position that the North Arrow appears in the layer view ==&lt;br /&gt;
&lt;br /&gt;
renderer.setAlignment(0); //BOTTOM_RIGHT = 0, TOP_RIGHT = 1, TOP_LEFT = 2, BOTTOM_LEFT = 3&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous settings ==&lt;br /&gt;
&lt;br /&gt;
renderer.setARROW_SIZE(100); &lt;br /&gt;
&lt;br /&gt;
renderer.setTEXT_FONT_SIZE(18);&lt;br /&gt;
&lt;br /&gt;
renderer.setTEXT_BOTTOM_MARGIN(3);&lt;br /&gt;
&lt;br /&gt;
== A complete example ==&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
NorthArrowRenderer renderer = (NorthArrowRenderer) wc.getLayerViewPanel().getRenderingManager().getRenderer(NorthArrowRenderer.CONTENT_ID);&lt;br /&gt;
renderer.setStyle(2);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Scripting_with_BeanShell&amp;diff=618</id>
		<title>Scripting with BeanShell</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Scripting_with_BeanShell&amp;diff=618"/>
		<updated>2010-02-05T21:28:55Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is BeanShell? ==&lt;br /&gt;
&lt;br /&gt;
BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript.&lt;br /&gt;
&lt;br /&gt;
In the context of Jump, BeanShell enables the automation of  repetative tasks or to accomplish tasks that are not possible using the GUI without the need for plugin modules or modification of the application source code.&lt;br /&gt;
&lt;br /&gt;
See http://www.beanshell.org/ for more information on BeanShell.&lt;br /&gt;
&lt;br /&gt;
== BeanShell in OpenJUMP ==&lt;br /&gt;
&lt;br /&gt;
To open the BeanShell scripting window select the following menu option:&lt;br /&gt;
&lt;br /&gt;
View -&amp;gt; BeanShell...&lt;br /&gt;
&lt;br /&gt;
It is a good idea to surround all your scripts in a set of braces. I.e. &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   script...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
In BeanShell you may access JavaBean properties as if they were fields. For example &amp;#039;&amp;#039;wc.layerManager&amp;#039;&amp;#039; is the same as &amp;#039;&amp;#039;wc.getLayerManager()&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
There is no facility to save and load a script. If you plan to reuse your scripts, develop the script in a text editor and then paste into the BeanShell window as needed.&lt;br /&gt;
&lt;br /&gt;
If you want to write Beanshell scripts you can also use the [http://geo.michaelm.free.fr/OpenJUMP/resources/bsheditor4jump.jar Beanshell-Editor-JUMP Plugin] that has been written by Michael Michaud.&lt;br /&gt;
&lt;br /&gt;
== JUMP BeanShell examples ==&lt;br /&gt;
&lt;br /&gt;
Some of the following scripts are not very useful. Instead they are indented as examples which can be easily adapted to perform useful tasks.&lt;br /&gt;
&lt;br /&gt;
* [[Beanshell:Saving View as Image]]&lt;br /&gt;
* [[Beanshell:Loading an Image into the task]]&lt;br /&gt;
* [[Beanshell:Toggle Layer Visibility]]&lt;br /&gt;
* [[Beanshell:Set an attribute fore every feature of a Layer]]&lt;br /&gt;
* [[Beanshell:Combine two selected layers]]&lt;br /&gt;
* [[Beanshell:Replace point symbols with green pushpin]]&lt;br /&gt;
* [[Beanshell:Removing repeated points in selected layers feature geometries]]&lt;br /&gt;
* [[Beanshell:Opening a project]]&lt;br /&gt;
* [[Beanshell:Limit labels to one per street]]&lt;br /&gt;
* [[Beanshell:Scripts for Roadmatcher]]&lt;br /&gt;
* [[Beanshell:Create an image layer from a file or URL]]&lt;br /&gt;
* [[Beanshell:Find features with repeated points]]&lt;br /&gt;
* [[Beanshell:Get the WMS URL that JUMP is using]]&lt;br /&gt;
* [[Beanshell:Fill in a JUMP column]]&lt;br /&gt;
* [[Beanshell:Setting North Arrow options]]&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Larry_Becker%27s_JUMP_Performance_Tips&amp;diff=598</id>
		<title>Larry Becker&#039;s JUMP Performance Tips</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Larry_Becker%27s_JUMP_Performance_Tips&amp;diff=598"/>
		<updated>2010-01-05T19:28:08Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;The following information was posted by Larry Becker to the JPP Developer&amp;#039;s Mailing list and has been posted here by the Sunburned Surveyor for easy reference.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In the process of doing some software optimizations to the JUMP framework recently, I have learned a few things that can be done by users to increase the speed of JUMP operations, or at least avoid significant slow downs. In order of importance, they are: &lt;br /&gt;
# Ensure that you have sufficient free memory by using JUMP&amp;#039;s Help-&amp;gt;About dialog.  When Committed Memory approaches Total Memory, the JVM (Java Virtual Machine) is forced to do constant garbage collection which slows down operations that use lots of temporary memory like redrawing the screen.  Unfortunately there is no certain rule for how much is enough, but I would allow at least 10% free.  The different versions of JUMP use different methods of allocating memory limits.  The SkyJUMP memory limit can be set by increasing the number in the -Xmx512m parameter in the SkyJUMP.ini file in the Jump/bin directory.  As a general rule, never increase the number above the amount of physical memory your machine actually has.&lt;br /&gt;
# This one is also related to memory usage.  If you are doing tasks which involve loading and removing large layers, you will notice that JUMP will not free the memory used by removed layers.  The only way to free the memory is to close the task (project).  Watch the Committed Memory status and when it approaches the limit, you should consider closing the task and reloading it.  Note to developers: unfortunately there doesn&amp;#039;t seem to be an easy fix for this as many classes in JUMP hoard local copies of the context which may prevent garbage collection of removed layers (this is speculation on my part). &lt;br /&gt;
# Avoid using the labels style on very large layers.  Although decimation optimization can reduce redraw times for layers with a large extent, it currently has no effect on text labels.  Enabling text labeling on large layers (like burlulc) can cause JUMP to spend minutes rendering tiny invisible text labels.  Of course, thanks to JUMP&amp;#039;s threaded rendering architecture, you won&amp;#039;t be aware that this extra processing is going on, but it will still slow down other processing being done on your computer. &lt;br /&gt;
# Consider using the Change Styles Scale tab to avoid displaying a layer at an inappropriate scale.  Usually this involves not showing small objects when the zoom level is near the full extent of the layer.  Depending on the density of your data, this could be an option for point, label only (scaled), and small feature layers. &lt;br /&gt;
# Consider turning off line rendering in the style dialog for polygon layers that don&amp;#039;t require borders (such as water layers).  It takes just as long for JUMP to render the polygon border as it does the fill, so it can cut the redraw time in half. &lt;br /&gt;
# When working with tasks (projects) that have a very large number of layers, and many of the layers are often invisible, consider breaking the task into parts and using the SkyJUMP Merge Task/Archive command to load them into the current task again on an as needed basis.  I&amp;#039;m not sure if any of the other JUMP versions have a similar capability, or if OpenJump is going to adopt this feature.  The advantage of Merge vs Load Dataset is that layers maintain their style information.&lt;br /&gt;
# Another tip to prevent running out of memory when working with a very large number of layers is to make the map window as small as possible.  JUMP creates an off screen bitmap the size of the map panel for each visible layer.  Imagine opening a hundred picture files at one time and you can see where all the memory goes!&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=591</id>
		<title>Developing with OpenJUMP</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=591"/>
		<updated>2009-12-15T21:41:07Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[How to get OpenJUMP source code]]&lt;br /&gt;
* [[Developer Documentation and HowTo]]&lt;br /&gt;
* &amp;quot;Developer Mailing List&amp;quot;:https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel&lt;br /&gt;
* &amp;quot;Bug Tracker&amp;quot;:https://sourceforge.net/tracker/?group_id=118054&lt;br /&gt;
* &amp;quot;SVN&amp;quot;:  http://sourceforge.net/svn/?group_id=118054&lt;br /&gt;
* [[Internationalization]]&lt;br /&gt;
* [[How to translate OpenJUMP into another language]]&lt;br /&gt;
* [[Notes on Speed Improvements on Rendering]]&lt;br /&gt;
&lt;br /&gt;
* [[JTin Google Summer of Code 2008]]&lt;br /&gt;
* [[Scripting with BeanShell]]&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=83</id>
		<title>Developing with OpenJUMP</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=83"/>
		<updated>2009-09-24T20:26:47Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[How to get OpenJUMP source code]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* &amp;quot;Developer Mailing List&amp;quot;:https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel&lt;br /&gt;
* &amp;quot;Bug Tracker&amp;quot;:https://sourceforge.net/tracker/?group_id=118054&lt;br /&gt;
* &amp;quot;SVN&amp;quot;:  http://sourceforge.net/svn/?group_id=118054&lt;br /&gt;
* [[Internationalization]]&lt;br /&gt;
* [[How to translate OpenJUMP into another language]]&lt;br /&gt;
* [[Notes on Speed Improvements on Rendering]]&lt;br /&gt;
&lt;br /&gt;
* [[JTin Google Summer of Code 2008]]&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=JTin_Google_Summer_of_Code_2008&amp;diff=82</id>
		<title>JTin Google Summer of Code 2008</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=JTin_Google_Summer_of_Code_2008&amp;diff=82"/>
		<updated>2009-09-24T18:43:04Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I created this page on the wiki for discussion of the JTin library. This will be a low-level library that allows for the creation and manipulation of TINs. This may be something that we can work on with GeoTools/UDig. In this scenario OpenJUMP and UDig would create their own plug-ins to access the low-level JTin library.&lt;br /&gt;
&lt;br /&gt;
Before serious work begins on the library I think we should make some decisions on the following items:&lt;br /&gt;
&lt;br /&gt;
# How is TIN defined, and how will we represent it in memory? (Note: We aren&amp;#039;t talking about the display of a TIN, but rather the model from which a display or view of the TIN might be created.)&lt;br /&gt;
# What data input formats will we support? Will we wrap access to these formats in a common interface?&lt;br /&gt;
# What data output formats will we support?&lt;br /&gt;
# How will we integrate TIN support into OpenJUMP?&lt;br /&gt;
# How will we display TINs? Do we want this display to be in the normal Layer View of OpenJUMP? Will this be a 2D display? Will it be a 3D display? Can we support 3D display of a TIN in a separate component to avoid tweaking the existing 2D rendering code?&lt;br /&gt;
&lt;br /&gt;
I will add my comments below. Other interested programmers can add their content also. Then we can make a decision on the best way to proceed.&lt;br /&gt;
&lt;br /&gt;
*TIN Definition*&lt;br /&gt;
%{color:blue}The Sunburned Surveyor:% From a land surveying perspective a TIN is defined by three (3) components. &lt;br /&gt;
&lt;br /&gt;
The first component is a collection of points representing the samples of the surface being modeled by the TIN. Each sample site has a horizontal position and a measure of the value being modeled with the surface. (This could be the ground elevation surface or the surface of something completely different, like population) &lt;br /&gt;
&lt;br /&gt;
The second component is a line, either 2D or 3D, that represents the boundaries of the surface being modeled. There must be at least one exterior boundary and there may be one or more interior boundaries. (An interior boundary might be used to exclude a building envelope from an elevation TIN.)&lt;br /&gt;
&lt;br /&gt;
The third component is a set of 3D lines that represent the breaklines of the TIN. TIN lines, or the edges of the triangular faces in the TIN, are not allowed to cross breaklines. Breaklines are a critical component of accurate TIN definition and creation.&lt;br /&gt;
&lt;br /&gt;
I believe that our library should incorporate creation of TINs using all three (3) components, not just the first component, as is typically done in GIS.&lt;br /&gt;
&lt;br /&gt;
Christopher DeMars:% Do we need to include support for both hard and soft breaklines (hard breaklines indicating a change in height along the line like in a road grade)? &lt;br /&gt;
&lt;br /&gt;
%{color:blue}The Sunburned Surveyor:% I&amp;#039;m not really sure what a &amp;quot;soft&amp;quot; breakline would be. What I am talking about would be a hard breakline. It is basically a set of connected TIN lines that can&amp;#039;t be crossed by other TIN lines. You would typically create these breaklines along topographic features like ridge tops or valleys.&lt;br /&gt;
&lt;br /&gt;
*TIN Representation*&lt;br /&gt;
The Sunburned Surveyor:% I believe that our TIN representation should be made as simple as possible. In my perspective this simplest representation is a set of TIN faces. Each TIN face is defined by three (3) three-dimensional points. I believe we can represent each TIN face by using a JTS Polygon whose nodes have a valid elevation value. Other alternatives are representing each face by a set of raw coordinate values, perhaps as JTS Coordinate objects, or by a set of three (3) LineStrings, with one LineString used to represent each edge of the face. Paul Austin mentioned that representing a face with raw coordinates might be the most efficient method. Whatever method is finally selected, it I think it would be practical to provide methods that allow access to either a JTS Polygon, JTS Point, or JTS LineString representation of the face.&lt;br /&gt;
&lt;br /&gt;
Perhaps the best way to approach this is by encapsulating the common behavior of a TIN face in an interface, and then allowing multiple implementations of this interface using one of the JTS Geometries.&lt;br /&gt;
&lt;br /&gt;
Paul Austin:% Each face is a Triangle which could be modelled as a Triangle object with 3 coordinates. This would be a very efficient data structure and the Triangle object can have methods to return properties of the Triangle such as the circumcentre. There can be methods on the Tin to wrap this Triangle as a Polygon for use in renderring. See CoordinateSequence as the interface that would allow this wrapping.&lt;br /&gt;
&lt;br /&gt;
Christopher DeMars:% Most of the following commentary was inspired by this paper: http://www.cs.unc.edu/%7Eisenburg/papers/ilss-scdt-06.pdf&lt;br /&gt;
&lt;br /&gt;
The paper mentions that another fundamental value to be stored in a TIN for each triangle facet is three links to adjacent facets.&lt;br /&gt;
&lt;br /&gt;
Other aspects that could/should be associated with each TIN face might be precomputed normals and water flow data (like WaterBug, determine where water flowing in the uphill edges exits).&lt;br /&gt;
&lt;br /&gt;
Another big question that needs to be answered is shall we stick with JTS and use a 2.5D model or go full 3D (2.5D surfaces can be projected onto the xy plane without having overlap)? The advantages of 2.5D is that the algorithms are out there and it would mesh well with OpenJUMP. The disadvantage is that we couldnâ€™t model such things as cave structures or mines and the TIN library couldnâ€™t be used for non-GIS 3D applications like medical imaging. The biggest downside to going full 3D is that Delaunay triangulation of 3D surfaces is an open research topic with regards to creating a decently fast implementation. As of this moment, my thoughts are that we should stick with 2.5D, but try to craft the interface such that full 3D code could be plugged in at some future time.&lt;br /&gt;
&lt;br /&gt;
The Sunburned Surveyor:% I agree with Paul. Each TIN face could be stored as three Coordinates. We could then provide methods that return things like a 2D Polygon representation of the triangle, the slope, the aspect, or the normal as suggested by Chris. &lt;br /&gt;
&lt;br /&gt;
However, I don&amp;#039;t think we should store topology data in the object representing the actual TIN face. I think this should be stored in a separate data structure or data structures.&lt;br /&gt;
&lt;br /&gt;
Chris wrote: &amp;quot;The disadvantage is that we couldnâ€™t model such things as cave structures or mines and the TIN library couldnâ€™t be used for non-GIS 3D applications like medical imaging.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I didn&amp;#039;t even think about that Chris. Those are interesting applications of a TIN library.&lt;br /&gt;
&lt;br /&gt;
Chris wrote: &amp;quot;The biggest downside to going full 3D is that Delaunay triangulation of 3D surfaces is an open research topic with regards to creating a decently fast implementation. As of this moment, my thoughts are that we should stick with 2.5D, but try to craft the interface such that full 3D code could be plugged in at some future time.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Excellent points. I agree with your suggestion. Let&amp;#039;s go with 2.5D know, but design the library so that we can plug-in true 3D functionality in the future.&lt;br /&gt;
&lt;br /&gt;
*TIN Input Formats*&lt;br /&gt;
Christopher DeMars:% At the very least, we should import DEMs and CSV points are converted into a TIN.&lt;br /&gt;
&lt;br /&gt;
The Sunburned Surveyor:% O.K. - Let&amp;#039;s support DEM and CSV in our &amp;quot;alpha&amp;quot; release of the library. Still, we should design an interface that allows access to the three (3) main elements above. That would be (1) 3D points defining the surface, (2) 3D points defining breaklines, and (3) 3d points that define interior and exterior boundaries. We would only require access to a set of 3D points defining the surface. The breaklines and boundaries would be supplemental information that could be using to construct the TIN if available, but which would not be required.&lt;br /&gt;
&lt;br /&gt;
If we take this route I can work on a format for define TINs based on a simple text format. I&amp;#039;d prefer something in YAML, but woudln&amp;#039;t be against using XML if there was a lot of support for that.&lt;br /&gt;
&lt;br /&gt;
*TIN Output Formats*&lt;br /&gt;
Christopher DeMars:% I see two possibilities. The preferred option IMHO would be to have a streaming architecture where the last stage in the pipeline wrote out the data (triangles, breaklines, borders, waterflow etc) to a PostGIS database. Then the TIN class (or TINDB class) could have a method that returns a subset of the TIN as a new TIN. The new TIN could either be DB backed, or reside only in memory. This would allow us to process, store, and use TINs that are larger than main memory.&lt;br /&gt;
&lt;br /&gt;
Another possible output format would be a raw list of points segregated into a breakline section, border section, and triangle section. This could be either in WKT, WKB, or our own format. In order to save space, markup languages should be avoided. The downside to this is it would be much harder to deal with data sets that dwarf main memory.&lt;br /&gt;
&lt;br /&gt;
The Sunburned Surveyor:% I agree with Chris on some of the main &amp;quot;outputs&amp;quot; our TIN library should support. I think that these should be a representation of the constructed TIN, including TIN faces, breaklines and boundaries. At some point in the future I would hope to see support for contours (as JTS LineStrings so they could be displayed in OpenJUMP) hillshades, and water flow analysis.&lt;br /&gt;
&lt;br /&gt;
Chris mentioned a &amp;quot;streaming&amp;quot; API that allows access to a TIN in a manner that is independent of memory. I believe this is very important. However, I do not believe we should tie the API to any relational database, at least not directly. We should present a streaming API and then allow individual programmers the liberty to choose their implementation. For example, I would personally avoid a relational database and would focus on streaming access to a TIN based on a binary file or series of text files.&lt;br /&gt;
&lt;br /&gt;
*GeoTools/OpenJUMP Collaboration*&lt;br /&gt;
&lt;br /&gt;
*TIN Display Options*&lt;br /&gt;
&lt;br /&gt;
I don&amp;#039;t think, at least initially, that we should be concerned with making major modifications to OpenJUMP so that TIN&amp;#039;s can be displayed. I think the more simple, and easily obtained solution, would be to focus on exporting data products from a TIN that could be displayed in OpenJUMP. This could be TIN faces represented as JTS Polygons, countour lines represented as JTS LineStrings, and Hillshades represented as JTS Polygons or raster images.&lt;br /&gt;
&lt;br /&gt;
I believe 3D display of TIN files should take place in either [1] a stand alone tool, or [2] in a plug-in specifically designed for display of 3D data. The second option would allow us to write 3D display code that could be used for future extensions in OpenJUMP&amp;#039;s functionality. However, I do not think it would be wise to attempt a mash-up of OpenJUMP&amp;#039;s current 2D dispaly and a new 3D display. OpenJUMP&amp;#039;s current 2D rendering system is quick and capable of producing high-quality map images. Let&amp;#039;s not mess with that. Separating display of 3D data into another component will allow us to experiment with and use tools specifically build for 3D data, liek Java OpenGL bindings, without polluting the current (and effective) 2D rendering system.&lt;br /&gt;
&lt;br /&gt;
*Integration of TIN Support In OpenJUMP*&lt;br /&gt;
&lt;br /&gt;
I don&amp;#039;t think, at least initially, that we should worry about integrating TINs into OpenJUMP as a special type of feature. Let&amp;#039;s concentrate on building TINs and on creating simple output from TINs in the formats OpenJUMP already permits. When we are successful with this goal we can consider adding more built in support for TIN manipulation directly into OpenJUMP via plug-ins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Integration of TIN Support In UDig*&lt;br /&gt;
&lt;br /&gt;
h2. Reference&lt;br /&gt;
&lt;br /&gt;
* 2008 Google Summerof Code http://code.google.com/soc/2008/&lt;br /&gt;
&lt;br /&gt;
* TIN (Triangulated irregular network) http://en.wikipedia.org/wiki/Triangulated_irregular_network&lt;br /&gt;
&lt;br /&gt;
* Delaunay triangulation http://en.wikipedia.org/wiki/Delaunay_triangulation&lt;br /&gt;
&lt;br /&gt;
* more&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=JTin_Google_Summer_of_Code_2008&amp;diff=81</id>
		<title>JTin Google Summer of Code 2008</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=JTin_Google_Summer_of_Code_2008&amp;diff=81"/>
		<updated>2009-09-24T18:42:15Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: Created page with &amp;#039;I created this page on the wiki for discussion of the JTin library. This will be a low-level library that allows for the creation and manipulation of TINs. This may be something …&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I created this page on the wiki for discussion of the JTin library. This will be a low-level library that allows for the creation and manipulation of TINs. This may be something that we can work on with GeoTools/UDig. In this scenario OpenJUMP and UDig would create their own plug-ins to access the low-level JTin library.&lt;br /&gt;
&lt;br /&gt;
Before serious work begins on the library I think we should make some decisions on the following items:&lt;br /&gt;
&lt;br /&gt;
# How is TIN defined, and how will we represent it in memory? (Note: We aren&amp;#039;t talking about the display of a TIN, but rather the model from which a display or view of the TIN might be created.)&lt;br /&gt;
# What data input formats will we support? Will we wrap access to these formats in a common interface?&lt;br /&gt;
# What data output formats will we support?&lt;br /&gt;
# How will we integrate TIN support into OpenJUMP?&lt;br /&gt;
# How will we display TINs? Do we want this display to be in the normal Layer View of OpenJUMP? Will this be a 2D display? Will it be a 3D display? Can we support 3D display of a TIN in a separate component to avoid tweaking the existing 2D rendering code?&lt;br /&gt;
&lt;br /&gt;
I will add my comments below. Other interested programmers can add their content also. Then we can make a decision on the best way to proceed.&lt;br /&gt;
&lt;br /&gt;
*TIN Definition*&lt;br /&gt;
%{color:blue}The Sunburned Surveyor:% From a land surveying perspective a TIN is defined by three (3) components. &lt;br /&gt;
&lt;br /&gt;
The first component is a collection of points representing the samples of the surface being modeled by the TIN. Each sample site has a horizontal position and a measure of the value being modeled with the surface. (This could be the ground elevation surface or the surface of something completely different, like population) &lt;br /&gt;
&lt;br /&gt;
The second component is a line, either 2D or 3D, that represents the boundaries of the surface being modeled. There must be at least one exterior boundary and there may be one or more interior boundaries. (An interior boundary might be used to exclude a building envelope from an elevation TIN.)&lt;br /&gt;
&lt;br /&gt;
The third component is a set of 3D lines that represent the breaklines of the TIN. TIN lines, or the edges of the triangular faces in the TIN, are not allowed to cross breaklines. Breaklines are a critical component of accurate TIN definition and creation.&lt;br /&gt;
&lt;br /&gt;
I believe that our library should incorporate creation of TINs using all three (3) components, not just the first component, as is typically done in GIS.&lt;br /&gt;
&lt;br /&gt;
%{color:green}Christopher DeMars:% Do we need to include support for both hard and soft breaklines (hard breaklines indicating a change in height along the line like in a road grade)? &lt;br /&gt;
&lt;br /&gt;
%{color:blue}The Sunburned Surveyor:% I&amp;#039;m not really sure what a &amp;quot;soft&amp;quot; breakline would be. What I am talking about would be a hard breakline. It is basically a set of connected TIN lines that can&amp;#039;t be crossed by other TIN lines. You would typically create these breaklines along topographic features like ridge tops or valleys.&lt;br /&gt;
&lt;br /&gt;
*TIN Representation*&lt;br /&gt;
%{color:blue}The Sunburned Surveyor:% I believe that our TIN representation should be made as simple as possible. In my perspective this simplest representation is a set of TIN faces. Each TIN face is defined by three (3) three-dimensional points. I believe we can represent each TIN face by using a JTS Polygon whose nodes have a valid elevation value. Other alternatives are representing each face by a set of raw coordinate values, perhaps as JTS Coordinate objects, or by a set of three (3) LineStrings, with one LineString used to represent each edge of the face. Paul Austin mentioned that representing a face with raw coordinates might be the most efficient method. Whatever method is finally selected, it I think it would be practical to provide methods that allow access to either a JTS Polygon, JTS Point, or JTS LineString representation of the face.&lt;br /&gt;
&lt;br /&gt;
Perhaps the best way to approach this is by encapsulating the common behavior of a TIN face in an interface, and then allowing multiple implementations of this interface using one of the JTS Geometries.&lt;br /&gt;
&lt;br /&gt;
%{color:blue}Paul Austin:% Each face is a Triangle which could be modelled as a Triangle object with 3 coordinates. This would be a very efficient data structure and the Triangle object can have methods to return properties of the Triangle such as the circumcentre. There can be methods on the Tin to wrap this Triangle as a Polygon for use in renderring. See CoordinateSequence as the interface that would allow this wrapping.&lt;br /&gt;
&lt;br /&gt;
%{color:green}Christopher DeMars:% Most of the following commentary was inspired by this paper: http://www.cs.unc.edu/%7Eisenburg/papers/ilss-scdt-06.pdf&lt;br /&gt;
&lt;br /&gt;
The paper mentions that another fundamental value to be stored in a TIN for each triangle facet is three links to adjacent facets.&lt;br /&gt;
&lt;br /&gt;
Other aspects that could/should be associated with each TIN face might be precomputed normals and water flow data (like WaterBug, determine where water flowing in the uphill edges exits).&lt;br /&gt;
&lt;br /&gt;
Another big question that needs to be answered is shall we stick with JTS and use a 2.5D model or go full 3D (2.5D surfaces can be projected onto the xy plane without having overlap)? The advantages of 2.5D is that the algorithms are out there and it would mesh well with OpenJUMP. The disadvantage is that we couldnâ€™t model such things as cave structures or mines and the TIN library couldnâ€™t be used for non-GIS 3D applications like medical imaging. The biggest downside to going full 3D is that Delaunay triangulation of 3D surfaces is an open research topic with regards to creating a decently fast implementation. As of this moment, my thoughts are that we should stick with 2.5D, but try to craft the interface such that full 3D code could be plugged in at some future time.&lt;br /&gt;
&lt;br /&gt;
%{color:blue}The Sunburned Surveyor:% I agree with Paul. Each TIN face could be stored as three Coordinates. We could then provide methods that return things like a 2D Polygon representation of the triangle, the slope, the aspect, or the normal as suggested by Chris. &lt;br /&gt;
&lt;br /&gt;
However, I don&amp;#039;t think we should store topology data in the object representing the actual TIN face. I think this should be stored in a separate data structure or data structures.&lt;br /&gt;
&lt;br /&gt;
Chris wrote: &amp;quot;The disadvantage is that we couldnâ€™t model such things as cave structures or mines and the TIN library couldnâ€™t be used for non-GIS 3D applications like medical imaging.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I didn&amp;#039;t even think about that Chris. Those are interesting applications of a TIN library.&lt;br /&gt;
&lt;br /&gt;
Chris wrote: &amp;quot;The biggest downside to going full 3D is that Delaunay triangulation of 3D surfaces is an open research topic with regards to creating a decently fast implementation. As of this moment, my thoughts are that we should stick with 2.5D, but try to craft the interface such that full 3D code could be plugged in at some future time.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Excellent points. I agree with your suggestion. Let&amp;#039;s go with 2.5D know, but design the library so that we can plug-in true 3D functionality in the future.&lt;br /&gt;
&lt;br /&gt;
*TIN Input Formats*&lt;br /&gt;
%{color:green}Christopher DeMars:% At the very least, we should import DEMs and CSV points are converted into a TIN.&lt;br /&gt;
&lt;br /&gt;
%{color:blue}The Sunburned Surveyor:% O.K. - Let&amp;#039;s support DEM and CSV in our &amp;quot;alpha&amp;quot; release of the library. Still, we should design an interface that allows access to the three (3) main elements above. That would be (1) 3D points defining the surface, (2) 3D points defining breaklines, and (3) 3d points that define interior and exterior boundaries. We would only require access to a set of 3D points defining the surface. The breaklines and boundaries would be supplemental information that could be using to construct the TIN if available, but which would not be required.&lt;br /&gt;
&lt;br /&gt;
If we take this route I can work on a format for define TINs based on a simple text format. I&amp;#039;d prefer something in YAML, but woudln&amp;#039;t be against using XML if there was a lot of support for that.&lt;br /&gt;
&lt;br /&gt;
*TIN Output Formats*&lt;br /&gt;
%{color:green}Christopher DeMars:% I see two possibilities. The preferred option IMHO would be to have a streaming architecture where the last stage in the pipeline wrote out the data (triangles, breaklines, borders, waterflow etc) to a PostGIS database. Then the TIN class (or TINDB class) could have a method that returns a subset of the TIN as a new TIN. The new TIN could either be DB backed, or reside only in memory. This would allow us to process, store, and use TINs that are larger than main memory.&lt;br /&gt;
&lt;br /&gt;
Another possible output format would be a raw list of points segregated into a breakline section, border section, and triangle section. This could be either in WKT, WKB, or our own format. In order to save space, markup languages should be avoided. The downside to this is it would be much harder to deal with data sets that dwarf main memory.&lt;br /&gt;
&lt;br /&gt;
%{color:blue}The Sunburned Surveyor:% I agree with Chris on some of the main &amp;quot;outputs&amp;quot; our TIN library should support. I think that these should be a representation of the constructed TIN, including TIN faces, breaklines and boundaries. At some point in the future I would hope to see support for contours (as JTS LineStrings so they could be displayed in OpenJUMP) hillshades, and water flow analysis.&lt;br /&gt;
&lt;br /&gt;
Chris mentioned a &amp;quot;streaming&amp;quot; API that allows access to a TIN in a manner that is independent of memory. I believe this is very important. However, I do not believe we should tie the API to any relational database, at least not directly. We should present a streaming API and then allow individual programmers the liberty to choose their implementation. For example, I would personally avoid a relational database and would focus on streaming access to a TIN based on a binary file or series of text files.&lt;br /&gt;
&lt;br /&gt;
*GeoTools/OpenJUMP Collaboration*&lt;br /&gt;
&lt;br /&gt;
*TIN Display Options*&lt;br /&gt;
&lt;br /&gt;
I don&amp;#039;t think, at least initially, that we should be concerned with making major modifications to OpenJUMP so that TIN&amp;#039;s can be displayed. I think the more simple, and easily obtained solution, would be to focus on exporting data products from a TIN that could be displayed in OpenJUMP. This could be TIN faces represented as JTS Polygons, countour lines represented as JTS LineStrings, and Hillshades represented as JTS Polygons or raster images.&lt;br /&gt;
&lt;br /&gt;
I believe 3D display of TIN files should take place in either [1] a stand alone tool, or [2] in a plug-in specifically designed for display of 3D data. The second option would allow us to write 3D display code that could be used for future extensions in OpenJUMP&amp;#039;s functionality. However, I do not think it would be wise to attempt a mash-up of OpenJUMP&amp;#039;s current 2D dispaly and a new 3D display. OpenJUMP&amp;#039;s current 2D rendering system is quick and capable of producing high-quality map images. Let&amp;#039;s not mess with that. Separating display of 3D data into another component will allow us to experiment with and use tools specifically build for 3D data, liek Java OpenGL bindings, without polluting the current (and effective) 2D rendering system.&lt;br /&gt;
&lt;br /&gt;
*Integration of TIN Support In OpenJUMP*&lt;br /&gt;
&lt;br /&gt;
I don&amp;#039;t think, at least initially, that we should worry about integrating TINs into OpenJUMP as a special type of feature. Let&amp;#039;s concentrate on building TINs and on creating simple output from TINs in the formats OpenJUMP already permits. When we are successful with this goal we can consider adding more built in support for TIN manipulation directly into OpenJUMP via plug-ins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Integration of TIN Support In UDig*&lt;br /&gt;
&lt;br /&gt;
h2. Reference&lt;br /&gt;
&lt;br /&gt;
* 2008 Google Summerof Code http://code.google.com/soc/2008/&lt;br /&gt;
&lt;br /&gt;
* TIN (Triangulated irregular network) http://en.wikipedia.org/wiki/Triangulated_irregular_network&lt;br /&gt;
&lt;br /&gt;
* Delaunay triangulation http://en.wikipedia.org/wiki/Delaunay_triangulation&lt;br /&gt;
&lt;br /&gt;
* more&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Notes_on_Speed_Improvements_on_Rendering&amp;diff=80</id>
		<title>Notes on Speed Improvements on Rendering</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Notes_on_Speed_Improvements_on_Rendering&amp;diff=80"/>
		<updated>2009-09-24T18:41:21Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: Created page with &amp;#039;note: for further info see the emails with subject _OJ extreme slowness_ on Jump User List around 28/29 November 2006 A big thanx to Larry and Bob for investing the time! sstein …&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;note: for further info see the emails with subject _OJ extreme slowness_ on Jump User List around 28/29 November 2006&lt;br /&gt;
A big thanx to Larry and Bob for investing the time!&lt;br /&gt;
sstein&lt;br /&gt;
&lt;br /&gt;
*Larry Becker wrote* (30 Nov. 2006):&lt;br /&gt;
OK, let&amp;#039;s see if we can&amp;#039;t put this issue to rest.  The RenderingManager has a 1 second repaint timer that allows the GUI to appear responsive by updating the screen every second during long operations like dataset loading.  The code is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
private Timer repaintTimer = new Timer(1000, new ActionListener() {&lt;br /&gt;
        public void actionPerformed(ActionEvent e) {&lt;br /&gt;
            for (Iterator i = contentIDToRendererMap.values().iterator(); i&lt;br /&gt;
                    .hasNext();) {&lt;br /&gt;
                Renderer renderer = (Renderer) i.next();&lt;br /&gt;
                if (renderer.isRendering()) {&lt;br /&gt;
                    repaintPanel();&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            repaintTimer.stop();&lt;br /&gt;
            repaintPanel();&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice the final repaintPanel() invocation.  This is what is triggering the second paint that Fco is seeing.  I have commented out the final repaintPanel() and observed no ill effects on correct rendering, however it had no positive effects on render times either.  I recommend leaving it as is for belt-AND-suspenders paranoia.&lt;br /&gt;
&lt;br /&gt;
Robert and I have done fairly extensive analysis of JUMP&amp;#039;s rendering pipeline and have not found anything that can be significantly improved.  We have done experiments with blocking vs. non-blocking renderers and found no improvement.  Robert tried rendering more features in each synchronized draw invocation (as Jon&amp;#039;s comment recommended) and found no improvement in speed.  I want to emphasize that all of these mods have decreased the responsiveness of the GUI without noticeably increasing drawing speed. &lt;br /&gt;
&lt;br /&gt;
In conclusion, the results of our benchmarks, analysis, and experiments show that JUMP&amp;#039;s rendering is one of the best compromises of quality, responsiveness, and speed that I have ever seen in an application.&lt;br /&gt;
&lt;br /&gt;
One final word: late tests of JUMP 1.2 of redraw of the 48MB burlulc.shp file (New Jersey) dataset have deteriorated to 20 seconds from 11 in the previous version.  I an unaware of any reason for this slowdown, except for perhaps the addition of the new Imaging layer type since OpenJUMP and SkyJUMP have implemented most of the JUMP 1.2 improvements except Imaging and do not experience any slowdown.&lt;br /&gt;
&lt;br /&gt;
regards,&lt;br /&gt;
Larry Becker&lt;br /&gt;
ISA&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=How_to_translate_OpenJUMP_into_another_language&amp;diff=79</id>
		<title>How to translate OpenJUMP into another language</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=How_to_translate_OpenJUMP_into_another_language&amp;diff=79"/>
		<updated>2009-09-24T18:40:31Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: Created page with &amp;#039; A - The steps on how to translate OpenJUMP  This in an *example for* translation into *Brazilian Portugese*. People interests in creating a new language file my read part B (bel…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; A - The steps on how to translate OpenJUMP&lt;br /&gt;
&lt;br /&gt;
This in an *example for* translation into *Brazilian Portugese*.&lt;br /&gt;
People interests in creating a new language file my read part B (below) as well&lt;br /&gt;
&lt;br /&gt;
* 1) download the last nightly built:&lt;br /&gt;
http://jonaquino.textdriven.com/openjump_nightly_builds/&lt;br /&gt;
* 2) unpack it&lt;br /&gt;
* 3) if you work on Windows:&lt;br /&gt;
** set in the file YOUR_openjump_folder\bin\openjump.bat&lt;br /&gt;
  the i18n option to portugese language in the &amp;quot;start javaw&amp;quot; line:&lt;br /&gt;
** eg.&lt;br /&gt;
start javaw -Dlog4j.configuration=file:./log4j.xml -Xms256M -Xmx256M -cp&lt;br /&gt;
%CLASSPATH% com.vividsolutions.jump.workbench.JUMPWorkbench -properties&lt;br /&gt;
workbench-properties.xml -i18n pt_BR -plug-in-directory %LIB%/ext&lt;br /&gt;
** otherwise modify the appropriate .sh file&lt;br /&gt;
* 4) go to the file:&lt;br /&gt;
YOUR_openjump_folder\lib\jump-workbench-2007XXXX-XXXX.jar (where xxx are&lt;br /&gt;
nightly built specific number)&lt;br /&gt;
* 5) for safety reasons make a copy of the file to some other place&lt;br /&gt;
* 6) rename the .jar file to .zip&lt;br /&gt;
* 7) unpack it somewhere&lt;br /&gt;
* 8) look in the unpacked files for folder called &amp;quot;language&amp;quot; and a file&lt;br /&gt;
called &amp;quot;jump_pt_BR.properties&amp;quot;&lt;br /&gt;
* 9) open the file with your favorite editor and translate the strings:&lt;br /&gt;
** you will see that on left side is an identifier string while on the&lt;br /&gt;
side of the &amp;quot;=&amp;quot; equal sign is the translated text&lt;br /&gt;
** a hint: new strings have a date line just before like [sstein 7 march 2007]&lt;br /&gt;
* 10) after you have translated, safe the jump_pt_BR.properties file&lt;br /&gt;
&lt;br /&gt;
==========&lt;br /&gt;
note: the following steps are useful if you want to check your&lt;br /&gt;
translation in OpenJUMP;&lt;br /&gt;
&lt;br /&gt;
* 11) pack all the stuff of the previously extracted zip file to a new .zip which has the same name as the old&lt;br /&gt;
* 12) rename the just packed file .zip to .jar&lt;br /&gt;
* 13) copy it in the same location as the old .jar (means the \lib\ folder)&lt;br /&gt;
* 14) start openjump with the openjump.bat file and check your translation&lt;br /&gt;
&lt;br /&gt;
=========== if you dont want to test:&lt;br /&gt;
* 15) if you finished your translation send me the jump_pt_BR.properties file&lt;br /&gt;
(sstein@geo....) and i will add it to our sourcecode repository.&lt;br /&gt;
&lt;br /&gt;
After adding it, the nightly built of the next day should include your Portugese translation.&lt;br /&gt;
I hope that is detailed enough :o)&lt;br /&gt;
If questions appear please don&amp;#039;t hesitate to contact me (Stefan/sstein)&lt;br /&gt;
&lt;br /&gt;
 B - On new translations &lt;br /&gt;
&lt;br /&gt;
* please simply make a copy of the file jump_en.properties file and&lt;br /&gt;
rename the copy to your language abbreviation (e.g. the swedish one should be like: jump_se.properties)&lt;br /&gt;
* translate everything&lt;br /&gt;
* put it as additional file in the zip as describe above &lt;br /&gt;
&lt;br /&gt;
 C - Useful tools&lt;br /&gt;
&lt;br /&gt;
* some of the developers use the prb-editor for translatiion https://prbeditor.dev.java.net/&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Internationalization&amp;diff=78</id>
		<title>Internationalization</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Internationalization&amp;diff=78"/>
		<updated>2009-09-24T18:39:06Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: Created page with &amp;#039;This page will offer information and tips on internationalization to developers working on OpenJUMP or other projects at the JPP. Internationalization is an important part of Ope…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will offer information and tips on internationalization to developers working on OpenJUMP or other projects at the JPP. Internationalization is an important part of OpenJUMP which is used around the world in many different languages.&lt;br /&gt;
&lt;br /&gt;
*Language 2 Developer Registry*&lt;br /&gt;
This is a simple registry that shows which developers are working on OpenJUMP or other JPP projects in specific language groups. This will help developers find developers that are working in a language they understand, and will identify those that can assist in language specific translation and internationlization issues. You can contact most of these developers on the &amp;quot;JPP Development Mailing List&amp;quot;:http://lists.sourceforge.net/lists/listinfo/jump-pilot-devel .&lt;br /&gt;
&lt;br /&gt;
*_English_*&lt;br /&gt;
The Sunburned Surveyor&lt;br /&gt;
&lt;br /&gt;
*_Spanish_*&lt;br /&gt;
Nacho Uve, Steve Tanner, Fco Lavin&lt;br /&gt;
&lt;br /&gt;
*_French_*&lt;br /&gt;
Michael Michaud, Steve Tanner, Erwan Bocher&lt;br /&gt;
&lt;br /&gt;
*_German_*&lt;br /&gt;
Stefan Steiniger, Johannes Metzler, Florian Rengers&lt;br /&gt;
&lt;br /&gt;
*_Brazilian Portugese_*&lt;br /&gt;
Cristiano Almeida&lt;br /&gt;
&lt;br /&gt;
*_Finnish_*&lt;br /&gt;
Jukka Rahkonen&lt;br /&gt;
&lt;br /&gt;
*_Italian_*&lt;br /&gt;
Giuseppe Aruta&lt;br /&gt;
&lt;br /&gt;
*_Japanese_*&lt;br /&gt;
Hisaji Ono&lt;br /&gt;
&lt;br /&gt;
*_Hungarian_*&lt;br /&gt;
Istvan Stefan and Zoltan Siki&lt;br /&gt;
&lt;br /&gt;
*_Czech_*&lt;br /&gt;
N.N.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lists of GIS-Term difficult to translate*&lt;br /&gt;
&lt;br /&gt;
* [[Portugese Word List]]&lt;br /&gt;
* [[German Word List]]&lt;br /&gt;
* [[Spanish Word List]]&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Documentation&amp;diff=77</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Documentation&amp;diff=77"/>
		<updated>2009-09-24T18:37:39Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page gives access to documentation for *users* and *developers* (pls. scroll down). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 A - Documentation for users !http://static.flickr.com/39/110072620_882b70fee7.jpg?v=0!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 On-Line Documentation (English)&lt;br /&gt;
&lt;br /&gt;
* !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/book_open.png! \OpenJUMP &amp;quot;User Guide&amp;quot;:http://openjump.org/wiki/show/Index &lt;br /&gt;
&lt;br /&gt;
* !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/book_open.png! &amp;quot;OpenJUMP on MacOSX&amp;quot;:http://openjump.org/wiki/revision/ComparingOpenJump?rev=19  with a comparison between \OpenJUMP,uDig and QGIS by Eric Jarvies&lt;br /&gt;
&lt;br /&gt;
* !http://static.flickr.com/31/99200779_79abbaccb5_o.png! [[FAQ]] and  !http://static.flickr.com/31/99200779_79abbaccb5_o.png! &amp;quot;FAQ&amp;quot;:http://openjump.org/wiki/show/Known+Issues+on+MacOSX for Mac OX&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Download (PDF)&lt;br /&gt;
&lt;br /&gt;
* An English &amp;quot;OpenJUMP 1.3  Tutorial&amp;quot;:http://sourceforge.net/projects/jump-pilot/files/ by Stefan Steiniger and Michael Michaud for users with a basic GIS knowledge that was held at &amp;quot;OGRS 2009&amp;quot;:http://www.ogrs2009.org (data are unfortunately not free) !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif!&lt;br /&gt;
* A German introductory &amp;quot;OpenJUMP 1.2F Tutorial&amp;quot;:https://sourceforge.net/project/downloading.php?group_id=118054&amp;amp;use_mirror=garr&amp;amp;filename=OpenJUMP12_German_Tutorial_sz.pdf&amp;amp;72973093 by Uwe Dalluege with sample data !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/de.gif! &lt;br /&gt;
* An English &amp;quot;OpenJUMP 1.1 Tutorial&amp;quot;:http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/j/ju/jump-pilot/OpenJUMP1.0.1_Tutorial_englishBeta.pdf by Uwe Dalluege !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif!&lt;br /&gt;
*  A German &amp;quot;PostGIS Tutorial&amp;quot;:http://openjump.org/PostGIS_Tutorial.pdf by Uwe Dalluege !http://static.flickr.com/24/99192265_912fc9665e_o.gif!&lt;br /&gt;
* An English &amp;quot;pseudo-exercise&amp;quot;:http://jump-pilot.sourceforge.net/download/mock-ex4jump.zip by Ravi with the topic: Where to locate a nuclear power plant? It introduces \OpenJUMPs basic analysis functions.&lt;br /&gt;
* Another English &amp;quot;pseudo-exercise&amp;quot;:http://jump-pilot.sourceforge.net/download/mockex_mineral_targeting_v2.zip for \OpenJUMP 1.3 by Ravi on mineral targeting. It introduces into \OpenJUMP editing, query and analyis function as well as into working with \PostGIS.&lt;br /&gt;
&lt;br /&gt;
* *Original* VIVID Solutions JUMP 1.1 User Guide -  !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif! &amp;quot;English&amp;quot;:http://www.vividsolutions.com/jump/bin/JUMP%20User%20Guide.pdf, !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/es.gif!  &amp;quot;Spanish&amp;quot;:http://jump-pilot.svn.sourceforge.net/viewvc/*checkout*/jump-pilot/core/trunk/docs/manuals-es/JUMP-Doc-es-GuiaUsuario.pdf&lt;br /&gt;
&lt;br /&gt;
* JUMP 1.1 / \OpenJUMP Tutorials in other languages: &lt;br /&gt;
** !http://static.flickr.com/32/99192264_28e14852b0_o.gif! &amp;quot;Portuguese User Guide&amp;quot;:http://www.archive.org/download/OpenJUMP_Users_Guid_pt_br/ManualOpenJUMP.pdf by Flavia Coelho Couto JoÃ£o Batista Brito and Ezequias Rodrigues da Rocha&lt;br /&gt;
** !http://static.flickr.com/32/99192264_28e14852b0_o.gif!  &amp;quot;Presentation&amp;quot;:http://www.archive.org/download/OpenJUMP_presentation_ppt_pt_br/PalestraLACFee2005OpenJUMP.ppt, by Ezequias R. da Rocha&lt;br /&gt;
** !http://static.flickr.com/47/116386051_725a6b5470.jpg?v=0! &amp;quot;Italian User Guide&amp;quot;:http://geomatica.como.polimi.it/corsi/sw_gis/OpenJUMP-CAN-CC.pdf  by Diego Magni&lt;br /&gt;
** !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/jp.gif! &amp;quot;User Guide for Field Work GIS Station powered by \OpenJUMP in Japanese &amp;quot;:http://www.google.com/url?sa=t&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fgiswin.geo.tsukuba.ac.jp%2Fteacher%2Fmurayama%2Ffieldgis_station%2Fmanual%2Fmanual.pdf&amp;amp;ei=yVnhR57wGpb4nQOM4OmjCA&amp;amp;usg=AFQjCNEhFckYIYd9Vowo7mpsk4_8TaywcQ&amp;amp;sig2=-lP0jfD3iRp_k1Z4-u3I9Q  by Yuji Murayama, Hisaji Ono&lt;br /&gt;
** !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif! OpenJump Workshop for Foss4G 2006 by Erwan Brocher - this tutorial has been updated for \OpenJUMP 1.3 and presented at OGRS 2009 (see above) &lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Other original JUMP documentation&amp;quot;:http://www.vividsolutions.com/jump/doc.htm  (a wee bit old) !http://static.flickr.com/30/99196199_5d9b12aca7_o.gif!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Other on-line documentation&lt;br /&gt;
&lt;br /&gt;
* [[Plugins]] - \PlugIn&amp;#039;s by others - will probably not integrated into \OpenJump&lt;br /&gt;
* [[Experiences developing OpenJUMP]] - A paper prepared for the MILES project (Managing Information for Local Environment in Sri Lanka)&lt;br /&gt;
* [[Scripting with BeanShell]]&lt;br /&gt;
* [[Tips]] &lt;br /&gt;
* [[OpenJump Configuration]]&lt;br /&gt;
* [[Printing in high-resolution]]&lt;br /&gt;
* [[TFW (World File) Format]]&lt;br /&gt;
* [[Drawing an on-screen ornament]]&lt;br /&gt;
* [[Loading GPS data]]&lt;br /&gt;
* [[Shortcut Keys 1-pager]]&lt;br /&gt;
* [[Sample data]] &lt;br /&gt;
* [[OpenJump with Wallpaper :-O]] &lt;br /&gt;
* [[Portable OpenJump]] &lt;br /&gt;
* What is GIS? - GIS Basics by the \OpenContent &amp;quot;GITTA elearning project&amp;quot;:http://www.gitta.info/website/en/html/index.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 B - Documentation for developers !http://static.flickr.com/39/110072620_882b70fee7.jpg?v=0!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Jump Developers Guide&amp;quot;:http://www.vividsolutions.com/jump/bin/JUMP%20Developer%20Guide.pdf !http://static.flickr.com/24/99217499_2d71c8c43a_o.png!&lt;br /&gt;
* [[Devel FAQ]]&lt;br /&gt;
* *Basics*&lt;br /&gt;
** [[How to run OpenJUMP in Eclipse]]&lt;br /&gt;
** [[How to make your own OpenJUMP built]]&lt;br /&gt;
** &amp;quot;OpenJUMP javadoc&amp;quot;:http://jump-pilot.sourceforge.net/javadoc/openjump_javadoc/ , &amp;quot;JTS javadoc&amp;quot;:http://tsusiatsoftware.net/jts/javadoc/index.html&lt;br /&gt;
** [[OpenJUMP programming Guideline]]&lt;br /&gt;
* *Making Your Own Plugins*&lt;br /&gt;
** [[The difference of PlugIn and Extension and Registry]]&lt;br /&gt;
** [[How to use and make own Plugins]]&lt;br /&gt;
** Example \PlugIns:&lt;br /&gt;
*** [[How to display customer xyz data from a file]]&lt;br /&gt;
*** [[Example Plugin For Buffering Features in a Layer]]&lt;br /&gt;
** [[How to use i18n Internationalization]]&lt;br /&gt;
** [[Implementing Undo]]&lt;br /&gt;
** [[Adding A Toolbar Button]]&lt;br /&gt;
** [[Implementing cursortools]]&lt;br /&gt;
** [[Converting a CursorTool to a PlugIn]]&lt;br /&gt;
** [[Extending a FeatureCollection by Adding new Attributes]]&lt;br /&gt;
* [[Tips and Tricks around the Java Topology Suite]]&lt;br /&gt;
* [[Notes On OpenJUMP&amp;#039;s Rendering System]]&lt;br /&gt;
* [[Notes on TaskFrames]]&lt;br /&gt;
* [[Notes on the Display of AttributeTables]]&lt;br /&gt;
* [[Using JUMP Libraries in an External Application]].&lt;br /&gt;
* Adding support for new data formats:&lt;br /&gt;
** [[How to write a new driver]] (Spring 2007)&lt;br /&gt;
** [[HOWTO Create an Open Wizard]] (Since \OpenJUMP Version 1.2)&lt;br /&gt;
** Some additional notes on adding support for a new file format: [[File DataSource Notes]]&lt;br /&gt;
** [[Working with GML]]&lt;br /&gt;
* *Other*&lt;br /&gt;
**  &amp;quot;How to Translate \OpenJUMP into another language&amp;quot;:http://openjump.org/wiki/show/How+to+translate+in+a+new+language&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 C - Projects where \OpenJUMP can give its contribution &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;OSGeo Cartographic Library&amp;quot;:http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library#Interested_people&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[GIS Terminology]]&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Documentation&amp;diff=76</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Documentation&amp;diff=76"/>
		<updated>2009-09-24T18:36:28Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: Created page with &amp;#039;This page gives access to documentation for *users* and *developers* (pls. scroll down).   &amp;lt;hr /&amp;gt;  h2()=[no]. A - Documentation for users !http://static.flickr.com/39/110072620_8…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page gives access to documentation for *users* and *developers* (pls. scroll down). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
h2()=[no]. A - Documentation for users !http://static.flickr.com/39/110072620_882b70fee7.jpg?v=0!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
h3()=[no]{color:black}. On-Line Documentation (English)&lt;br /&gt;
&lt;br /&gt;
* !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/book_open.png! \OpenJUMP &amp;quot;User Guide&amp;quot;:http://openjump.org/wiki/show/Index &lt;br /&gt;
&lt;br /&gt;
* !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/book_open.png! &amp;quot;OpenJUMP on MacOSX&amp;quot;:http://openjump.org/wiki/revision/ComparingOpenJump?rev=19  with a comparison between \OpenJUMP,uDig and QGIS by Eric Jarvies&lt;br /&gt;
&lt;br /&gt;
* !http://static.flickr.com/31/99200779_79abbaccb5_o.png! [[FAQ]] and  !http://static.flickr.com/31/99200779_79abbaccb5_o.png! &amp;quot;FAQ&amp;quot;:http://openjump.org/wiki/show/Known+Issues+on+MacOSX for Mac OX&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
h3()=[no]{color:black}. Download (PDF)&lt;br /&gt;
&lt;br /&gt;
* An English &amp;quot;OpenJUMP 1.3  Tutorial&amp;quot;:http://sourceforge.net/projects/jump-pilot/files/ by Stefan Steiniger and Michael Michaud for users with a basic GIS knowledge that was held at &amp;quot;OGRS 2009&amp;quot;:http://www.ogrs2009.org (data are unfortunately not free) !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif!&lt;br /&gt;
* A German introductory &amp;quot;OpenJUMP 1.2F Tutorial&amp;quot;:https://sourceforge.net/project/downloading.php?group_id=118054&amp;amp;use_mirror=garr&amp;amp;filename=OpenJUMP12_German_Tutorial_sz.pdf&amp;amp;72973093 by Uwe Dalluege with sample data !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/de.gif! &lt;br /&gt;
* An English &amp;quot;OpenJUMP 1.1 Tutorial&amp;quot;:http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/j/ju/jump-pilot/OpenJUMP1.0.1_Tutorial_englishBeta.pdf by Uwe Dalluege !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif!&lt;br /&gt;
*  A German &amp;quot;PostGIS Tutorial&amp;quot;:http://openjump.org/PostGIS_Tutorial.pdf by Uwe Dalluege !http://static.flickr.com/24/99192265_912fc9665e_o.gif!&lt;br /&gt;
* An English &amp;quot;pseudo-exercise&amp;quot;:http://jump-pilot.sourceforge.net/download/mock-ex4jump.zip by Ravi with the topic: Where to locate a nuclear power plant? It introduces \OpenJUMPs basic analysis functions.&lt;br /&gt;
* Another English &amp;quot;pseudo-exercise&amp;quot;:http://jump-pilot.sourceforge.net/download/mockex_mineral_targeting_v2.zip for \OpenJUMP 1.3 by Ravi on mineral targeting. It introduces into \OpenJUMP editing, query and analyis function as well as into working with \PostGIS.&lt;br /&gt;
&lt;br /&gt;
* *Original* VIVID Solutions JUMP 1.1 User Guide -  !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif! &amp;quot;English&amp;quot;:http://www.vividsolutions.com/jump/bin/JUMP%20User%20Guide.pdf, !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/es.gif!  &amp;quot;Spanish&amp;quot;:http://jump-pilot.svn.sourceforge.net/viewvc/*checkout*/jump-pilot/core/trunk/docs/manuals-es/JUMP-Doc-es-GuiaUsuario.pdf&lt;br /&gt;
&lt;br /&gt;
* JUMP 1.1 / \OpenJUMP Tutorials in other languages: &lt;br /&gt;
** !http://static.flickr.com/32/99192264_28e14852b0_o.gif! &amp;quot;Portuguese User Guide&amp;quot;:http://www.archive.org/download/OpenJUMP_Users_Guid_pt_br/ManualOpenJUMP.pdf by Flavia Coelho Couto JoÃ£o Batista Brito and Ezequias Rodrigues da Rocha&lt;br /&gt;
** !http://static.flickr.com/32/99192264_28e14852b0_o.gif!  &amp;quot;Presentation&amp;quot;:http://www.archive.org/download/OpenJUMP_presentation_ppt_pt_br/PalestraLACFee2005OpenJUMP.ppt, by Ezequias R. da Rocha&lt;br /&gt;
** !http://static.flickr.com/47/116386051_725a6b5470.jpg?v=0! &amp;quot;Italian User Guide&amp;quot;:http://geomatica.como.polimi.it/corsi/sw_gis/OpenJUMP-CAN-CC.pdf  by Diego Magni&lt;br /&gt;
** !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/jp.gif! &amp;quot;User Guide for Field Work GIS Station powered by \OpenJUMP in Japanese &amp;quot;:http://www.google.com/url?sa=t&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fgiswin.geo.tsukuba.ac.jp%2Fteacher%2Fmurayama%2Ffieldgis_station%2Fmanual%2Fmanual.pdf&amp;amp;ei=yVnhR57wGpb4nQOM4OmjCA&amp;amp;usg=AFQjCNEhFckYIYd9Vowo7mpsk4_8TaywcQ&amp;amp;sig2=-lP0jfD3iRp_k1Z4-u3I9Q  by Yuji Murayama, Hisaji Ono&lt;br /&gt;
** !http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif! OpenJump Workshop for Foss4G 2006 by Erwan Brocher - this tutorial has been updated for \OpenJUMP 1.3 and presented at OGRS 2009 (see above) &lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Other original JUMP documentation&amp;quot;:http://www.vividsolutions.com/jump/doc.htm  (a wee bit old) !http://static.flickr.com/30/99196199_5d9b12aca7_o.gif!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
h3()=[no]{color:black}. Other on-line documentation&lt;br /&gt;
&lt;br /&gt;
* [[Plugins]] - \PlugIn&amp;#039;s by others - will probably not integrated into \OpenJump&lt;br /&gt;
* [[Experiences developing OpenJUMP]] - A paper prepared for the MILES project (Managing Information for Local Environment in Sri Lanka)&lt;br /&gt;
* [[Scripting with BeanShell]]&lt;br /&gt;
* [[Tips]] &lt;br /&gt;
* [[OpenJump Configuration]]&lt;br /&gt;
* [[Printing in high-resolution]]&lt;br /&gt;
* [[TFW (World File) Format]]&lt;br /&gt;
* [[Drawing an on-screen ornament]]&lt;br /&gt;
* [[Loading GPS data]]&lt;br /&gt;
* [[Shortcut Keys 1-pager]]&lt;br /&gt;
* [[Sample data]] &lt;br /&gt;
* [[OpenJump with Wallpaper :-O]] &lt;br /&gt;
* [[Portable OpenJump]] &lt;br /&gt;
* What is GIS? - GIS Basics by the \OpenContent &amp;quot;GITTA elearning project&amp;quot;:http://www.gitta.info/website/en/html/index.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
h2()=[no]. B - Documentation for developers !http://static.flickr.com/39/110072620_882b70fee7.jpg?v=0!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Jump Developers Guide&amp;quot;:http://www.vividsolutions.com/jump/bin/JUMP%20Developer%20Guide.pdf !http://static.flickr.com/24/99217499_2d71c8c43a_o.png!&lt;br /&gt;
* [[Devel FAQ]]&lt;br /&gt;
* *Basics*&lt;br /&gt;
** [[How to run OpenJUMP in Eclipse]]&lt;br /&gt;
** [[How to make your own OpenJUMP built]]&lt;br /&gt;
** &amp;quot;OpenJUMP javadoc&amp;quot;:http://jump-pilot.sourceforge.net/javadoc/openjump_javadoc/ , &amp;quot;JTS javadoc&amp;quot;:http://tsusiatsoftware.net/jts/javadoc/index.html&lt;br /&gt;
** [[OpenJUMP programming Guideline]]&lt;br /&gt;
* *Making Your Own Plugins*&lt;br /&gt;
** [[The difference of PlugIn and Extension and Registry]]&lt;br /&gt;
** [[How to use and make own Plugins]]&lt;br /&gt;
** Example \PlugIns:&lt;br /&gt;
*** [[How to display customer xyz data from a file]]&lt;br /&gt;
*** [[Example Plugin For Buffering Features in a Layer]]&lt;br /&gt;
** [[How to use i18n Internationalization]]&lt;br /&gt;
** [[Implementing Undo]]&lt;br /&gt;
** [[Adding A Toolbar Button]]&lt;br /&gt;
** [[Implementing cursortools]]&lt;br /&gt;
** [[Converting a CursorTool to a PlugIn]]&lt;br /&gt;
** [[Extending a FeatureCollection by Adding new Attributes]]&lt;br /&gt;
* [[Tips and Tricks around the Java Topology Suite]]&lt;br /&gt;
* [[Notes On OpenJUMP&amp;#039;s Rendering System]]&lt;br /&gt;
* [[Notes on TaskFrames]]&lt;br /&gt;
* [[Notes on the Display of AttributeTables]]&lt;br /&gt;
* [[Using JUMP Libraries in an External Application]].&lt;br /&gt;
* Adding support for new data formats:&lt;br /&gt;
** [[How to write a new driver]] (Spring 2007)&lt;br /&gt;
** [[HOWTO Create an Open Wizard]] (Since \OpenJUMP Version 1.2)&lt;br /&gt;
** Some additional notes on adding support for a new file format: [[File DataSource Notes]]&lt;br /&gt;
** [[Working with GML]]&lt;br /&gt;
* *Other*&lt;br /&gt;
**  &amp;quot;How to Translate \OpenJUMP into another language&amp;quot;:http://openjump.org/wiki/show/How+to+translate+in+a+new+language&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
h2()=[no]. C - Projects where \OpenJUMP can give its contribution &lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;OSGeo Cartographic Library&amp;quot;:http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library#Interested_people&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[GIS Terminology]]&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=73</id>
		<title>Developing with OpenJUMP</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=73"/>
		<updated>2009-09-24T18:33:01Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[How to get OpenJUMP source code]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* &amp;quot;Developer Mailing List&amp;quot;:https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel&lt;br /&gt;
* &amp;quot;Bug Tracker&amp;quot;:https://sourceforge.net/tracker/?group_id=118054&lt;br /&gt;
* &amp;quot;SVN&amp;quot;:  http://sourceforge.net/svn/?group_id=118054 !http://static.flickr.com/40/116458104_c6bc7d63ce.jpg?v=0!&lt;br /&gt;
* [[Internationalization]]&lt;br /&gt;
* [[How to translate OpenJUMP into another language]]&lt;br /&gt;
* [[Notes on Speed Improvements on Rendering]]&lt;br /&gt;
&lt;br /&gt;
* [[JTin Google Summer of Code 2008]]&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=72</id>
		<title>Developing with OpenJUMP</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=72"/>
		<updated>2009-09-24T18:20:10Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [https://sourceforge.net/apps/mediawiki/jump-pilot/How+to+get+OpenJUMP+source+code.html How to get OpenJUMP source code]&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/Documentation.html Documentation]&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel Developer Mailing List]&lt;br /&gt;
* [https://sourceforge.net/tracker/?group_id=118054 Bug Tracker]&lt;br /&gt;
* “SVN”: http://sourceforge.net/svn/?group_id=118054 [[Image:116458104_c6bc7d63ce.jpg]]&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/Internationalization.html Internationalization]&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/How+to+translate+OpenJUMP+into+another+language.html How to translate OpenJUMP into another language]&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/Notes+on+Speed+Improvements+on+Rendering.html Notes on Speed Improvements on Rendering]&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/JTin+Google+Summer+of+Code+2008.html JTin Google Summer of Code 2008]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;byline&amp;quot;&amp;gt; Revised on September 14, 2009 18:51:14 by &amp;lt;span class=&amp;quot;newWikiWord&amp;quot;&amp;gt;angela12jones@yahoo.com&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
	<entry>
		<id>https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=71</id>
		<title>Developing with OpenJUMP</title>
		<link rel="alternate" type="text/html" href="https://ojwiki.soldin.de/index.php?title=Developing_with_OpenJUMP&amp;diff=71"/>
		<updated>2009-09-24T18:18:45Z</updated>

		<summary type="html">&lt;p&gt;Beckerl: Created page with &amp;#039;* [https://sourceforge.net/apps/mediawiki/jump-pilot/How+to+get+OpenJUMP+source+code.html How to get OpenJUMP source code] * [https://sourceforge.net/apps/mediawiki/jump-pilot/Do…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [https://sourceforge.net/apps/mediawiki/jump-pilot/How+to+get+OpenJUMP+source+code.html How to get OpenJUMP source code]&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/Documentation.html Documentation]&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel Developer Mailing List]&lt;br /&gt;
* [https://sourceforge.net/tracker/?group_id=118054 Bug Tracker]&lt;br /&gt;
* “SVN”: http://sourceforge.net/svn/?group_id=118054 [[Image:116458104_c6bc7d63ce.jpg]]&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/Internationalization.html Internationalization]&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/How+to+translate+OpenJUMP+into+another+language.html How to translate OpenJUMP into another language]&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/Notes+on+Speed+Improvements+on+Rendering.html Notes on Speed Improvements on Rendering]&lt;br /&gt;
* [http://www.essayontime.com | Essay]&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/apps/mediawiki/jump-pilot/JTin+Google+Summer+of+Code+2008.html JTin Google Summer of Code 2008]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;byline&amp;quot;&amp;gt; Revised on September 14, 2009 18:51:14 by &amp;lt;span class=&amp;quot;newWikiWord&amp;quot;&amp;gt;angela12jones@yahoo.com&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Beckerl</name></author>
	</entry>
</feed>