svn - r34238 - in branches/geometry: modules/library/main/src/main/java/org/geotools/data modules/library/main/src/main/java/org/geotools/util modules/library/render/src/main/java/org/geotools/renderer/lite modules/library/render/src/test/java/org/geotools/renderer/lite spike/geometry/src/main/java/org/osgeo/geometry

1 message Options
Embed this post
Permalink
svn_geotools

svn - r34238 - in branches/geometry: modules/library/main/src/main/java/org/geotools/data modules/library/main/src/main/java/org/geotools/util modules/library/render/src/main/java/org/geotools/renderer/lite modules/library/render/src/test/java/org/geotools/renderer/lite spike/geometry/src/main/java/org/osgeo/geometry

Reply Threaded More More options
Print post
Permalink
Author: aaime
Date: 2009-10-25 06:47:19 -0400 (Sun, 25 Oct 2009)
New Revision: 34238

Modified:
   branches/geometry/modules/library/main/src/main/java/org/geotools/data/DataUtilities.java
   branches/geometry/modules/library/main/src/main/java/org/geotools/util/GeometryConverterFactory.java
   branches/geometry/modules/library/render/src/main/java/org/geotools/renderer/lite/StreamingRenderer.java
   branches/geometry/modules/library/render/src/test/java/org/geotools/renderer/lite/LineTest.java
   branches/geometry/spike/geometry/src/main/java/org/osgeo/geometry/WKTReader.java
Log:
Actually being able to read a OSGeo LineString from WKT and render it on screen

Modified: branches/geometry/modules/library/main/src/main/java/org/geotools/data/DataUtilities.java
===================================================================
--- branches/geometry/modules/library/main/src/main/java/org/geotools/data/DataUtilities.java 2009-10-25 06:32:17 UTC (rev 34237)
+++ branches/geometry/modules/library/main/src/main/java/org/geotools/data/DataUtilities.java 2009-10-25 10:47:19 UTC (rev 34238)
@@ -145,8 +145,8 @@
         typeEncode.put( Point.class, "Point");        
         typeMap.put("Point", Point.class);
         
-        typeEncode.put( LineString.class, "LineString");
-        typeMap.put("LineString", LineString.class);
+        typeEncode.put( org.osgeo.geometry.primitive.LineString.class, "LineString");
+        typeMap.put("LineString", org.osgeo.geometry.primitive.LineString.class);
         
         typeEncode.put( Polygon.class, "Polygon");
         typeMap.put("Polygon", Polygon.class);
@@ -1760,7 +1760,7 @@
             }
             
             Class clazz = type(type);
-            if(Geometry.class.isAssignableFrom(clazz)) {
+            if(Geometry.class.isAssignableFrom(clazz) || org.osgeo.geometry.Geometry.class.isAssignableFrom(clazz)) {
              GeometryType at = new GeometryTypeImpl(new NameImpl( name ), clazz , crs, false, false, Collections.EMPTY_LIST, null, null );
             return new GeometryDescriptorImpl( at, new NameImpl(name), 0,1, nillable, null );
             } else {

Modified: branches/geometry/modules/library/main/src/main/java/org/geotools/util/GeometryConverterFactory.java
===================================================================
--- branches/geometry/modules/library/main/src/main/java/org/geotools/util/GeometryConverterFactory.java 2009-10-25 06:32:17 UTC (rev 34237)
+++ branches/geometry/modules/library/main/src/main/java/org/geotools/util/GeometryConverterFactory.java 2009-10-25 10:47:19 UTC (rev 34238)
@@ -16,14 +16,15 @@
  */
 package org.geotools.util;
 
+import org.deegree.geometry.standard.AbstractDefaultGeometry;
 import org.deegree.geometry.standard.DefaultGeometryFactory;
 import org.geotools.factory.Hints;
-import org.osgeo.geometry.WKTReader;
 
 import com.vividsolutions.jts.geom.Coordinate;
 import com.vividsolutions.jts.geom.Envelope;
 import com.vividsolutions.jts.geom.Geometry;
 import com.vividsolutions.jts.geom.GeometryFactory;
+import com.vividsolutions.jts.io.WKTReader;
 
 /**
  * Converter factory performing converstions among geometric types.
@@ -52,7 +53,7 @@
  if ( String.class.equals( source ) ) {
  return new Converter() {
  public Object convert(Object source, Class target) throws Exception {
- return new WKTReader(new DefaultGeometryFactory(), null).read( (String) source );
+ return new WKTReader(new GeometryFactory()).read( (String) source );
  }
  };
  }
@@ -77,8 +78,31 @@
  }
  };
  }
+
+ // OSGEO geometry to JTS geometry
+ if( AbstractDefaultGeometry.class.isAssignableFrom( source )) {
+    return new Converter() {
+        public Object convert(Object source, Class targer) throws Exception {
+            return ((AbstractDefaultGeometry) source).getJTSGeometry();
+        }
+    };
+ }
  }
 
+        if (org.osgeo.geometry.Geometry.class.isAssignableFrom(target)) {
+
+            // String to Geometry
+            if (String.class.equals(source)) {
+                return new Converter() {
+                    public Object convert(Object source, Class target) throws Exception {
+                        return new org.osgeo.geometry.WKTReader(new DefaultGeometryFactory(), null)
+                                .read((String) source);
+                    }
+                };
+            }
+        }
+
+
  if ( Geometry.class.isAssignableFrom( source ) ) {
  //Geometry to envelope
  if ( Envelope.class.equals( target ) ) {

Modified: branches/geometry/modules/library/render/src/main/java/org/geotools/renderer/lite/StreamingRenderer.java
===================================================================
--- branches/geometry/modules/library/render/src/main/java/org/geotools/renderer/lite/StreamingRenderer.java 2009-10-25 06:32:17 UTC (rev 34237)
+++ branches/geometry/modules/library/render/src/main/java/org/geotools/renderer/lite/StreamingRenderer.java 2009-10-25 10:47:19 UTC (rev 34238)
@@ -86,6 +86,7 @@
 import org.geotools.styling.StyleAttributeExtractor;
 import org.geotools.styling.Symbolizer;
 import org.geotools.styling.TextSymbolizer;
+import org.geotools.util.Converters;
 import org.geotools.util.NumberRange;
 import org.geotools.util.Range;
 import org.opengis.coverage.grid.GridCoverage;
@@ -2108,7 +2109,7 @@
  Geometry geom;
  if(geomName == null) {
     if(drawMe instanceof SimpleFeature)
-        geom = (Geometry) ((SimpleFeature) drawMe).getDefaultGeometry();
+        geom = Converters.convert(((SimpleFeature) drawMe).getDefaultGeometry(), Geometry.class);
     else
         geom = (Geometry) defaultGeometryPropertyName.evaluate(drawMe, Geometry.class);
  } else {

Modified: branches/geometry/modules/library/render/src/test/java/org/geotools/renderer/lite/LineTest.java
===================================================================
--- branches/geometry/modules/library/render/src/test/java/org/geotools/renderer/lite/LineTest.java 2009-10-25 06:32:17 UTC (rev 34237)
+++ branches/geometry/modules/library/render/src/test/java/org/geotools/renderer/lite/LineTest.java 2009-10-25 10:47:19 UTC (rev 34238)
@@ -32,7 +32,7 @@
         fs = ds.getFeatureSource("line");
         bounds = new ReferencedEnvelope(0, 10, 0, 10, DefaultGeographicCRS.WGS84);
         
-//        System.setProperty("org.geotools.test.interactive", "true");
+        System.setProperty("org.geotools.test.interactive", "true");
     }
     
     public void testLineCircle() throws Exception {

Modified: branches/geometry/spike/geometry/src/main/java/org/osgeo/geometry/WKTReader.java
===================================================================
--- branches/geometry/spike/geometry/src/main/java/org/osgeo/geometry/WKTReader.java 2009-10-25 06:32:17 UTC (rev 34237)
+++ branches/geometry/spike/geometry/src/main/java/org/osgeo/geometry/WKTReader.java 2009-10-25 10:47:19 UTC (rev 34238)
@@ -48,6 +48,9 @@
 import org.osgeo.geometry.primitive.LineString;
 import org.osgeo.geometry.primitive.Point;
 
+import com.vividsolutions.jts.io.WKTWriter;
+import com.vividsolutions.jts.util.AssertionFailedException;
+
 /**
  * Create a geometry from SQL Multi-Media Extension Well-Known Text which allows curves.
  *


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
GeoTools-commits mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-commits