[English Version]
Hello,
I wish to use the Intersects' function of NHibernate Spatial with Sql
Server 2008 Database.
My data have a SRID = 4807.
IList<Geolocalisable<IGeometry>> result;
ICriteria query;
// From
query = this.Session.CreateCriteria<GeolocalisableSite>();
// Where
query.Add(SpatialExpression.Intersects("Shape", dalles));
result = query.List<Geolocalisable<IGeometry>>();
return result;
The given parameter for the geometry has a SRID = 4807, but the query
generated doesn't have a SRID, so Sql Server returns no result.
Actual query:
select *
from site
where shape.STIntersects('POLYGON((0 0,0 400000,400000 400000,400000
0,0 0))') = 1;
Expected query or equivalent:
select *
from site
where shape.STIntersects(geometry::STGeomFromText('POLYGON((0 0,0
400000,400000 400000,400000 0,0 0))',4807)) = 1;
How do you do?
Thanks
[French Version]
Bonjour,
Je souhaite utiliser la fonction Intersects de NHibernate Spatial sur
une base de données Sql Server 2008.
Mes données ont un SRID = 4807.
IList<Geolocalisable<IGeometry>> result;
ICriteria query;
// From
query = this.Session.CreateCriteria<GeolocalisableSite>();
// Where
query.Add(SpatialExpression.Intersects("Shape", dalles));
result = query.List<Geolocalisable<IGeometry>>();
return result;
La géométrie que je passe en paramètre à un SRID de 4807, mais la
requête générée n'inclut pas le SRID, donc Sql Server ne retourne
aucun résultat.
Requête générée:
select *
from site
where shape.STIntersects('POLYGON((0 0,0 400000,400000 400000,400000
0,0 0))') = 1;
Requête souhaitée ou équivalente:
select *
from site
where shape.STIntersects(geometry::STGeomFromText('POLYGON((0 0,0
400000,400000 400000,400000 0,0 0))',4807)) = 1;
Comment faites vous ?
Merci
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.