<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>OpenJUMP</title>
		<link>http://openjump.org:8739/wiki/show/HomePage</link>
		<description>An Instiki wiki</description>
		<language>en-us</language>
		<ttl>40</ttl>
  
		<item>
      <title>Notes on TaskFrames</title>
    
      <description>&lt;p&gt;I&amp;#8217;m creating this wiki page as a place holder for some notes on TaskFrame objects. A TaskFrame is a JInternalFrame that is used to display the LayerNamePanel and LayerViewPanel to the user within the WorkbenchFrame.&lt;/p&gt;


	&lt;p&gt;For the time being this page just has some notes on the methods used to add and close TaskFrames. I hope to add more material as I become more familiar with the TaskFrame class and how it interacts with the rest of the OpenJUMP Core.&lt;/p&gt;


	&lt;p&gt;The Sunburned Surveyor&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;WorkbenchFrame.closeTaskFrame&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Private method warns the user if there are layers with the task that have unmodified features. It also asks the user if they want to close other JInternalFrames that are open in the Workbench &lt;span class=&quot;caps&quot;&gt;AND&lt;/span&gt; associated with the TaskFrame that is being closed. Calls the confirmClose methods defined in the WorkbenchFrame class. I think this method is currently the place where the closing of a task frame begins. (This is probably the method that is called when the user clicks on the close button of a TaskFrame. Should it be called by the TaskFrame class by triggering a callto the InternalFrameAdapter class associated with each TaskFrame?)&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;WorkbenchFrame.addInternalFrame&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;public method that allows a JInternalFrame to be added to the WorkbenchFrame. If the JInternalFrame being added is a LayerManagerProxy, as a TaskFrame is, then the WorkbenchFrame.setClosingBehavior method is called.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Workbench.addTaskFrame(Task argTask)&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Uses a TaskFrameFactory to create a TaskFrame if a TaskFrameFactory exists. If a TaskFrameFactory does not exist, one of the TaskFrame constructors is called directly. The WorkBenchFrame.addTaskFrame(TaskFrame argTaskFrame) method is called.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Workbench.addTaskFrame(TaskFrame argFrame)&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Calls the add internalFrame method.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Workbench.setClosingBehavior(LayerManagerProxy argProxy)&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Adds an InternalFrameCloseHandler to the TaskFrame being added to the WorkbenchFrame. This is an internal class. The internal class is an InternalFrameAdapter that simply calls the InternalFrameCloseHandler.close method. The InternalFrameCloseHandler class whose clsoe method is called by the InternalFrameAdapter is whatever InternalFrameCloseHandler is set with the workbenchFrame.setInternalFrameCloseHandler method.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Proposed Changes For Customizable TaskFrames&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;When questioning the purpose of the TaskFrame.setTask method I disovered that Paul Austin had enabled a system to allow for customized extensions of the TaskFrame class. Paul did this in an effort to test the InfoNode docking framework in OpenJUMP.&lt;/p&gt;


	&lt;p&gt;I am proposing some changes to the system that Paul implemented. It will eliminate the use of the setTask method, which I think could produce some bugs, and will allow TaskFrame extensions to be added via a plug-in.&lt;/p&gt;


	&lt;p&gt;Here is how it would work.&lt;/p&gt;


	&lt;p&gt;The Workbench.addTask method will be modified to accept a String identifying the TaskFrame type in addition to the Task beind displayed in the TaskFrame.&lt;/p&gt;


	&lt;p&gt;The Workbench.addTask method will create a TaskFrameFactory (a new class that extends org.openjump.swing.ComponentFactory) and will use it to create the type of TaskFrame identified by the String argument passed to the addTask method. It obtains the new TaskFrame by using the TaskFrameFactory.createComponent method.&lt;/p&gt;


	&lt;p&gt;The TaskFrameFactory method obtains a list of TaskFrame extensions from the Registry. It then loads the appropriate class based on the String argument passed to the addTask method and creates and instance from it. This is returned and added to the WorkbenchFrame.&lt;/p&gt;


	&lt;p&gt;A programmer can add support for a custom task by creating a plug-in that adds the TaskFrame extension class name to the Registry during initialization. This will make it available to the TaskFrameFactory.&lt;/p&gt;


	&lt;p&gt;All custom TaskFrame&amp;#8217;s will need to extend the TaskFrame class and implement the constructor that accepts a Task and a WorkbenchContext as its only arguments.&lt;/p&gt;


	&lt;p&gt;I am close to having this system implemented, and I will begin testing it soon.&lt;/p&gt;</description>
    
      <pubDate>Thu, 03 Jul 2008 00:02:17 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Notes+on+TaskFrames</guid>
      <link>http://openjump.org:8739/wiki/show/Notes+on+TaskFrames</link>
      <dc:creator>The Sunburned Surveyor</dc:creator>
    </item>
  
		<item>
      <title>Documentation</title>
    
      <description>&lt;p&gt;This page gives access to documentation for users and  developers (scroll down).&lt;/p&gt;


&lt;hr /&gt;

	&lt;h2 style=&quot;padding-left:1em;padding-right:1em;text-align:center;&quot; lang=&quot;no&quot;&gt;A &amp;#8211; Documentation for users &lt;img src=&quot;http://static.flickr.com/39/110072620_882b70fee7.jpg?v=0&quot; alt=&quot;&quot; /&gt;&lt;/h2&gt;


&lt;hr /&gt;

	&lt;h3 style=&quot;color:black;padding-left:1em;padding-right:1em;text-align:center;&quot; lang=&quot;no&quot;&gt;On-Line&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/31/99200779_79abbaccb5_o.png&quot; alt=&quot;&quot; /&gt;  &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/FAQ&quot;&gt;FAQ&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/book_open.png&quot; alt=&quot;&quot; /&gt; OpenJUMP 1.2F New &lt;a href=&quot;http://openjump.org/wiki/show/Index&quot;&gt;User Guide&lt;/a&gt; (ongoing documentation) &amp;#8211; English&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/book_open.png&quot; alt=&quot;&quot; /&gt; OpenJUMP 1.2F &lt;a href=&quot;http://openjump.org/wiki/show/OpenJUMP+List+of+Functions&quot;&gt;List of Functions&lt;/a&gt; &amp;#8211; English&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/book_open.png&quot; alt=&quot;&quot; /&gt; OpenJUMP 1.0.1 Basics &lt;a href=&quot;http://de.giswiki.net/wiki/OpenJUMP_Tutorial&quot;&gt;Tutorial&lt;/a&gt; by Uwe Dalluege &amp;#8211; German&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3 style=&quot;color:black;padding-left:1em;padding-right:1em;text-align:center;&quot; lang=&quot;no&quot;&gt;Download (PDF)&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://sourceforge.net/project/downloading.php?group_id=118054&amp;#38;use_mirror=garr&amp;#38;filename=OpenJUMP12_German_Tutorial_sz.pdf&amp;#38;72973093&quot;&gt;OpenJUMP 1.2F Tutorial&lt;/a&gt; by Uwe Dalluege &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/de.gif&quot; alt=&quot;&quot; /&gt; (in German!)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;OpenJUMP 1.0.1 Basics Tutorial by Uwe Dalluege:  
	&lt;ul&gt;
	&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;https://sourceforge.net/project/showfiles.php?group_id=118054&quot;&gt;English Beta&lt;/a&gt; (still german images inside)&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/de.gif&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;https://sourceforge.net/project/showfiles.php?group_id=118054&quot;&gt;German Version&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/fr.gif&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;https://sourceforge.net/project/showfiles.php?group_id=118054&quot;&gt;French Version&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://sourceforge.net/project/showfiles.php?group_id=118054&quot;&gt;german sample data&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Uwe has also written a german &lt;img src=&quot;http://static.flickr.com/24/99192265_912fc9665e_o.gif&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;http://openjump.org/PostGIS_Tutorial.pdf&quot;&gt;PostGIS Tutorial&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;Original &lt;span class=&quot;caps&quot;&gt;VIVID &lt;/span&gt;Solutions &lt;span class=&quot;caps&quot;&gt;JUMP &lt;/span&gt;User Guide 
	&lt;ul&gt;
	&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;http://www.vividsolutions.com/jump/bin/JUMP%20User%20Guide.pdf&quot;&gt;English&lt;/a&gt; &lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/es.gif&quot; alt=&quot;&quot; /&gt;  &lt;a href=&quot;http://jump-pilot.svn.sourceforge.net/viewvc/*checkout*/jump-pilot/core/trunk/docs/manuals-es/JUMP-Doc-es-GuiaUsuario.pdf&quot;&gt;Spanish&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;JUMP 1&lt;/span&gt;.1 / OpenJUMP Tutorials in other languages: 
	&lt;ul&gt;
	&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/32/99192264_28e14852b0_o.gif&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;http://www.archive.org/download/OpenJUMP_Users_Guid_pt_br/ManualOpenJUMP.pdf&quot;&gt;Portuguese User Guide&lt;/a&gt; by Flavia Coelho Couto João Batista Brito and Ezequias Rodrigues da Rocha&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/32/99192264_28e14852b0_o.gif&quot; alt=&quot;&quot; /&gt;  &lt;a href=&quot;http://www.archive.org/download/OpenJUMP_presentation_ppt_pt_br/PalestraLACFee2005OpenJUMP.ppt&quot;&gt;Presentation&lt;/a&gt;, by Ezequias R. da Rocha&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/47/116386051_725a6b5470.jpg?v=0&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;http://geomatica.como.polimi.it/corsi/sw_gis/OpenJUMP-CAN-CC.pdf&quot;&gt;Italian User Guide&lt;/a&gt;  by Diego Magni&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/jp.gif&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;http://www.google.com/url?sa=t&amp;#38;ct=res&amp;#38;cd=1&amp;#38;url=http%3A%2F%2Fgiswin.geo.tsukuba.ac.jp%2Fteacher%2Fmurayama%2Ffieldgis_station%2Fmanual%2Fmanual.pdf&amp;#38;ei=yVnhR57wGpb4nQOM4OmjCA&amp;#38;usg=AFQjCNEhFckYIYd9Vowo7mpsk4_8TaywcQ&amp;#38;sig2=-lP0jfD3iRp_k1Z4-u3I9Q&quot;&gt;User Guide for Field Work &lt;span class=&quot;caps&quot;&gt;GIS &lt;/span&gt;Station powered by OpenJUMP in Japanese&lt;/a&gt;  by Yuji Murayama, Hisaji Ono&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/gb.gif&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;http://www.projet-sigle.org/IMG/pdf/OpenJUMP_workshop.pdf&quot;&gt; OpenJump Workshop for Foss4G 2006&lt;/a&gt;&amp;#8221; by Erwan Brocher &amp;#8211; OpenJUMP Sigle (&lt;a href=&quot;http://www.projet-sigle.org/spip.php?article7&quot;&gt;here&lt;/a&gt; you can find other documentations of the same author in French)&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.vividsolutions.com/jump/doc.htm&quot;&gt;Other original &lt;span class=&quot;caps&quot;&gt;JUMP&lt;/span&gt; documentation&lt;/a&gt;  (a wee bit old) &lt;img src=&quot;http://static.flickr.com/30/99196199_5d9b12aca7_o.gif&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3 style=&quot;color:black;padding-left:1em;padding-right:1em;text-align:center;&quot; lang=&quot;no&quot;&gt;Other on-line documentation&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Plugins&quot;&gt;Plugins&lt;/a&gt; &amp;#8211; PlugIn&amp;#8217;s by others &amp;#8211; will probably not integrated into OpenJump&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Experiences+developing+OpenJUMP&quot;&gt;Experiences developing OpenJUMP&lt;/a&gt; &amp;#8211; A paper prepared for the &lt;span class=&quot;caps&quot;&gt;MILES&lt;/span&gt; project (Managing Information for Local Environment in Sri Lanka)&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Scripting+with+BeanShell&quot;&gt;Scripting with BeanShell&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Tips&quot;&gt;Tips&lt;/a&gt; &lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/OpenJump+Configuration&quot;&gt;OpenJump Configuration&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Printing+in+high-resolution&quot;&gt;Printing in high-resolution&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://www.ourmedia.org/node/51191&quot;&gt;Video&lt;/a&gt; by Ezequias Rodrigues da Rocha, showing the menus. (We need more videos!)&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Videos+of+OpenJUMP+as+used+in+Brazil&quot;&gt;Videos of OpenJUMP as used in Brazil&lt;/a&gt; &lt;img src=&quot;http://static.flickr.com/44/140266054_7cf56bdb82_o.gif&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/TFW+%28World+File%29+Format&quot;&gt;TFW (World File) Format&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Drawing+an+on-screen+ornament&quot;&gt;Drawing an on-screen ornament&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Loading+GPS+data&quot;&gt;Loading GPS data&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Shortcut+Keys+1-pager&quot;&gt;Shortcut Keys 1-pager&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Sample+data&quot;&gt;Sample data&lt;/a&gt; &lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/OpenJump+with+Wallpaper+%3A-O&quot;&gt;OpenJump with Wallpaper :-O&lt;/a&gt; &lt;/li&gt;
		&lt;li&gt;What is &lt;span class=&quot;caps&quot;&gt;GIS&lt;/span&gt;? &amp;#8211; &lt;span class=&quot;caps&quot;&gt;GIS &lt;/span&gt;Basics by the OpenContent &lt;a href=&quot;http://www.gitta.info/website/en/html/index.html&quot;&gt;GITTA elearning project&lt;/a&gt;&lt;br /&gt;&lt;hr/&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h2 style=&quot;padding-left:1em;padding-right:1em;text-align:center;&quot; lang=&quot;no&quot;&gt;B &amp;#8211; Documentation for developers &lt;img src=&quot;http://static.flickr.com/39/110072620_882b70fee7.jpg?v=0&quot; alt=&quot;&quot; /&gt;&lt;/h2&gt;


&lt;hr /&gt;

	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.vividsolutions.com/jump/bin/JUMP%20Developer%20Guide.pdf&quot;&gt;Jump Developers Guide&lt;/a&gt; &lt;img src=&quot;http://static.flickr.com/24/99217499_2d71c8c43a_o.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Devel+FAQ&quot;&gt;Devel FAQ&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Basics&lt;/strong&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/How+to+run+OpenJUMP+in+Eclipse&quot;&gt;How to run OpenJUMP in Eclipse&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/How+to+make+your+own+OpenJUMP+built&quot;&gt;How to make your own OpenJUMP built&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://jump-pilot.sourceforge.net/javadoc/openjump_javadoc/&quot;&gt;OpenJUMP javadoc&lt;/a&gt; , &lt;a href=&quot;http://tsusiatsoftware.net/jts/javadoc/index.html&quot;&gt;JTS javadoc&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Making Your Own Plugins&lt;/strong&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/What+are+PlugIn%2C+Extension+and+Registry+%3F&quot;&gt;What are PlugIn, Extension and Registry ?&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/How+to+use+and+make+own+Plugins&quot;&gt;How to use and make own Plugins&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Example PlugIns:
	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/How+to+display+customer+xyz+data+from+a+file&quot;&gt;How to display customer xyz data from a file&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Example+Plugin+For+Buffering+Features+in+a+Layer&quot;&gt;Example Plugin For Buffering Features in a Layer&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/How+to+use+i18n+Internationalization&quot;&gt;How to use i18n Internationalization&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Implementing+Undo&quot;&gt;Implementing Undo&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Adding+A+Toolbar+Button&quot;&gt;Adding A Toolbar Button&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Implementing+cursortools&quot;&gt;Implementing cursortools&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Converting+a+CursorTool+to+a+PlugIn&quot;&gt;Converting a CursorTool to a PlugIn&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Tips+and+Tricks+around+the+Java+Topology+Suite&quot;&gt;Tips and Tricks around the Java Topology Suite&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Notes+On+OpenJUMP%27s+Rendering+System&quot;&gt;Notes On OpenJUMP's Rendering System&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Notes+on+TaskFrames&quot;&gt;Notes on TaskFrames&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Adding support for new data formats:
	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/How+to+write+a+new+driver&quot;&gt;How to write a new driver&lt;/a&gt; (Spring 2007)&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/HOWTO+Create+an+Open+Wizard&quot;&gt;HOWTO Create an Open Wizard&lt;/a&gt; (Since OpenJUMP Version 1.2)&lt;/li&gt;
		&lt;li&gt;Some additional notes on adding support for a new file format: &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/File+DataSource+Notes&quot;&gt;File DataSource Notes&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Working+with+GML&quot;&gt;Working with GML&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;/ul&gt;


&lt;hr/&gt;

	&lt;h2 style=&quot;padding-left:1em;padding-right:1em;text-align:center;&quot; lang=&quot;no&quot;&gt;C &amp;#8211; Projects where OpenJUMP can give its contribution&lt;/h2&gt;


&lt;hr /&gt;

	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://wiki.osgeo.org/wiki/OSGeo_Cartographic_Library#Interested_people&quot;&gt;OSGeo Cartographic Library&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


&lt;hr /&gt;

	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/GIS+Terminology&quot;&gt;GIS Terminology&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;</description>
    
      <pubDate>Tue, 01 Jul 2008 20:06:19 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Documentation</guid>
      <link>http://openjump.org:8739/wiki/show/Documentation</link>
      <dc:creator>The Sunburned Surveyor</dc:creator>
    </item>
  
		<item>
      <title>HomePage</title>
    
      <description>&lt;hr/&gt; 

	&lt;table style=&quot;border:0px solid black;&quot;&gt;
		&lt;tr&gt;
			&lt;td style=&quot;background:#ddd;&quot;&gt;&lt;center&gt; &lt;h2&gt; &lt;span style=&quot;color:black;&quot;&gt;OpenJUMP &amp;#8211; The free, Java based and open source Geographic Information System for the World.&lt;/span&gt; &lt;/center&gt; &lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;




&lt;hr/&gt; 

	&lt;p style=&quot;text-align:center;&quot;&gt; &lt;a href=&quot;http://openjump.org/wiki/show/Screenshots&quot;&gt;&lt;img src=&quot;http://static.flickr.com/50/114231354_7b5aa910b2.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;hr/&gt; 

&lt;strong&gt;WIKI &lt;span class=&quot;caps&quot;&gt;CONTENT&lt;/span&gt;&lt;/strong&gt; 
	&lt;ul&gt;
	&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/31/99200779_79abbaccb5_o.png&quot; alt=&quot;&quot; /&gt;   What is &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/OpenJUMP&quot;&gt;OpenJUMP&lt;/a&gt;? and &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/OpenJUMPs+Family&quot;&gt;OpenJUMPs Family&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/27/99203844_b51e01a9fa_o.png&quot; alt=&quot;&quot; /&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Screenshots&quot;&gt;Screenshots&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/25/99200780_de2d889a6b_o.png&quot; alt=&quot;&quot; /&gt; Download a &lt;a href=&quot;http://sourceforge.net/projects/jump-pilot/&quot;&gt;stable version&lt;/a&gt;  (win32 installer or platform independent)&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/25/99200780_de2d889a6b_o.png&quot; alt=&quot;&quot; /&gt; Download &lt;a href=&quot;http://jump-pilot.sourceforge.net/download/nightlybuild/&quot;&gt;nightly snapshot&lt;/a&gt; (for &lt;span class=&quot;caps&quot;&gt;JRE 1&lt;/span&gt;.5 &amp;#8211; list of &lt;a href=&quot;http://jump-pilot.svn.sourceforge.net/viewvc/jump-pilot/core/trunk/ChangeLog?view=markup&quot;&gt;changes&lt;/a&gt;) &lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/31/99200779_79abbaccb5_o.png&quot; alt=&quot;&quot; /&gt;  &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Installation+Instructions&quot;&gt;Installation Instructions&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/book.png&quot; alt=&quot;&quot; /&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Documentation&quot;&gt;Documentation&lt;/a&gt; (please contribute!)&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/45/119809805_568b3f4d22.jpg?&quot; alt=&quot;&quot; /&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Plugins&quot;&gt;Plugins&lt;/a&gt; and &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Installing+PlugIns&quot;&gt;Installing PlugIns&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/31/99200779_79abbaccb5_o.png&quot; alt=&quot;&quot; /&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/FAQ&quot;&gt;FAQ&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/help.png&quot; alt=&quot;&quot; /&gt; Reporting problems and asking questions on &lt;a href=&quot;https://sourceforge.net/forum/forum.php?forum_id=729478&quot;&gt;OpenJUMP Installation&lt;/a&gt;, on &lt;a href=&quot;https://sourceforge.net/forum/forum.php?forum_id=729479&quot;&gt;OpenJUMP Functions&lt;/a&gt; or &lt;a href=&quot;https://sourceforge.net/forum/forum.php?forum_id=729480&quot;&gt;PlugIns&lt;/a&gt;  &lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/41/99200778_9eadc77bc2_o.png&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;http://groups.google.com/group/openjump-users&quot;&gt;User Mailing List&lt;/a&gt; (our beloved users &amp;#8211; a friendly bunch)&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/emoticon_smile.png&quot; alt=&quot;&quot; /&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Testimonials&quot;&gt;Testimonials&lt;/a&gt;, &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/page_copy.png&quot; alt=&quot;&quot; /&gt; Research-&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Papers&quot;&gt;Papers&lt;/a&gt; and &lt;img src=&quot;http://static.flickr.com/42/99198365_87222a650e_o.png&quot; alt=&quot;&quot; /&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/User+World-Map&quot;&gt;User World-Map&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/wrench.png&quot; alt=&quot;&quot; /&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Future+Developments&quot;&gt;Future Developments&lt;/a&gt; of OpenJUMP and &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/group.png&quot; alt=&quot;&quot; /&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Contributors&quot;&gt;Contributors&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/email.png&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;mailto:The.JPP.Mailbox@gmail.com&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/find.png&quot; alt=&quot;&quot; /&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Professional+Support&quot;&gt;Professional Support&lt;/a&gt; and &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/paste_plain.png&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;http://findanopenjumpdeveloper.ning.com/&quot;&gt;Job Board&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


&lt;hr/&gt;

	&lt;p&gt;&lt;strong&gt;NEWS&lt;/strong&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/note.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;[30th June 2008] Team member of the Month: This month  we like to acknowledge &lt;strong&gt;Paul Austin&amp;#8217;s&lt;/strong&gt; work on OpenJUMP. Paul has his own comapny and contributed for instance the new Load Dataset/File framework and the file drag &amp;#38; drop function. We thank You!&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;[15th June 2008]  Larry Becker Added &amp;#8220;Get buffer distance from attribute&amp;#8221; option to Buffer Tool on OpenJUMP &lt;a href=&quot;http://jump-pilot.sourceforge.net/download/nightlybuild/&quot;&gt;nightly snapshot&lt;/a&gt;.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;[20th May 2008] Andreas Schmidt improved capability of OpenJUMP &lt;a href=&quot;http://jump-pilot.sourceforge.net/download/nightlybuild&quot;&gt;nightly snapshot&lt;/a&gt; to import/export &lt;span class=&quot;caps&quot;&gt;SLD&lt;/span&gt;. OpenJUMP can export (and import) layer styles to other &lt;span class=&quot;caps&quot;&gt;GIS&lt;/span&gt; softwares (uDig, Kosmo,..) and to &lt;span class=&quot;caps&quot;&gt;WMS&lt;/span&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;[3rd Feb 2008] OpenJUMP user list moved from &lt;a href=&quot;mailto:jump-users@jump-project.org&quot;&gt;jump-users@jump-project.org&lt;/a&gt; to  &lt;a href=&quot;mailto:openjump-users@googlegroups.com&quot;&gt;openjump-users@googlegroups.com&lt;/a&gt;. Users can  subscribe here:&lt;br /&gt;&lt;a href=&quot;http://groups.google.com/group/openjump-users&quot;&gt;http://groups.google.com/group/openjump-users&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;[13th Jul 2007] New help documentation: &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/OpenJUMP+List+of+Functions&quot;&gt;OpenJUMP List of Functions&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;[24th Apr 2007] we just discovered the project &lt;a href=&quot;http://www.flaechennutzung.nrw.de/fnvnrw3/main.php?STYLE=MUNLV_style.css&amp;#38;FRAMESET=LERNMATERIALIEN&amp;#38;WINWIDTH=796&amp;#38;LERNMATERIAL=6&quot;&gt;Jump4Schools&lt;/a&gt;
 &amp;#8211; unfortunately the webpage is in german, but the person may also speak English if you have questions. ...and of course; we wish good luck with the project!&lt;/li&gt;
	&lt;/ul&gt;


&lt;hr/&gt; 

	&lt;p&gt;&lt;strong&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Developer+Section&quot;&gt;Developer Section&lt;/a&gt;&lt;/strong&gt;&lt;img src=&quot;http://static.flickr.com/39/99207431_4d7b2a4dc0_o.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Project+Administration+Section&quot;&gt;Project Administration Section&lt;/a&gt;&lt;/strong&gt;&lt;img src=&quot;http://static.flickr.com/30/99206719_76f8ce2db6_o.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;hr/&gt;

&lt;strong&gt;We are looking for volunteers&lt;/strong&gt; &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/zoom.png&quot; alt=&quot;&quot; /&gt;
	&lt;ul&gt;
	&lt;li&gt;We need You as developer helping to improve OpenJUMP &lt;/li&gt;
		&lt;li&gt;We need You to help in webpage support and writing and updating user manuals.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;strong&gt;If you are interested subscribe to &lt;a href=&quot;http://sourceforge.net/mail/?group_id=118054&quot;&gt;JPP-Devel&lt;/a&gt; email list first and post to that list.&lt;/strong&gt;&lt;/p&gt;


&lt;hr /&gt;

	&lt;p&gt;&lt;strong&gt;Related Sites &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/world_link.png&quot; alt=&quot;&quot; /&gt; and &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Blogs&quot;&gt;Blogs&lt;/a&gt;&lt;/strong&gt; &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/icons/user_comment.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://jump-project.org/&quot;&gt;http://jump-project.org/&lt;/a&gt; &amp;#8211; Website for the original version of &lt;span class=&quot;caps&quot;&gt;JUMP GIS&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://www.vividsolutions.com/jump/&quot;&gt;http://www.vividsolutions.com/jump/&lt;/a&gt;
 &amp;#8211; Vivid Solutions, the company that created the original version of &lt;span class=&quot;caps&quot;&gt;JUMP &lt;/span&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/ca.gif&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://sourceforge.net/projects/jump-pilot&quot;&gt;http://sourceforge.net/projects/jump-pilot&lt;/a&gt; &amp;#8211; Sourceforge website for infos about OpenJUMP development (bugs, feature requests and team)&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://jump-pilot.sourceforge.net/&quot;&gt;http://jump-pilot.sourceforge.net/&lt;/a&gt; &amp;#8211; website of the Jump Pilot Project&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://www.projet-sigle.org/&quot;&gt;http://www.projet-sigle.org/&lt;/a&gt; &amp;#8211; OpenJUMP in French &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/fr.gif&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://geo.michaelm.free.fr/&quot;&gt;http://geo.michaelm.free.fr/&lt;/a&gt; &amp;#8211; Another site with OpenJUMP resources in french &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/fr.gif&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://lat-lon.de/latlon/portal/media-type/html/language/en/user/anon/page/default.psml/js_pane/produkte%2Csub_produkte_deeJUMP&quot;&gt;deeJUMP&lt;/a&gt; &amp;#8211; Version with better support for &lt;span class=&quot;caps&quot;&gt;OGC&lt;/span&gt; standards (and projection support); for download also &lt;a href=&quot;https://wiki.deegree.org/deegreeWiki/deeJUMP&quot;&gt;here&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://www.skyjumpgis.org&quot;&gt;SkyJUMP&lt;/a&gt; by Larry and Bob has some other nice features, focusing on &lt;span class=&quot;caps&quot;&gt;CAD&lt;/span&gt; like editing ;) &lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://www.saig.es&quot;&gt;Kosmo&lt;/a&gt; Corporate Open &lt;span class=&quot;caps&quot;&gt;GIS &lt;/span&gt;Platform (Spanish) &lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages//wikisymbolsandflags/flags/gif/es.gif&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
		&lt;li&gt;What is &lt;span class=&quot;caps&quot;&gt;GIS&lt;/span&gt;? &amp;#8211; &lt;span class=&quot;caps&quot;&gt;GIS &lt;/span&gt;Basics by the OpenContent &lt;a href=&quot;http://www.gitta.info/website/en/html/index.html&quot;&gt;GITTA e-learning project&lt;/a&gt; &lt;/li&gt;
		&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;BTW&lt;/span&gt;: Our lovely icons are from: &lt;a href=&quot;http://www.famfamfam.com/&quot;&gt;http://www.famfamfam.com/&lt;/a&gt; ..thank you James :-)&lt;/li&gt;
	&lt;/ul&gt;


&lt;hr /&gt;

	&lt;ul&gt;
	&lt;li&gt;&lt;img src=&quot;http://static.flickr.com/31/99200779_79abbaccb5_o.png&quot; alt=&quot;&quot; /&gt;  &lt;a href=&quot;OSX&quot;&gt;OpenJump on &lt;span class=&quot;caps&quot;&gt;OSX&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;</description>
    
      <pubDate>Mon, 30 Jun 2008 22:21:17 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/HomePage</guid>
      <link>http://openjump.org:8739/wiki/show/HomePage</link>
      <dc:creator>sstein</dc:creator>
    </item>
  
		<item>
      <title>Index</title>
    
      <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;back to&lt;/strong&gt;&lt;/em&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Documentation&quot;&gt;Documentation&lt;/a&gt; page&lt;/p&gt;


&lt;hr /&gt;

	&lt;h1 style=&quot;color:orange;padding-left:1em;padding-right:1em;text-align:center;&quot; lang=&quot;no&quot;&gt;NEW &lt;span class=&quot;caps&quot;&gt;USER GUIDE&lt;/span&gt;&lt;/h1&gt;


	&lt;p&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages/new%20user%20guide/OpenJUMP%201.3%20Beta/screenshot.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


&lt;hr /&gt;

	&lt;h3&gt; Getting Started&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Introduction&quot;&gt;Introduction&lt;/a&gt;  &lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Java+Setup&quot;&gt;Java Setup&lt;/a&gt;  &lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Installation&quot;&gt;Installation&lt;/a&gt;  &lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Configure+Start+Up+Options&quot;&gt;Configure Start Up Options&lt;/a&gt;  &lt;/li&gt;
		&lt;li&gt;Configure &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Languages&quot;&gt;Languages&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Starting+OpenJUMP&quot;&gt;Starting OpenJUMP&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/OpenJUMP+GUI&quot;&gt;OpenJUMP GUI&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://openjump.org/wiki/show/OpenJUMP+List+of+Functions&quot;&gt;List of Functions&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3&gt;Working with Projects&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Project&quot;&gt;Project&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Navigate+throught+a+Project&quot;&gt;Navigate throught a Project&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3&gt;Working with Vector files&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Data+Input-Output&quot;&gt;Data Input-Output&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/View+Edit+Schema&quot;&gt;View Edit Schema&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/View+Edit+Attributes&quot;&gt;View Edit Attributes&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Warp&quot;&gt;Warp&lt;/a&gt; &lt;span style=&quot;color:red;&quot;&gt;°&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Change+Style&quot;&gt;Change Style&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;span class=&quot;newWikiWord&quot;&gt;Advanced Symbology&lt;a href=&quot;../show/Advanced+Symbology&quot;&gt;?&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;°&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Import-Export+Layer+Style&quot;&gt;Import-Export Layer Style&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3&gt;Working With Features&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Selecting+Features&quot;&gt;Selecting Features&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Drawing+features&quot;&gt;Drawing features&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Editing+Toolbox&quot;&gt;Editing Toolbox&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Other+Tools&quot;&gt;Other Tools&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Working+with+Raster&quot;&gt;Working with Raster&lt;/a&gt; files&lt;/h3&gt;


	&lt;h3&gt; &lt;span class=&quot;newWikiWord&quot;&gt;Working with WMS/WFS&lt;a href=&quot;../show/Working+with+WMS%2FWFS&quot;&gt;?&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;°&lt;/span&gt;&lt;/h3&gt;


	&lt;h3&gt; &lt;span class=&quot;newWikiWord&quot;&gt;Working with Databases&lt;a href=&quot;../show/Working+with+Databases&quot;&gt;?&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;°&lt;/span&gt;&lt;/h3&gt;


	&lt;h3&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Working+with+Projections&quot;&gt;Working with Projections&lt;/a&gt;&lt;/h3&gt;


	&lt;h3&gt; &lt;span class=&quot;newWikiWord&quot;&gt;Analysis Tools&lt;a href=&quot;../show/Analysis+Tools&quot;&gt;?&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color:red;&quot;&gt;°&lt;/span&gt;&lt;/h3&gt;


	&lt;h3&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Printing&quot;&gt;Printing&lt;/a&gt; &lt;span style=&quot;color:red;&quot;&gt;°&lt;/span&gt;&lt;/h3&gt;


	&lt;h3&gt;Appendix&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Larry+Becker%27s+JUMP+Performance+Tips&quot;&gt;Larry Becker's JUMP Performance Tips&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/How+to+translate+in+a+new+language&quot;&gt;How to translate in a new language&lt;/a&gt; &lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Import+Export+File&quot;&gt;Import Export File&lt;/a&gt; &lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Loading+Data+from+GPS&quot;&gt;Loading Data from GPS&lt;/a&gt; &lt;span style=&quot;color:red;&quot;&gt;°&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;http://openjump.org/wiki/show/Plugins&quot;&gt;Popular Plug-Ins&lt;/a&gt; &lt;span style=&quot;color:red;&quot;&gt;°&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Drawing+point+symbols&quot;&gt;Drawing point symbols&lt;/a&gt; &lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Using+Your+Own+%28Geologic%29+Symbology&quot;&gt;Using Your Own (Geologic) Symbology&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Hyperlinks&quot;&gt;Hyperlinks&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/How+to+georeference+rasters&quot;&gt;How to georeference rasters&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/CAD+Tutorial&quot;&gt;CAD Tutorial&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/GIS+Terminology&quot;&gt;GIS Terminology&lt;/a&gt;&lt;/h3&gt;


	&lt;h3&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/FAQ&quot;&gt;FAQ&lt;/a&gt;&lt;/h3&gt;


	&lt;h3&gt;&lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Bibliography&quot;&gt;Bibliography&lt;/a&gt;&lt;/h3&gt;


	&lt;p&gt;&lt;span style=&quot;color:red;&quot;&gt;°&lt;/span&gt; Pages that need to be write or to be detail&lt;/p&gt;


&lt;hr /&gt;

	&lt;p&gt;This &lt;strong&gt;New Help&lt;/strong&gt; wiki page provides an ongoing documentation of OpenJUMP Nightly Build.&lt;br /&gt;A complete description of all functionalities and tools is on &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/OpenJUMP+List+of+Functions&quot;&gt;OpenJUMP List of Functions&lt;/a&gt; wiki page&lt;/p&gt;


	&lt;p&gt;Giuseppe Aruta&lt;br /&gt;&lt;hr /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;&lt;strong&gt;back to&lt;/strong&gt;&lt;/em&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Documentation&quot;&gt;Documentation&lt;/a&gt; page&lt;/p&gt;</description>
    
      <pubDate>Sat, 28 Jun 2008 09:41:28 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Index</guid>
      <link>http://openjump.org:8739/wiki/show/Index</link>
      <dc:creator>Peppe</dc:creator>
    </item>
  
		<item>
      <title>Point Symbology</title>
    
      <description></description>
    
      <pubDate>Sat, 28 Jun 2008 09:38:50 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Point+Symbology</guid>
      <link>http://openjump.org:8739/wiki/show/Point+Symbology</link>
      <dc:creator>Peppe</dc:creator>
    </item>
  
		<item>
      <title>AnonymousCoward</title>
    
      <description></description>
    
      <pubDate>Thu, 26 Jun 2008 07:37:47 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/AnonymousCoward</guid>
      <link>http://openjump.org:8739/wiki/show/AnonymousCoward</link>
      <dc:creator>sstein</dc:creator>
    </item>
  
		<item>
      <title>DINMO</title>
    
      <description></description>
    
      <pubDate>Thu, 26 Jun 2008 07:37:22 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/DINMO</guid>
      <link>http://openjump.org:8739/wiki/show/DINMO</link>
      <dc:creator>sstein</dc:creator>
    </item>
  
		<item>
      <title>JTin Google Summer of Code 2008</title>
    
      <description>&lt;p&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;/p&gt;


	&lt;p&gt;Before serious work begins on the library I think we should make some decisions on the following items:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;How is &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; defined, and how will we represent it in memory? (Note: We aren&amp;#8217;t talking about the display of a &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt;, but rather the model from which a display or view of the &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; might be created.)&lt;/li&gt;
		&lt;li&gt;What data input formats will we support? Will we wrap access to these formats in a common interface?&lt;/li&gt;
		&lt;li&gt;What data output formats will we support?&lt;/li&gt;
		&lt;li&gt;How will we integrate &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; support into OpenJUMP?&lt;/li&gt;
		&lt;li&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 &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; in a separate component to avoid tweaking the existing 2D rendering code?&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&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;/p&gt;


	&lt;p&gt;&lt;strong&gt;TIN Definition&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;color:blue;&quot;&gt;The Sunburned Surveyor:&lt;/span&gt; From a land surveying perspective a &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; is defined by three (3) components.&lt;/p&gt;


	&lt;p&gt;The first component is a collection of points representing the samples of the surface being modeled by the &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt;. 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;/p&gt;


	&lt;p&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 &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt;.)&lt;/p&gt;


	&lt;p&gt;The third component is a set of 3D lines that represent the breaklines of the &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt;. TIN lines, or the edges of the triangular faces in the &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt;, are not allowed to cross breaklines. Breaklines are a critical component of accurate &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; definition and creation.&lt;/p&gt;


	&lt;p&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 &lt;span class=&quot;caps&quot;&gt;GIS&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;span style=&quot;color:green;&quot;&gt;Christopher DeMars:&lt;/span&gt; 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;/p&gt;


	&lt;p&gt;&lt;span style=&quot;color:blue;&quot;&gt;The Sunburned Surveyor:&lt;/span&gt; I&amp;#8217;m not really sure what a &amp;#8220;soft&amp;#8221; breakline would be. What I am talking about would be a hard breakline. It is basically a set of connected &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; lines that can&amp;#8217;t be crossed by other &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; lines. You would typically create these breaklines along topographic features like ridge tops or valleys.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;TIN Representation&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;color:blue;&quot;&gt;The Sunburned Surveyor:&lt;/span&gt; I believe that our &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; representation should be made as simple as possible. In my perspective this simplest representation is a set of &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; faces. Each &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; face is defined by three (3) three-dimensional points. I believe we can represent each &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; face by using a &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;Polygon whose nodes have a valid elevation value. Other alternatives are representing each face by a set of raw coordinate values, perhaps as &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;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 &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;Polygon, &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;Point, or &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;LineString representation of the face.&lt;/p&gt;


	&lt;p&gt;Perhaps the best way to approach this is by encapsulating the common behavior of a &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; face in an interface, and then allowing multiple implementations of this interface using one of the &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;Geometries.&lt;/p&gt;


	&lt;p&gt;&lt;span style=&quot;color:blue;&quot;&gt;Paul Austin:&lt;/span&gt; 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;/p&gt;


	&lt;p&gt;&lt;span style=&quot;color:green;&quot;&gt;Christopher DeMars:&lt;/span&gt; Most of the following commentary was inspired by this paper: &lt;a href=&quot;http://www.cs.unc.edu/%7Eisenburg/papers/ilss-scdt-06.pdf&quot;&gt;http://www.cs.unc.edu/%7Eisenburg/papers/ilss-scdt-06.pdf&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;The paper mentions that another fundamental value to be stored in a &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; for each triangle facet is three links to adjacent facets.&lt;/p&gt;


	&lt;p&gt;Other aspects that could/should be associated with each &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; face might be precomputed normals and water flow data (like WaterBug, determine where water flowing in the uphill edges exits).&lt;/p&gt;


	&lt;p&gt;Another big question that needs to be answered is shall we stick with &lt;span class=&quot;caps&quot;&gt;JTS&lt;/span&gt; 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 &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; 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;/p&gt;


	&lt;p&gt;&lt;span style=&quot;color:blue;&quot;&gt;The Sunburned Surveyor:&lt;/span&gt; I agree with Paul. Each &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; 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;/p&gt;


	&lt;p&gt;However, I don&amp;#8217;t think we should store topology data in the object representing the actual &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; face. I think this should be stored in a separate data structure or data structures.&lt;/p&gt;


	&lt;p&gt;Chris wrote: &amp;#8220;The disadvantage is that we couldn’t model such things as cave structures or mines and the &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; library couldn’t be used for non-GIS 3D applications like medical imaging.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;I didn&amp;#8217;t even think about that Chris. Those are interesting applications of a &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; library.&lt;/p&gt;


	&lt;p&gt;Chris wrote: &amp;#8220;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;#8221;&lt;/p&gt;


	&lt;p&gt;Excellent points. I agree with your suggestion. Let&amp;#8217;s go with 2.5D know, but design the library so that we can plug-in true 3D functionality in the future.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;TIN Input Formats&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;Christopher DeMars:&lt;/span&gt; At the very least, we should import DEMs and &lt;span class=&quot;caps&quot;&gt;CSV&lt;/span&gt; points are converted into a &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;span style=&quot;color:blue;&quot;&gt;The Sunburned Surveyor:&lt;/span&gt; O.K. &amp;#8211; Let&amp;#8217;s support &lt;span class=&quot;caps&quot;&gt;DEM&lt;/span&gt; and &lt;span class=&quot;caps&quot;&gt;CSV&lt;/span&gt; in our &amp;#8220;alpha&amp;#8221; 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 &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; if available, but which would not be required.&lt;/p&gt;


	&lt;p&gt;If we take this route I can work on a format for define TINs based on a simple text format. I&amp;#8217;d prefer something in &lt;span class=&quot;caps&quot;&gt;YAML&lt;/span&gt;, but woudln&amp;#8217;t be against using &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; if there was a lot of support for that.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;TIN Output Formats&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;Christopher DeMars:&lt;/span&gt; I see two possibilities. The preferred option &lt;span class=&quot;caps&quot;&gt;IMHO&lt;/span&gt; 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 &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; class (or &lt;span class=&quot;caps&quot;&gt;TINDB&lt;/span&gt; class) could have a method that returns a subset of the &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; as a new &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt;. The new &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; 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;/p&gt;


	&lt;p&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 &lt;span class=&quot;caps&quot;&gt;WKT&lt;/span&gt;, 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;/p&gt;


	&lt;p&gt;&lt;span style=&quot;color:blue;&quot;&gt;The Sunburned Surveyor:&lt;/span&gt; I agree with Chris on some of the main &amp;#8220;outputs&amp;#8221; our &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; library should support. I think that these should be a representation of the constructed &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt;, including &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; faces, breaklines and boundaries. At some point in the future I would hope to see support for contours (as &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;LineStrings so they could be displayed in OpenJUMP) hillshades, and water flow analysis.&lt;/p&gt;


	&lt;p&gt;Chris mentioned a &amp;#8220;streaming&amp;#8221; &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; that allows access to a &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; in a manner that is independent of memory. I believe this is very important. However, I do not believe we should tie the &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; to any relational database, at least not directly. We should present a streaming &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; 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 &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; based on a binary file or series of text files.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;GeoTools/OpenJUMP Collaboration&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;TIN Display Options&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;I don&amp;#8217;t think, at least initially, that we should be concerned with making major modifications to OpenJUMP so that &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt;&amp;#8217;s can be displayed. I think the more simple, and easily obtained solution, would be to focus on exporting data products from a &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; that could be displayed in OpenJUMP. This could be &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; faces represented as &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;Polygons, countour lines represented as &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;LineStrings, and Hillshades represented as &lt;span class=&quot;caps&quot;&gt;JTS &lt;/span&gt;Polygons or raster images.&lt;/p&gt;


	&lt;p&gt;I believe 3D display of &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; 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;#8217;s functionality. However, I do not think it would be wise to attempt a mash-up of OpenJUMP&amp;#8217;s current 2D dispaly and a new 3D display. OpenJUMP&amp;#8217;s current 2D rendering system is quick and capable of producing high-quality map images. Let&amp;#8217;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;/p&gt;


	&lt;p&gt;&lt;strong&gt;Integration of &lt;span class=&quot;caps&quot;&gt;TIN &lt;/span&gt;Support In OpenJUMP&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;I don&amp;#8217;t think, at least initially, that we should worry about integrating TINs into OpenJUMP as a special type of feature. Let&amp;#8217;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 &lt;span class=&quot;caps&quot;&gt;TIN&lt;/span&gt; manipulation directly into OpenJUMP via plug-ins.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Integration of &lt;span class=&quot;caps&quot;&gt;TIN &lt;/span&gt;Support In UDig&lt;/strong&gt;&lt;/p&gt;


	&lt;h2&gt;Reference&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;2008 Google Summerof Code &lt;a href=&quot;http://code.google.com/soc/2008/&quot;&gt;http://code.google.com/soc/2008/&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;TIN &lt;/span&gt;(Triangulated irregular network) &lt;a href=&quot;http://en.wikipedia.org/wiki/Triangulated_irregular_network&quot;&gt;http://en.wikipedia.org/wiki/Triangulated_irregular_network&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;Delaunay triangulation &lt;a href=&quot;http://en.wikipedia.org/wiki/Delaunay_triangulation&quot;&gt;http://en.wikipedia.org/wiki/Delaunay_triangulation&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;</description>
    
      <pubDate>Sun, 22 Jun 2008 14:33:07 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/JTin+Google+Summer+of+Code+2008</guid>
      <link>http://openjump.org:8739/wiki/show/JTin+Google+Summer+of+Code+2008</link>
      <dc:creator>Peppe</dc:creator>
    </item>
  
		<item>
      <title>Edit</title>
    
      <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Back to&lt;/strong&gt;&lt;/em&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/OpenJUMP+List+of+Functions&quot;&gt;OpenJUMP List of Functions&lt;/a&gt; &lt;br /&gt;&lt;hr /&gt;&lt;/p&gt;


	&lt;h2&gt; &lt;span class=&quot;caps&quot;&gt;EDIT&lt;/span&gt;&lt;/h2&gt;


	&lt;p&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages/new%20user%20guide/OpenJUMP%201.3%20Beta/menubar/figs/edit%20menu.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Undo/Redo&lt;/strong&gt;&lt;/em&gt; &lt;br /&gt;These functions undo or redo actions performed by users in OpenJUMP. (Note: Not all user actions will support undo/redo.)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Add new features&amp;#8230;&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function opens a dialog where the user add new features to current layer in &lt;span class=&quot;caps&quot;&gt;WKT&lt;/span&gt; format.&lt;br /&gt;(See the &amp;#8220;Workbench User&amp;#8217;s Guide&amp;#8221; by Vivid Solutions for more information: &lt;a href=&quot;http://www.vividsolutions.com/jump/bin/JUMP%20User%20Guide.pdf,&quot;&gt;http://www.vividsolutions.com/jump/bin/JUMP%20User%20Guide.pdf,&lt;/a&gt; &lt;em&gt;Well-Known Text Syntax&lt;/em&gt; &amp;#8211; Page 49). 
	&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Note 1:&lt;/strong&gt; The current layer must be editable to add new features.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Note 2:&lt;/strong&gt; This function only allows you to create the feature geomtry, it does not allow you to create the feature attributes as well. You will need to do this with other functions in OpenJUMP.&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;View / Edit selected feature&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function opens a dialog where the user can view and/or edit the geometry of the selected feature. This feature geometry is presented to the user in &lt;span class=&quot;caps&quot;&gt;WKT&lt;/span&gt; format. &lt;br /&gt;(See the &amp;#8220;Workbench User&amp;#8217;s Guide&amp;#8221; by Vivid Solutions for more information: &lt;a href=&quot;http://www.vividsolutions.com/jump/bin/JUMP%20User%20Guide.pdf,&quot;&gt;http://www.vividsolutions.com/jump/bin/JUMP%20User%20Guide.pdf,&lt;/a&gt; &lt;em&gt;Well-Known Text Syntax&lt;/em&gt; &amp;#8211; Page 49)
	&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Note 1:&lt;/strong&gt; The user can only edit the &lt;span class=&quot;caps&quot;&gt;WKT&lt;/span&gt; of the Feature Geometry if the layer is editable. If the layer is not edtiable the user can only view the &lt;span class=&quot;caps&quot;&gt;WKT&lt;/span&gt; of the Feature Geometry. (See Toolbar Function&gt;Edit)&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Select Features In Fence&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function allows the user to select the features touched or contained by a  fence that has already been drawn by the user. (To learn more about drawing a fence in OpenJUMP, see description of the &amp;#8220;Fence&amp;#8221; function on  &lt;a href=&quot;http://openjump.org/wiki/show/Toolbar&quot;&gt;Toolbar&lt;/a&gt; functions page.)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Select Items by Fence from Selected Layers&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function allows the user to select the features in the selected layer or layers that are touched or contained by a  fence that has already been drawn by the user. (To learn more about drawing a fence in OpenJUMP, see description of the &amp;#8220;Fence&amp;#8221; function on the page that describes &lt;a href=&quot;http://openjump.org/wiki/show/Toolbar&quot;&gt;Toolbar&lt;/a&gt; functions.)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Select Items by Circle from Selected Layers&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function allows the user to select features that touch or fall within a circle. The diameter and center of circle used to make the selection are specified by the user. The selection is made from the layer or layers that are currently selected.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Select by Geometry Type&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function opens a new dialog box that allows the user to select all features represented by a specified type of geometry. (For example: Select all features that are represented by a Polygon.) The dialog box includes an option that allows the user to constrain the selection to currently selected layers or the currently selected layer. (This option is checked by default when the dialog opens.)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Select Layer Items&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function selects all items on the currently selected layer. (The items on all selected layers will be selected if more than one layer is selected.)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Cut Selected Items&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function &amp;#8220;cuts&amp;#8221; and places on the clipboard all the of the currently selected items. (In most cases an item is a feature, although it can be &amp;#8220;part&amp;#8221; of a feature. [For example: inner ring of a polygon.]) &lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;Warning 1:&lt;/span&gt; Items &amp;#8220;cut&amp;#8221; using this function will be deleted from their source layer when &amp;#8220;pasted&amp;#8221; onto another layer. If you want to copy the currently selected items, but do not want to remove them from the source layers, use the &lt;span style=&quot;color:blue;&quot;&gt;Copy Selected Items&lt;/span&gt; command instead.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Copy Selected Items&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function copies the items currently selected to the clipboard. (In most cases an item is a feature, although it can be &amp;#8220;part&amp;#8221; of a feature. [For example: inner ring of a polygon.])&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Paste Items&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function allows the user to paste items on the clipboard to the currently selected layer. (In most cases an item is a feature, although it can be &amp;#8220;part&amp;#8221; of a feature. [For example: inner ring of a polygon.]) You can use this function to copy items in one layer to another layer or to duplicate items in the same layer. (To duplicate items in the same layer, select the same layer you are copying items from when you get ready to paste.)
	&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Note 1:&lt;/strong&gt; This function will not work if more that one layer is selected. You can only paste items to a single layer.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Note 2:&lt;/strong&gt; To duplicate  items in the same layer, users can copy selected items, then move them to another position using the “Move Selected Items Tools” on the Editing Tool (see Tool Function&gt;Editing Tool), then paste new items to the original position.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Note 3:&lt;/strong&gt; Attributes of  selected features from source layer are copied only if they have corresponding attributes  with the same name and data type in the destination layer. This can be set up by editing the schema of the destination layer. Only the geometries of selected items are copied if none of the attributes of the source and destination layer match.&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Note 4:&lt;/strong&gt; Also see &lt;span style=&quot;color:blue;&quot;&gt;the Replicate (Duplicate) selected items&lt;/span&gt; command.&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Delete Selected Items&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function allows the user to delete the currently selected items. In most cases an item is a feature, although it can be &amp;#8220;part&amp;#8221; of a feature. [For example: inner ring of a polygon.])
	&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Note 1:&lt;/strong&gt; OpenJUMP will delete the selected items without warning when this function is used. (In most cases this action can be undone using the undo function.)&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Replicate selected items&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;Duplicate the selected items from the current layer to a destination layer. In this action the attribute values of features stored in the layer are copied as well.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Extract Layers by geometry type&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This functions allows to extract from a multy geometry layer (eg. In &lt;span class=&quot;caps&quot;&gt;GML&lt;/span&gt;, DXF or &lt;span class=&quot;caps&quot;&gt;WNT&lt;/span&gt; file format) all geometries and to separate in different layers according to the geopetry types (point, line, polygon)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;&lt;strong&gt;Extract Layers in Fence&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;This function allows to extract geometries, on a n editable layer selected on layer list, which are inside or touched by a Fence&lt;/li&gt;
	&lt;/ul&gt;


&lt;hr /&gt;

	&lt;p&gt;&lt;&amp;#8212;- &lt;em&gt;&lt;strong&gt;back to&lt;/strong&gt;&lt;/em&gt; &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/OpenJUMP+List+of+Functions&quot;&gt;OpenJUMP List of Functions&lt;/a&gt;&lt;/p&gt;</description>
    
      <pubDate>Fri, 20 Jun 2008 15:06:42 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Edit</guid>
      <link>http://openjump.org:8739/wiki/show/Edit</link>
      <dc:creator>Peppe</dc:creator>
    </item>
  
		<item>
      <title>OSX</title>
    
      <description></description>
    
      <pubDate>Fri, 20 Jun 2008 14:17:50 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/OSX</guid>
      <link>http://openjump.org:8739/wiki/show/OSX</link>
      <dc:creator>Anonymous Coward</dc:creator>
    </item>
  
		<item>
      <title>Introduction</title>
    
      <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;back to&lt;/strong&gt;&lt;/em&gt;  &lt;a class=&quot;existingWikiWord&quot; href=&quot;../show/Index&quot;&gt;Index&lt;/a&gt; page&lt;br /&gt;&lt;hr /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;OpenJUMP&lt;/strong&gt; is a &lt;span class=&quot;caps&quot;&gt;GIS &lt;/span&gt;(Geographic Information System) deriving from &lt;strong&gt;JUMP&lt;/strong&gt; Workbench developed by &lt;a href=&quot;http://www.vividsolutions.com/&quot;&gt;Vivid Solution&lt;/a&gt; and Refraction Research,  Inc., BC, Canada.&lt;br /&gt;The name &amp;#8220;JUMP&amp;#8221; is the abbreviation of &lt;strong&gt;Unified Mapping Platform&lt;/strong&gt;, while &lt;strong&gt;J&lt;/strong&gt; points out the &amp;#8220;Java&amp;#8221; programming language on which OpenJUMP is based.&lt;br /&gt;&amp;#8220;Open&amp;#8221; is for &lt;em&gt;&lt;strong&gt;Open Source&lt;/strong&gt;&lt;/em&gt;. OpenJUMP is distribuited under &lt;strong&gt;GNU&lt;/strong&gt; General Public Licence and it is developed and mantained by a community of programmers and users around the World.&lt;/p&gt;


	&lt;p&gt;&lt;img src=&quot;http://jump-pilot.sourceforge.net/wikiimages/new%20user%20guide/OpenJUMP%201.3%20Beta/introduction/fig.%200.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;OpenJUMP has an impressive editing and drawing capability: features can be scaled, moved, duplicated.&lt;br /&gt;The &lt;a href=&quot;http://openjump.org/wiki/show/Tools&quot;&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/a&gt; section provides a flexible and complete list of querry and editing tools.&lt;br /&gt;OpenJUMp can load vector, raster and database files thanks to a complete set of plugins, constantly upgrade by developers&lt;/p&gt;</description>
    
      <pubDate>Fri, 20 Jun 2008 12:54:23 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Introduction</guid>
      <link>http://openjump.org:8739/wiki/show/Introduction</link>
      <dc:creator>Peppe</dc:creator>
    </item>
  
		<item>
      <title>Beanshell:Fill in a JUMP column</title>
    
      <description>&lt;pre&gt;
import com.vividsolutions.jump.util.*;

map = CollectionUtil.createMap(new String[]{&quot;DA24900010&quot;, &quot;Road&quot;, &quot;DA24900020&quot;, &quot;Road&quot;, &quot;DE22800000&quot;, &quot;Rail Line&quot;, &quot;FA02650000&quot;, &quot;Boundary&quot;, &quot;FA02700000&quot;, &quot;Boundary&quot;, &quot;GA24850000&quot;, &quot;River/Stream&quot;, &quot;GB15300000&quot;, &quot;Lake&quot;, &quot;GE14850000&quot;, &quot;Island&quot;, &quot;GG05800000&quot;, &quot;Coastline&quot;});

for (feature : layer.featureCollectionWrapper.features) {
feature.setAttribute(&quot;FCODE2&quot;, map{feature.getAttribute(&quot;FCODE&quot;)});
}
&lt;/pre&gt;</description>
    
      <pubDate>Thu, 19 Jun 2008 03:27:02 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Beanshell%3AFill+in+a+JUMP+column</guid>
      <link>http://openjump.org:8739/wiki/show/Beanshell%3AFill+in+a+JUMP+column</link>
      <dc:creator>sstein</dc:creator>
    </item>
  
		<item>
      <title>Beanshell:Get the WMS URL that JUMP is using</title>
    
      <description>&lt;pre&gt;
print(wc.getLayerManager().getLayerables( com.vividsolutions.jump.workbench.model.WMSLayer.class).iterator().next().createRequest(wc.getLayerViewPanel()).getURL());
&lt;/pre&gt;</description>
    
      <pubDate>Thu, 19 Jun 2008 03:25:09 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Beanshell%3AGet+the+WMS+URL+that+JUMP+is+using</guid>
      <link>http://openjump.org:8739/wiki/show/Beanshell%3AGet+the+WMS+URL+that+JUMP+is+using</link>
      <dc:creator>sstein</dc:creator>
    </item>
  
		<item>
      <title>Beanshell:Find features with repeated points</title>
    
      <description>&lt;pre&gt;
import com.vividsolutions.jump.feature.*;

repeatedPoints(geometry) {
geometry .coordinates .length - new HashSet(Arrays .asList(geometry .coordinates)) .size();
}

debugFC = wc .layerManager .getLayer(&quot;debug&quot;) .featureCollectionWrapper .ultimateWrappee;

for (feature : wc .layerManager .getLayer(&quot;navtech roads&quot;) .featureCollectionWrapper .features) {
BasicFeature debugFeature = new BasicFeature(debugFC.featureSchema);
debugFeature.setAttribute(&quot;GEOMETRY&quot;, feature.geometry);
debugFeature.setAttribute(&quot;REPEATEDPTS&quot;, repeatedPoints(feature.geometry));
debugFC.add(debugFeature);
}
&lt;/pre&gt;</description>
    
      <pubDate>Thu, 19 Jun 2008 03:24:00 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Beanshell%3AFind+features+with+repeated+points</guid>
      <link>http://openjump.org:8739/wiki/show/Beanshell%3AFind+features+with+repeated+points</link>
      <dc:creator>sstein</dc:creator>
    </item>
  
		<item>
      <title>Beanshell:Create an image layer from a file or URL</title>
    
      <description>&lt;p&gt;This awesome idea was requested by Andrew Collins and took me two hours to write. It&amp;#8217;s a BeanShell script to create an image layer from a &lt;span class=&quot;caps&quot;&gt;GIF&lt;/span&gt;, JPEG, or &lt;span class=&quot;caps&quot;&gt;PNG&lt;/span&gt; file or &lt;span class=&quot;caps&quot;&gt;URL &lt;/span&gt;!!!&lt;/p&gt;


	&lt;p&gt;1. Click View &gt; BeanShell.&lt;br /&gt;2. Copy the code below into the clipboard.&lt;br /&gt;3. Paste the code into the BeanShell window with Ctrl+V. &lt;span class=&quot;caps&quot;&gt;JUMP&lt;/span&gt; will&lt;br /&gt;create the image layer!&lt;br /&gt;&lt;pre&gt;
{
minx = 100; maxx = 952; miny = 100; maxy = 489; //Image coordinates
filenameOrURL = new
URL(&quot;http://www.apsu.edu/field_biology/center/sym2001/fig1p66.jpg&quot;);
//filenameOrURL = &quot;c:/junk/Arrow.jpg&quot;;
layerName = &quot;Image&quot;;
image = Toolkit.getDefaultToolkit().getImage(filenameOrURL);
import com.vividsolutions.jts.geom.*;
import com.vividsolutions.jump.feature.*;
import com.vividsolutions.jump.geom.EnvelopeUtil;
import com.vividsolutions.jump.workbench.model.*;
import com.vividsolutions.jump.workbench.ui.renderer.style.Style;
import com.vividsolutions.jump.workbench.ui.Viewport;
mediaTracker = new MediaTracker(wc.layerViewPanel);
mediaTracker.addImage(image, 0);
mediaTracker.waitForID(0);
envelope = new Envelope(minx, maxx, miny, maxy);
wc.layerManager.addLayer(StandardCategoryNames.WORKING, layerName,
FeatureDatasetFactory.createFromGeometry(
Collections.singleton(EnvelopeUtil.toGeometry(envelope))))
.addStyle(new Style() {
public void paint(Feature f, Graphics2D g, Viewport viewport) {
originalTransform = g.getTransform();
try {
xScale = viewport.scale*envelope.width/image.getWidth(null);
yScale = viewport.scale*envelope.height/image.getHeight(null);
g.scale(xScale, yScale);
upperLeftCorner = viewport.toViewPoint(new Coordinate(minx, maxy));
g.translate(upperLeftCorner.x/xScale, upperLeftCorner.y/yScale);
g.drawImage(image, 0, 0, null);
}
finally {
g.setTransform(originalTransform);
}
}
public void initialize(Layer layer) {}
public Object clone() { throw new UnsupportedOperationException(); }
public void setEnabled(boolean enabled) {}
public boolean isEnabled() { return true; }
});
wc.layerManager.getLayer(layerName).getBasicStyle().renderingFill = false;
&lt;/pre&gt;&lt;/p&gt;</description>
    
      <pubDate>Thu, 19 Jun 2008 03:23:12 Z</pubDate>
      <guid>http://openjump.org:8739/wiki/show/Beanshell%3ACreate+an+image+layer+from+a+file+or+URL</guid>
      <link>http://openjump.org:8739/wiki/show/Beanshell%3ACreate+an+image+layer+from+a+file+or+URL</link>
      <dc:creator>sstein</dc:creator>
    </item>
  
  </channel>
</rss>
