[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [udig-devel] Fwd: Re: where conditions while displaying postgis table
|
Where did the "second" jts jar come from? There should only be one contains in net.refractions.udig.libs...
Jody
On 29/06/2010, at 8:28 AM, konfri@xxxxxx wrote:
> 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, konfri@xxxxxx 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, konfri@xxxxxx 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