Re: [JPP-Devel] how to retrieve/identify selected layer?
Thank Edgar. Your advice is very helpful. elton --- On Thu, 10/27/11, edgar.sol...@web.de edgar.sol...@web.de wrote: From: edgar.sol...@web.de edgar.sol...@web.de Subject: Re: [JPP-Devel] how to retrieve/identify selected layer? To: elton.c...@yahoo.com, OpenJump develop and use jump-pilot-devel@lists.sourceforge.net Date: Thursday, October 27, 2011, 10:12 PM use wbc.getLayerNamePanel().getSelectedLayers() generally when coming across issues like that, check functionality that already does that. e.g. check the layer tree context menu for an entry, find the string in language/jump.properties and follow it to the plugin (each menu entry is usually a plugin) and look how it gathers the selected layer. good luck.. ede On 27.10.2011 15:55, Elton Chan wrote: Hi All, Suppose there are two datasets in the layer view (i.e. two layers),then how can I retrieve the selected layer? I've checked functions of LayerManager, but it seems it can return list of layers only. thanks, elton -- The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel -- Get your Android app more play: Bring it to the BlackBerry PlayBook in minutes. BlackBerry App World#153; now supports Android#153; Apps for the BlackBerryreg; PlayBook#153;. Discover just how easy and simple it is! http://p.sf.net/sfu/android-dev2dev ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
[JPP-Devel] how to retrieve/identify selected layer?
Hi All, Suppose there are two datasets in the layer view (i.e. two layers),then how can I retrieve the selected layer? I've checked functions of LayerManager, but it seems it can return list of layers only. thanks, elton -- The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
[JPP-Devel] Any graph api recommended
Hi there, I am looking for an os graph api that works within OJ. More specifically, I need to convert some polygon features to a graph for computation such as forming spanning tree. I've a quick look at JTS and GraphX. Anyone could give me some light which is better or easier to implement graph in OJ? Or there are better solution out there. Thank in advance. Elton -- This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
Re: [JPP-Devel] how to refresh a layer in run time
Hi Stefan, Your code really helps. I can refresh a layer now. What I did is to do all recurrent task in the run(TaskMonitor monitor, PlugInContext context) function. Create a layer, and retrieve dataset from database by creating a recordset _RS, then loop it using the following code while (_RS.next()){ if(monitor.isCancelRequested()){return;} updatePostgisLayer(Changing, _RS); // this update a specify attribute to control color. monitor.report(count, 100, Evolution); count++; Thread.sleep(1000L); // delay a bit so that you can see the changes. Changing.fireLayerChanged(LayerEventType.APPEARANCE_CHANGED); //refresh } BTW, in your code, I see that you are using movieLayer.setFeatureCollectionModified(true); and movieLayer.setFeatureCollectionModified(false); In what circumstance, you need to use it. Many Thanks, Elton --- On Wed, 7/14/10, Stefan Steiniger sst...@geo.uzh.ch wrote: From: Stefan Steiniger sst...@geo.uzh.ch Subject: Re: [JPP-Devel] how to refresh a layer in run time To: OpenJump develop and use jump-pilot-devel@lists.sourceforge.net Date: Wednesday, July 14, 2010, 5:50 PM Hei Elton, my experimental code is attached. But not sure if it helps you. on vi.. maybe you have to apply the style? or the trick is done by firing the layer-changed event? haven't tested. stefan Elton Chan wrote: Hi Stefan, Could you send me your code for my testing as I would like to see how do you update the layerpanel according to order and then update the layerpanel. BTW, following are conditions for my case. i. all features to be displayed are stored in one polygon layer; ii. all features will be displayed at any time step; iii. For each time step, an attribute that controls feature's color would be updated from an event table. The event table stores order, polygon id and color code. iv. After color is updated for all features, it will be shown on the layerpanel. However, the problem I encountered is at step iv. that althrough the attribute can be updated without problem, it cannot be shown/refresh on the layerpanel. For your case, I wonder if you could create a sql query to retrieve particular feature and display at a time. (assume you are using postgis) Thanks, Elton --- On Tue, 7/13/10, Stefan Steiniger sst...@geo.uzh.ch wrote: From: Stefan Steiniger sst...@geo.uzh.ch Subject: Re: [JPP-Devel] how to refresh a layer in run time To: OpenJump develop and use jump-pilot-devel@lists.sourceforge.net Date: Tuesday, July 13, 2010, 12:15 AM mhm.. not really a solution. I assume that - all features to be displayed are stored in one layer - only one(!) feature needs to be displayed at a time step - one attribute of the layer has the information about the the order the features are to be displayed. Then I just display the features after each other by modifying the FeatureCollection of the Layer. Of course I can send the code if someone wants to see/use it. So, quite a bit of assumptions which works for my special case - seing how a bear home range evolves over time with the number of new GPS points collected (a home range is a polygon or a multi polygon and I have almost as much polygons as GPS point). stefan Larry Becker schrieb: Hi Elton, Make your loop variable a class variable. Have the loop control and attribute update inside the event handler. While the loop is still going invoke the event handler again, also from within the event handler. Once you have set up the event handler and invoked it once, just fall off the end of the execute routine. I would give an example, but I'm away from my development system. It sounds like Stefan also has a need for animation. Perhaps he will show you his solution. Larry On Fri, Jul 9, 2010 at 10:41 PM, Elton Chan elton.c...@yahoo.com mailto:elton.c...@yahoo.com wrote: Dear Larry, Could you tell me how it works? It seems a loop is required for continous update an attribute. How can it be replaced by a event handler? Thanks, Elton --- On *Fri, 7/2/10, Larry Becker /becker.la...@gmail.com mailto:becker.la...@gmail.com/* wrote: From: Larry Becker becker.la...@gmail.com mailto:becker.la...@gmail.com Subject: Re: [JPP-Devel] how to refresh a layer in run time To: OpenJump develop and use jump-pilot-devel@lists.sourceforge.net mailto:jump-pilot-devel@lists.sourceforge.net Date: Friday, July 2, 2010, 5:33 PM Hi Elton, I think you are going to have to restructure you code from a loop to be an event handler that triggers itself until the end of some counter. That is the only sure way to play nice with the GUI. Larry
Re: [JPP-Devel] how to refresh a layer in run time
Hi Stefan, Could you send me your code for my testing as I would like to see how do you update the layerpanel according to order and then update the layerpanel. BTW, following are conditions for my case. i. all features to be displayed are stored in one polygon layer; ii. all features will be displayed at any time step; iii. For each time step, an attribute that controls feature's color would be updated from an event table. The event table stores order, polygon id and color code. iv. After color is updated for all features, it will be shown on the layerpanel. However, the problem I encountered is at step iv. that althrough the attribute can be updated without problem, it cannot be shown/refresh on the layerpanel. For your case, I wonder if you could create a sql query to retrieve particular feature and display at a time. (assume you are using postgis) Thanks, Elton --- On Tue, 7/13/10, Stefan Steiniger sst...@geo.uzh.ch wrote: From: Stefan Steiniger sst...@geo.uzh.ch Subject: Re: [JPP-Devel] how to refresh a layer in run time To: OpenJump develop and use jump-pilot-devel@lists.sourceforge.net Date: Tuesday, July 13, 2010, 12:15 AM mhm.. not really a solution. I assume that - all features to be displayed are stored in one layer - only one(!) feature needs to be displayed at a time step - one attribute of the layer has the information about the the order the features are to be displayed. Then I just display the features after each other by modifying the FeatureCollection of the Layer. Of course I can send the code if someone wants to see/use it. So, quite a bit of assumptions which works for my special case - seing how a bear home range evolves over time with the number of new GPS points collected (a home range is a polygon or a multi polygon and I have almost as much polygons as GPS point). stefan Larry Becker schrieb: Hi Elton, Make your loop variable a class variable. Have the loop control and attribute update inside the event handler. While the loop is still going invoke the event handler again, also from within the event handler. Once you have set up the event handler and invoked it once, just fall off the end of the execute routine. I would give an example, but I'm away from my development system. It sounds like Stefan also has a need for animation. Perhaps he will show you his solution. Larry On Fri, Jul 9, 2010 at 10:41 PM, Elton Chan elton.c...@yahoo.com mailto:elton.c...@yahoo.com wrote: Dear Larry, Could you tell me how it works? It seems a loop is required for continous update an attribute. How can it be replaced by a event handler? Thanks, Elton --- On *Fri, 7/2/10, Larry Becker /becker.la...@gmail.com mailto:becker.la...@gmail.com/* wrote: From: Larry Becker becker.la...@gmail.com mailto:becker.la...@gmail.com Subject: Re: [JPP-Devel] how to refresh a layer in run time To: OpenJump develop and use jump-pilot-devel@lists.sourceforge.net mailto:jump-pilot-devel@lists.sourceforge.net Date: Friday, July 2, 2010, 5:33 PM Hi Elton, I think you are going to have to restructure you code from a loop to be an event handler that triggers itself until the end of some counter. That is the only sure way to play nice with the GUI. Larry On Fri, Jul 2, 2010 at 12:06 PM, Elton Chan elton.c...@yahoo.com http://mc/compose?to=elton.c...@yahoo.com wrote: Hi Larry, I've tried the LayerView Panel().repaint() with InvokeAndWait(). However, the layerpanel still cannot refesh and the for loop continues until all finishing all the Recordset. The following code is added after attribute update: if (SwingUtilities.isEventDispatchThread()) { context.getLayerViewPanel().repaint(); System.out.println(repaint!!); Always hit this line. } else { SwingUtilities.invokeAndWait(new Runnable( ) { public void run( ) { context.getLayerViewPanel().repaint(); System.out.println(repaint!!!); } }); } Any idea? --- On *Thu, 7/1/10, Larry Becker /becker.la...@gmail.com http://mc/compose?to=becker.la...@gmail.com/* wrote: From: Larry Becker becker.la...@gmail.com http://mc/compose
Re: [JPP-Devel] how to refresh a layer in run time
Dear Larry, Could you tell me how it works? It seems a loop is required for continous update an attribute. How can it be replaced by a event handler? Thanks, Elton --- On Fri, 7/2/10, Larry Becker becker.la...@gmail.com wrote: From: Larry Becker becker.la...@gmail.com Subject: Re: [JPP-Devel] how to refresh a layer in run time To: OpenJump develop and use jump-pilot-devel@lists.sourceforge.net Date: Friday, July 2, 2010, 5:33 PM Hi Elton, I think you are going to have to restructure you code from a loop to be an event handler that triggers itself until the end of some counter. That is the only sure way to play nice with the GUI. Larry On Fri, Jul 2, 2010 at 12:06 PM, Elton Chan elton.c...@yahoo.com wrote: Hi Larry, I've tried the LayerView Panel().repaint() with InvokeAndWait(). However, the layerpanel still cannot refesh and the for loop continues until all finishing all the Recordset. The following code is added after attribute update: if (SwingUtilities.isEventDispatchThread()) { context.getLayerViewPanel().repaint(); System.out.println(repaint!!); Always hit this line. } else { SwingUtilities.invokeAndWait(new Runnable( ) { public void run( ) { context.getLayerViewPanel().repaint(); System.out.println(repaint!!!); } }); } Any idea? --- On Thu, 7/1/10, Larry Becker becker.la...@gmail.com wrote: From: Larry Becker becker.la...@gmail.com Subject: Re: [JPP-Devel] how to refresh a layer in run time To: OpenJump develop and use jump-pilot-devel@lists.sourceforge.net Date: Thursday, July 1, 2010, 2:30 PM Sorry, Elton, not NIls. I answered so many questions that I got confused about who I was answering. :-) On Thu, Jul 1, 2010 at 8:24 AM, Larry Becker becker.la...@gmail.com wrote: Hi Nils, I believe you might be running into problems updating because your loop is blocking the GUI thread. You might try a LayerViewPanel.repaint() using invokeAndWait(). Larry On Thu, Jul 1, 2010 at 6:42 AM, Elton Chan elton.c...@yahoo.com wrote: Hi there, I would like to refresh a layer after changing attribute of each feature in the layer based on an event table. The event table records attribute assigned to each feature at specified stage. Following is the schema of the event table: Event( StageID int, // StageID defines sequence of the event Feature01 int, // value to be assigned to feature 01 Feature02 int, // value to be assigned to feature 02 ... Feature10 int) Based on the StageID sequence, values for each feature would be retrieved and updated to corresponding feature. Finally, update value would be visualized by unique colortheming. However, it seems the layer refreshing can only be effective outside the ResultSet loop of the event table. The following is the program codes: Inside execute(PlugInContext context) // get a layer lyr = context.getLayerManager().getLayer(postgis); //create a Resultset RS ResultSet RS stat.executeQuery(select * from Event); while (RS.next()) { updatePostgisLayer(lyr, RS);//This function updates feature in the layer } layer refreshes after the looping all the resultset. My question is how to refresh the layer once attribute values are updated for each each row of the RecordSet, i.e. immediately after the updatePostgisLayer function. If I change the query to retrieve specify row (i.e. single row only), layer can be refreshed. But it requires to activate it manually for each update. I tried to add lyr.fireLayerChanged(LayerEventType.APPEARANCE_CHANGED); or lyr.fireAppearanceChanged() after the updatePostgisLayer function but it didn't work. Anyone can help? thanks, Elton -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel -Inline Attachment Follows- -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first -Inline Attachment Follows- ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http
Re: [JPP-Devel] how to refresh a layer in run time
Hi Larry, I've tried the LayerView Panel().repaint() with InvokeAndWait(). However, the layerpanel still cannot refesh and the for loop continues until all finishing all the Recordset. The following code is added after attribute update: if (SwingUtilities.isEventDispatchThread()) { context.getLayerViewPanel().repaint(); System.out.println(repaint!!); Always hit this line. } else { SwingUtilities.invokeAndWait(new Runnable( ) { public void run( ) { context.getLayerViewPanel().repaint(); System.out.println(repaint!!!); } }); } Any idea? --- On Thu, 7/1/10, Larry Becker becker.la...@gmail.com wrote: From: Larry Becker becker.la...@gmail.com Subject: Re: [JPP-Devel] how to refresh a layer in run time To: OpenJump develop and use jump-pilot-devel@lists.sourceforge.net Date: Thursday, July 1, 2010, 2:30 PM Sorry, Elton, not NIls. I answered so many questions that I got confused about who I was answering. :-) On Thu, Jul 1, 2010 at 8:24 AM, Larry Becker becker.la...@gmail.com wrote: Hi Nils, I believe you might be running into problems updating because your loop is blocking the GUI thread. You might try a LayerViewPanel.repaint() using invokeAndWait(). Larry On Thu, Jul 1, 2010 at 6:42 AM, Elton Chan elton.c...@yahoo.com wrote: Hi there, I would like to refresh a layer after changing attribute of each feature in the layer based on an event table. The event table records attribute assigned to each feature at specified stage. Following is the schema of the event table: Event( StageID int, // StageID defines sequence of the event Feature01 int, // value to be assigned to feature 01 Feature02 int, // value to be assigned to feature 02 ... Feature10 int) Based on the StageID sequence, values for each feature would be retrieved and updated to corresponding feature. Finally, update value would be visualized by unique colortheming. However, it seems the layer refreshing can only be effective outside the ResultSet loop of the event table. The following is the program codes: Inside execute(PlugInContext context) // get a layer lyr = context.getLayerManager().getLayer(postgis); //create a Resultset RS ResultSet RS stat.executeQuery(select * from Event); while (RS.next()) { updatePostgisLayer(lyr, RS);//This function updates feature in the layer } layer refreshes after the looping all the resultset. My question is how to refresh the layer once attribute values are updated for each each row of the RecordSet, i.e. immediately after the updatePostgisLayer function. If I change the query to retrieve specify row (i.e. single row only), layer can be refreshed. But it requires to activate it manually for each update. I tried to add lyr.fireLayerChanged(LayerEventType.APPEARANCE_CHANGED); or lyr.fireAppearanceChanged() after the updatePostgisLayer function but it didn't work. Anyone can help? thanks, Elton -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel -Inline Attachment Follows- -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first -Inline Attachment Follows- ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
[JPP-Devel] how to refresh a layer in run time
Hi there, I would like to refresh a layer after changing attribute of each feature in the layer based on an event table. The event table records attribute assigned to each feature at specified stage. Following is the schema of the event table: Event( StageID int, // StageID defines sequence of the event Feature01 int, // value to be assigned to feature 01 Feature02 int, // value to be assigned to feature 02 ... Feature10 int) Based on the StageID sequence, values for each feature would be retrieved and updated to corresponding feature. Finally, update value would be visualized by unique colortheming. However, it seems the layer refreshing can only be effective outside the ResultSet loop of the event table. The following is the program codes: Inside execute(PlugInContext context) // get a layer lyr = context.getLayerManager().getLayer(postgis); //create a Resultset RS ResultSet RS stat.executeQuery(select * from Event); while (RS.next()) { updatePostgisLayer(lyr, RS);//This function updates feature in the layer } layer refreshes after the looping all the resultset. My question is how to refresh the layer once attribute values are updated for each each row of the RecordSet, i.e. immediately after the updatePostgisLayer function. If I change the query to retrieve specify row (i.e. single row only), layer can be refreshed. But it requires to activate it manually for each update. I tried to add lyr.fireLayerChanged(LayerEventType.APPEARANCE_CHANGED); or lyr.fireAppearanceChanged() after the updatePostgisLayer function but it didn't work. Anyone can help? thanks, Elton -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
Re: [JPP-Devel] Update and refresh layer in run time
Hi Larry, Thank for your reply. I've tested that view panel can update automatically when attribute is updated. However, if I continue to update an attribute in a for loop, it seems it cannot refresh. I wonder if the auto update would be activated immediately after the setAttribute function, or after completion of the for loop or I need to add a later between each update. BTW, how can I fire the update event mannually. thanks, Elton -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
[JPP-Devel] Update and refresh layer in run time
Hi there, Suppose if I have a layer added in the LayerTreePanel, and I also got the FeatureCollection of the layer, how can I update the layer using program and refresh it on the view panel. Thanks, Elton -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
[JPP-Devel] Plug-in showing change over time
Hi there, Are there any plug-in or snippets avaliable to show change of attribute over time or time-series of a feature for OpenJump? Thanks, Elton -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
[JPP-Devel] postgis, AdhocQuery and ConnectionDescriptor
Hi there, I have two postgis layers from the same database added in openjump and would like to perform further query with code using SQL and AdhocQuery. How can I retrieve the database connection of the postgis layer (added manually)? It seems that I need to re-construct a parameter list for the connection and create a datastoreconnection before I can make a AdhocQuery, which I can do it without problem. However, I don't want to re-construct the parameter list every time I need it. In fact, I've found that there is a ConnectionDescriptor class that may help but I don't know how to use it. I am thinking if I can retrieve a ConnectionDescriptor based on an existing postgis layer. Grateful if you can give me some idea how to do it. Thanks,Elton -- The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com___ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel