[fdo-users] Spatial Filter Help Needed
surrounded
Rob.Sosnowski at itd.idaho.gov
Thu Oct 2 13:07:33 EDT 2008
I think you are correct is using "Geometry" vs using "Shape". When using
"Geometry" I no longer get the exception thrown, however I do not get any
features returned either. I will submit a new post on how to create a
spatial filter.
Thanks for the help.....
Jackie Ng wrote:
>
> Both techniques you described should work.
>
> - Jackie
>
>
> surrounded wrote:
>>
>> Hi Jackie,
>>
>> Can you give an idea of how to apply the filter to the select command. I
>> thought the sel.SetFilter did that. Perhaps, I'll try sel.Filter =
>> Filter.Parse(pPtLineFilter.toString());
>>
>> I will also try Geometry.
>>
>> Thanks.....
>>
>>
>> Jackie Ng wrote:
>>>
>>> I see two things:
>>>
>>> 1) The filter is being created but not being applied to the select
>>> command.
>>> 2) I don't think you can apply filters on "aliased" properties. You
>>> should be able to filter on the "Geometry" property and get the same
>>> result.
>>>
>>> - Jackie
>>>
>>>
>>> surrounded wrote:
>>>>
>>>> I'm trying to intersect a circle (created from input coordinates) with
>>>> a shapefile. I've created the circle geometry and am now trying to set
>>>> up the filter. In the code below, the statement
>>>>
>>>> while(reader.ReadNext())
>>>>
>>>> throws the follwing exception:
>>>> "The property 'Shape' is not in the readers selected property set"
>>>>
>>>> SUGGESTIONS....THANKS
>>>>
>>>> **********************************************
>>>>
>>>> OSGeo.FDO.Expression.GeometryValue pGVal = new
>>>> GeometryValue(pByteCircle);
>>>> OSGeo.FDO.Expression.ComputedIdentifier pPropName = new
>>>> ComputedIdentifier("Shape", new Identifier("Geometry"));
>>>>
>>>> IdentifierCollection pIDColl = sel.PropertyNames;
>>>> pIDColl.Add(pPropName);
>>>>
>>>> OSGeo.FDO.Filter.Filter pPtLineFilter = new
>>>> OSGeo.FDO.Filter.SpatialCondition(pPropName,
>>>> OSGeo.FDO.Filter.SpatialOperations.SpatialOperations_Intersect, pGVal);
>>>> }
>>>>
>>>> OSGeo.FDO.Commands.Feature.IFeatureReader reader = sel.Execute();
>>>> while (reader.ReadNext())
>>>> {
>>>> ......some code....
>>>> }
>>>>
>>>>
>>>
>>>
>>
>>
>
>
--
View this message in context: http://n2.nabble.com/Spatial-Filter-Help-Needed-tp1134329p1134395.html
Sent from the FDO Users mailing list archive at Nabble.com.
More information about the fdo-users
mailing list