Re: [JPP-Devel] MeasureTool change

2010-07-17 Thread Rahkonen Jukka
Hi,

I do not consider our measurement tools especially good at the moment, and the 
close-polygon change did not make it much better, if any. I know that there are 
different needs, but for what I am using length/area measurement tool I would 
like to have these features

- Length measurement tool should show the total length and the length of the 
last leg, both in real time.
- Area measurement tool should show the area and the perimeter of the measured 
area in real time. Length of the last leg would be a good addition. 

OJ measurement tool cannot show the length of the last leg, nor the perimeter 
of an area. It does show nice the angle of the last leg but this far I have not 
had any use for this feature.

I also notised that the measurement tool gives faulty results if snapping to 
features is enabled.  The measument tool is obviously using the mouse 
coordinates for calculations, but it does not update the coordinates if vertex 
gets snapped to something after mouse click.  This is easy to demonstrate by 
showing the grid and activating the Snap to grid option and then measuring 
areas of some rectangular areas.   

I have been thinking that as an alternative for the ad-hoc measurement tool 
there could perhaps be another measurement tool would create automatically a 
special measurement layer somehow in a similar way than the note tool creates 
the Notes layer now.  This way it could be possible to measure net areas and 
total perimeters of polygons with holes, measure several features, edit the 
measurements, show the results on screen as labels or under the tooltip etc.


-Jukka Rahkonen-

Matthias Scholz wrote:

 Hi Stefan,

I agree you from your point of view (measure of lines), but my point of 
view was for measure of areas. So i think the measurement tool should be 
extended in the future. If I compare the OJ measure tool with other GIS, 
then I see some mistakes and possibilities to improve OJ.

 Matthias

 mhm.. don't know after testing (It's still committed) - but now people 
 who want to measure line distance may be confused?

 any opinions by others?

 stefan

 Stefan Steiniger wrote:
   
 Hei,

 what would be the effect for you (area calculations?)? Will everything 
 else still work?

 However, I committed it.


 Matthias Scholz wrote:
 
 Hi,

 is it possible, that anyone of the commiters can make the following
 little change in
 com.vividsolutions.jump.workbench.ui.cursortool.MeasureTool?
 Add setCloseRing(true); to the Constructor, so that the user see the
 closed polygon. Currently, some users of mine a little confused.

 Thank You

 Matthias


--
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] how to refresh a layer in run time

2010-07-17 Thread Elton Chan
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] Just pure curiostity

2010-07-17 Thread Stefan Steiniger
I guess you would need to start with the LoadDatasetPlugin.
However, at the wiki there is page that shows how to load a shape file 
directly:
http://sourceforge.net/apps/mediawiki/jump-pilot/index.php?title=How_to_load_data_from_a_Shape_File_directly

the whole process in itself isn't easy.
OpenJUMP and JTS provides some classes (i.e. some that convert the 
geo-geometries into screen objects Java2d). I am not sure if GEOS (a JTS 
port) has similar functionality for C++

stefan

Helmut Seidel M.A. schrieb:
 Hello everybody,
 
 after I messed around with some homemade perl an c-code I finally 
 started to develop plugins with openJump.
 
 But still out of pure curiosity (I'm woring as a university teacher - 
 that's where my curiosity comes from) I wonder how can Layers be loaded 
 so fast - It took minutes in my perl/C-Application. So I have two questions:
 
 * what are the logical steps you go through to read and display a, lets 
 say, shape file - I tried it the way I read an item and display it in my 
 widget - but that's painfully slow.
 * Which portions of code must I look into, to see how it's done.
 
 Thank you for your help and regards
 
 Helmut
 
 --
 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
 
 

--
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] how to refresh a layer in run time

2010-07-17 Thread Stefan Steiniger
Hei Elton,

great that my code helped you.
on your question:

 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.
 

well, I am not really sure -  switch it off (false) and on (true) - to 
avoid that events are fired until all changes are done. Because I think 
as soon as I change a Layer/FeatureCollection it will fire an event and 
redrawing processes start (actually usually EditTransactions would be 
used to modify a layer, for instance when drawing tools are used).
However, I may be wrong here - mixed up my memories. Maybe I should 
study other plugins... but well.. currently my time is limited for 
proper/fool-proof development

stefan

--
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