Hey Jody, you're right, the jts-1.10.jar was included twice in classpath. I removed one and was trying to use the jar provided by net.refractions.udig.libs.
The distance tool tutorial also includes net.refractions.udig.libs being able to use com.vividsolutions.jts.geom.Coordinate class. Unfortunately I'm getting a following exception: Caused by: java.lang.ClassNotFoundException: com.vividsolutions.jts.geom.GeometryFactory The funny part, after adding the net.refractions.udig.libs to MANIFEST.MF, the required jar appears even in "Plug-in Dependencies" of my plugin, I'm just having trouble at runtime. Pretty clueless ... do you have any suggestion? Appreciate your help! Thanks, Konstantin >Wow that is strange; the only thing I can think of is that OSGi is >letting >you have two copies of jts around? And it is having trouble >casting instances >made under one classloader to instances made with the >other? > >In eclipse could you check your properties > java build path and see >what is >happening? > >As you say this is really odd. > >Jody > > On 27/06/2010, at 5:43 AM, [email protected] wrote: > Hey Jody, > > thanks for your reply. I tried your first suggestion and created feature > type. Unfortunately an exception is thrown: > > net.refractions.udig.project.render.RenderException: Exception(s) occured > during rendering: com.vividsolutions.jts.geom.Point cannot be cast to > com.vividsolutions.jts.geom.Geometry > at > net.refractions.udig.render.internal.feature.basic.BasicFeatureRenderer.render(BasicFeatureRenderer.java:355) > at > net.refractions.udig.render.internal.feature.basic.BasicFeatureRenderer.render(BasicFeatureRenderer.java:224) > at > net.refractions.udig.project.internal.render.impl.RenderJob.startRendering(RenderJob.java:108) > at > net.refractions.udig.project.internal.render.impl.RenderJob.run(RenderJob.java:213) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) > Caused by: java.lang.ClassCastException: com.vividsolutions.jts.geom.Point > cannot be cast to com.vividsolutions.jts.geom.Geometry > at > org.geotools.data.memory.MemoryDataStore.getBounds(MemoryDataStore.java:600) > at > org.geotools.data.AbstractFeatureSource.getBounds(AbstractFeatureSource.java:308) > at > org.geotools.data.AbstractFeatureSource.getBounds(AbstractFeatureSource.java:276) > at > net.refractions.udig.catalog.memory.internal.MemoryGeoResourceImpl$ScratchResourceInfo.getBounds(MemoryGeoResourceImpl.java:155) > at > net.refractions.udig.project.internal.impl.GeoResourceInfoInterceptor$Wrapper.getBounds(GeoResourceInfoInterceptor.java:68) > at > net.refractions.udig.project.internal.impl.LayerImpl.obtainBoundsFromResources(LayerImpl.java:2014) > at > net.refractions.udig.project.internal.impl.LayerImpl.getBounds(LayerImpl.java:1985) > at > net.refractions.udig.render.internal.feature.basic.BasicFeatureRenderer.validateBounds(BasicFeatureRenderer.java:438) > at > net.refractions.udig.render.internal.feature.basic.BasicFeatureRenderer.render(BasicFeatureRenderer.java:253) > ... 4 more > > The part of my source code: > > FeatureCollection<SimpleFeatureType, SimpleFeature> collection = > FeatureCollections > .newCollection(); > List<House> mcs = Util.getHouses(); > > SimpleFeatureType sft = null; > { > SimpleFeatureType temp = DataUtilities.createType("Houses", > "name:String,position:Point"); > sft = DataUtilities.createSubType(temp, null, DefaultGeographicCRS.WGS84); > } > > int index = 0; > for (House mc : mcs) { > collection.add(SimpleFeatureBuilder.build(sft,new Object[] { > mc.getName(),mc.getPos() },"House" + index++)); > } > > IGeoResource resource = > CatalogPlugin.getDefault().getLocalCatalog().createTemporaryResource(sft); > resource.resolve(FeatureStore.class, new > NullProgressMonitor()).addFeatures(collection); > > ApplicationGIS.addLayersToMap(ApplicationGIS > .getActiveMap(), Collections > .singletonList(resource), ApplicationGIS > .getActiveMap().getElements().size()); > > > It's a strange exceptions, since I've used a working example being able to > visualize some sample points. > > collection.add(SimpleFeatureBuilder.build(sft, new Object[] { > wkt.read("POINT(4 4)"), "XX2" }, "name2")); > > This line would produce a working layer that could be visualized by uDig. My > House object already provides the position property as a point. > > > In addition, I would like to know if the is a more straightforward way in > creating feature types instead of producing strings with name and type? > > Best regards, > > Konstantin > > > On 06/22/2010 01:50 AM, Jody Garnett wrote: >> I am afraid the filter standard we use for interacting with shapefiles, >> postgis and web feature servers is focused just on a single where statement >> and does not offer joins. >> >> So I will have to ask you to create a view in your database for this purpose. >> >> There are two developments occurring in GeoTools that should help: >> - app schema work allowing you to define a feature type and provide a >> mapping to the various tables that form its content >> - andrea is looking at allowing sql based queries which would hopefully be >> similar to defining your own view >> >> I have also personally created a work around (a function that does a >> "lookup" in another table file; I ended up loading the other file into >> memory to make this happen and cannot really recommend it). >> >> Jody >> >> On 22/06/2010, at 2:19 AM, [email protected] wrote: >> >>> Hey, >>> >>> I'm having a postgis table with several columns storing the position and >>> some meta information like the time. Now, I would like to use the meta >>> information (can be distributed over several tables) and visualizing only >>> certain rows. >>> >>> At present, I'm using the catalog to display the entire postgis table. Is >>> there a way of adding additional where-conditions? >>> >>> Thanks, >>> >>> Kon >>> >>> -- >>> GMX DSL: Internet-, Telefon- und Handy-Flat ab 19,99 EUR/mtl. >>> Bis zu 150 EUR Startguthaben inklusive! http://portal.gmx.net/de/go/dsl >>> _______________________________________________ >>> User-friendly Desktop Internet GIS (uDig) >>> http://udig.refractions.net >>> http://lists.refractions.net/mailman/listinfo/udig-devel >> >> _______________________________________________ >> User-friendly Desktop Internet GIS (uDig) >> http://udig.refractions.net >> http://lists.refractions.net/mailman/listinfo/udig-devel >> > > > -- > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 > _______________________________________________ > User-friendly Desktop Internet GIS (uDig) > http://udig.refractions.net > http://lists.refractions.net/mailman/listinfo/udig-devel _______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 _______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel
