[geotk] Convert opengis geometry to JTS geometry

theuns theunsheydenrych at gmail.com
Fri Dec 11 04:18:21 EST 2009


HI
I have a geometry in wellknown text format that is stored in a database
table , i am using the org.geotoolkit.io.wkt.GeometryParser, to create a
org.opengis.geometry.Geometry.

I would like to create a JTS geometry from this
org.opengis.geometry.Geometry?

What i am doing at the moment is the following.

org.opengis.geometry.primitive.Surface geom = (Surface)
UserOverlayUtils.getGeomFromWKT(wktString);

JTSPolygon jTSPolygon = new JTSPolygon(geom.getBoundary());
com.vividsolutions.jts.geom.Geometry thegeom =
jTSPolygon.computeJTSPeer();

I get a class cast error when doing this.
Any help will be appreciated, thank you.

Below is the Exception message 

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException:
com.vividsolutions.jts.geom.LinearRing cannot be cast to
com.vividsolutions.jts.geom.MultiLineString
at
org.geotoolkit.geometry.isoonjts.spatialschema.geometry.AbstractJTSGeometry.getBoundary(AbstractJTSGeometry.java:254)
at
org.geotoolkit.geometry.isoonjts.spatialschema.geometry.primitive.JTSSurface.getBoundary(JTSSurface.java:82)
at
org.geotoolkit.gui.swing.go.useroverlay.model.UserOverlayManager.loadUserEditableMapObjects(UserOverlayManager.java:735)
at
org.geotoolkit.gui.swing.go.useroverlay.view.UserOverlayLoadActionDB.actionPerformed(UserOverlayLoadActionDB.java:69)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton
$Handler.actionPerformed(AbstractButton.java:2318)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
at javax.swing.plaf.basic.BasicMenuItemUI
$Handler.mouseReleased(BasicMenuItemUI.java:1266)
at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)



More information about the Geotoolkit mailing list