[fdo-internals] OGR provider and intersection

Traian Stanev traian.stanev at autodesk.com
Mon May 12 10:17:56 EDT 2008


That looks right. The place to put it would be in ReadNext() and check features returned by OGR (which match the BBOX) for true intersection. Also, for performance, it's good to cache the right hand side FdoIGeometry so that it is not created every time.

Traian



From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Kenneth Skovhede, GEOGRAF A/S
Sent: Monday, May 12, 2008 9:35 AM
To: FDO Internals Mail List
Subject: Re: [fdo-internals] OGR provider and intersection

Ok, I'll try that.

I found some code you suggested some time ago, for testing intersection using FDO:

     int fgfLen = "the length of the feature geometry array in bytes";
     const FdoByte* fgf = "the feature geometry, converted to FGF";

     FdoPtr<FdoExpression> exprRight = filter.GetGeometry();
     FdoGeometryValue* gvRight = (FdoGeometryValue*)(exprRight.p);

     FdoPtr<FdoByteArray> baRight = gvRight->GetGeometry();

     FdoPtr<FdoFgfGeometryFactory> gf = FdoFgfGeometryFactory::GetInstance();
     FdoPtr<FdoIGeometry> geomRight = gf->CreateGeometryFromFgf(baRight);
     FdoPtr<FdoIGeometry> geomLeft = gf->CreateGeometryFromFgf(fgf, fgfLen);

     //call on the geometry utility to evaluate the spatial operation
     bool ret = FdoSpatialUtility::Evaluate(geomLeft, filter.GetOperation(), geomRight);

Does that still look plausible?
If so, I'll try to patch the provider once I get a VS 2005 machine up.


Regards, Kenneth Skovhede, GEOGRAF A/S


Traian Stanev skrev:

It's not the provider, it's the GDAL dll. You can drop in a GDAL dll that is compiled with GEOS and it should then work. Another alternative is to make it use the FdoSpatialUtility implementation of Intersects, which presumably is always available when FDO is there.



Traian









-----Original Message-----

From: fdo-internals-bounces at lists.osgeo.org<mailto:fdo-internals-bounces at lists.osgeo.org> [mailto:fdo-internals-

bounces at lists.osgeo.org<mailto:bounces at lists.osgeo.org>] On Behalf Of Kenneth Skovhede, GEOGRAF A/S

Sent: Monday, May 12, 2008 6:21 AM

To: FDO Internals Mail List

Subject: [fdo-internals] OGR provider and intersection



I have used the 3.3.1 release of the SDK (from April).

It seems the OGR provider is back to using Envelope intersection tests,

when "INTERSECTS" is used.

Is the provider compiled without GEOS support?

If so, are there plans to change the build procedure to include GEOS

support?



--

Regards, Kenneth Skovhede, GEOGRAF A/S





_______________________________________________

fdo-internals mailing list

fdo-internals at lists.osgeo.org<mailto:fdo-internals at lists.osgeo.org>

http://lists.osgeo.org/mailman/listinfo/fdo-internals



_______________________________________________

fdo-internals mailing list

fdo-internals at lists.osgeo.org<mailto:fdo-internals at lists.osgeo.org>

http://lists.osgeo.org/mailman/listinfo/fdo-internals


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/fdo-internals/attachments/20080512/3bec2c99/attachment.html


More information about the fdo-internals mailing list