Re: [JPP-Devel] MeasureTool change
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
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
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
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