The tool begins to be perfect but I found this small oddity:
When the Cut feature tool is active, editing attributes in the attribute table
and accepting changes with Enter throws an exception. Attribute gets edited,
though. Issue has to do with Enter because I get no exceptions if I edit
attributes and move to the next row with mouse.
The error message is
java.lang.IllegalArgumentException: Invalid number of points in LineString
(found 1 - must be 0 or >= 2)
at
com.vividsolutions.jts.geom.LineString.init(LineString.java:102)
at
com.vividsolutions.jts.geom.LineString.<init>(LineString.java:93)
at
com.vividsolutions.jts.geom.GeometryFactory.createLineString(GeometryFactory.java:555)
at
com.vividsolutions.jts.geom.GeometryFactory.createLineString(GeometryFactory.java:546)
at
org.openjump.core.ui.plugin.edittoolbox.cursortools.CutFeaturesTool.getLineString(CutFeaturesTool.java:183)
at
org.openjump.core.ui.plugin.edittoolbox.cursortools.CutFeaturesTool.gestureFinished(CutFeaturesTool.java:108)
at
com.vividsolutions.jump.workbench.ui.cursortool.AbstractCursorTool.fireGestureFinished(AbstractCursorTool.java:596)
at
com.vividsolutions.jump.workbench.ui.cursortool.MultiClickTool.finishGesture(MultiClickTool.java:248)
at
com.vividsolutions.jump.workbench.ui.cursortool.MultiClickTool.mouseReleased(MultiClickTool.java:139)
at
com.vividsolutions.jump.workbench.ui.cursortool.MultiClickTool$1.keyReleased(MultiClickTool.java:303)
at
com.vividsolutions.jump.workbench.ui.MultiRecursiveKeyListener.keyReleased(MultiRecursiveKeyListener.java:52)
at
java.awt.AWTEventMulticaster.keyReleased(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown
Source)
at javax.swing.JComponent.processKeyEvent(Unknown
Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown
Source)
at java.awt.Container.dispatchEventImpl(Unknown
Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at
java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown
Source)
at java.awt.Container.dispatchEventImpl(Unknown
Source)
at java.awt.Window.dispatchEventImpl(Unknown
Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown
Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at
java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at
java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown
Source)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown
Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown
Source)
at java.awt.EventDispatchThread.run(Unknown Source)
-Jukka-
Michaël Michaud wrote:
Hi,
Absolutely not !
(it is always painful to exclude pure GeometryCollections because
MultiPolygon or MultiLineString and MultiPoint are "instanceof"
GeometryCollection
altough their class name is not GeometryCollection).
Thanks for your watchfullness
Michaël
Le 07/12/2015 23:19, Rahkonen Jukka (MML) a écrit :
Hi,
Is it intentional that r4582 does not cut multipolygons and multilinestrings at
all, not even if they have only one part?
-Jukka-
Lähettäjä: Michaël Michaud [mailto:m.michael.mich...@orange.fr]
Lähetetty: 7. joulukuuta 2015 23:45
Vastaanottaja:
jump-pilot-devel@lists.sourceforge.net<mailto:jump-pilot-devel@lists.sourceforge.net>
Aihe: Re: [JPP-Devel] CutFeatureTool
Hi Jukka,
Thanks, here are some more improvements :
- polygon/multipolygon case : preserve original geometry if number of
geometries after cutting is still 1
- also GeometryCollection was throwing an exception. Now, it is still not cut,
but it just display a (yellow) warning and let the process go on.
Michaël
Le 07/12/2015 09:08, Rahkonen Jukka (MML) a écrit :
Seems to work right with points and multipoints. It was OK already in r4578 my
Michael. I suppose that the same fix corrected also another issue of previous
versions: If polygons or lines were selected but the split line did not
intersect with any the selected features were deleted.
Found one more small issue: If polygon is selected and the splitting line
crosses some of the rings but not the whole polygon, the tool edits the source
polygon by adding vertices into the locations of intersections. Perhaps the
tool should check in some phase the dimensions of the intersection that is
computed for polygons and revert noding if intersection is not an area?
-Jukka-
Giuseppe Aruta wrote:
Hi Jukka,
see OJ 4578. I added a small code to prevent deleting points/multipoints
Peppe
2015-12-06 23:25 GMT+01:00 Michaël Michaud
<m.michael.mich...@orange.fr<mailto:m.michael.mich...@orange.fr>>:
Hi,
Thanks for the tests Jukka.
Exploding selected multi-geometries even if they are not split seems
reasonnable.
Problem with points / multi-points should be resolved (they should be
unmodified)
I found another problem : the tool processed only selected features of
the first selected layer in the layerNamePanel.
It now processes all selected features, but the undo tool undo features
from one layer at a time.
Michaël
Le 06/12/2015 22:38, Rahkonen Jukka (MML) a écrit :
> Hi,
>
> Some comments:
>
> - Works well with polygon containing holes
> - Works with multipolygons and multilinestrings
> - Seems to explode multigeometries which may be a surprise for the user. On
> the other hand it would be very hard to define what else to do it
> multigeometries have many parts and linestring splits only some of them so I
> think that "explode and split" is OK.
> - Tool should check that no point/multipoint geometries are selected. Now I
> get "Layer must be editable" error with such misuse and the selected points
> are deleted. Undo fortunately works.
>
> -Jukka Rahkonen-
>
> Michaël Michaud wrote:
>
> Hi Peppe, Jukka,
>
> I just improved CutFeatureTool recently added by Peppe,
>
> - simplified split routines
> - can now split a feature in more than two parts
> - more robust (should remove artefacts noticed by Jukka : can you confirm ?)
> - more transactional : undo will now un-split all features splitted durnig an
> operation
>
> There is still a side effect which is difficult to avoid :
> - if a linestring contains a desired self-intersection (non
> simple-linestring), splitting the linestring will node the self-intersection
> (splitting uses union op which is noding all input features).
>
> Michaël
>
> Le 04/12/2015 10:21, Rahkonen Jukka (MML) a écrit :
>> Hi,
>>
>> The tool has good features:
>> - can split many polygons at the same time
>> - splits also linestrings
>>
>> Something to study:
>> - Splitting a polygon with hole through the hole creates odd geometries. The
>> existing Split polygon with linestring toold does good job with those.
>> - Splitting multipolygons can create odd geometries.
>>
>> -Jukka Rahkonen-
>>
>>
>> ----------------------------------------------------------------------
>> -------- Go from Idea to Many App Stores Faster with Intel(R) XDK Give
>> your users amazing mobile app experiences with Intel(R) XDK.
>> Use one codebase in this all-in-one HTML5 development environment.
>> Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
>> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net<mailto:Jump-pilot-devel@lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
>
> ------------------------------------------------------------------------------
> Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users
> amazing mobile app experiences with Intel(R) XDK.
> Use one codebase in this all-in-one HTML5 development environment.
> Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net<mailto:Jump-pilot-devel@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
> ------------------------------------------------------------------------------
> Go from Idea to Many App Stores Faster with Intel(R) XDK
> Give your users amazing mobile app experiences with Intel(R) XDK.
> Use one codebase in this all-in-one HTML5 development environment.
> Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net<mailto:Jump-pilot-devel@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net<mailto:Jump-pilot-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net<mailto:Jump-pilot-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net<mailto:Jump-pilot-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel