[mapserver-users] Problem using getShape with MsSql2008 (Mapscript C#)

Tamas Szekeres szekerest at gmail.com
Tue Sep 15 16:10:12 EDT 2009


Paul,

To avoid this problem you might want to set either the buffer parameter of
queryByPoint or layerObj.tolerance to a positive value to avoid passing a
rectangle with no extent to the SQL data source.


Best regards,

Tamas



2009/9/15 Paul james <pauljame at gmail.com>

> Tamas,
>
> The last problem with getShape is solved and working fine....
> But now I got other possible bug using MsSql2008/C# ...
>
> Code :
>  MapObj.queryByPoint(_oGeo, mapscript.MS_MULTIPLE, -1)
>
> Thas is working fine with Postgis...
>
> But wth MsSql2008, got the following error :
>  (using queryByRect all works fine)
>
> msMSSQL2008LayerGetShape(): Query error. Error executing MSSQL2008 SQL
> statement: SELECT convert(varchar(max), oid),convert(varchar(max),
> anoreferencia),convert(varchar(max), uf),convert(varchar(max),
> rodovia),convert(varchar(max), codigopnv),convert(varchar(max),
> localiniciofim),convert(varchar(max), inicio),convert(varchar(max),
> fim),convert(varchar(max), extensao),convert(varchar(max),
> superficie),convert(varchar(max), listacoincidente),convert(varchar(max),
> estadualcoincidente),convert(varchar(max),
> superficieestadualcoincidente),convert(varchar(max),
> mp_082),convert(varchar(max),
> concessaoconvenio),the_geom.STAsBinary(),convert(varchar(20), oid) from
> viwgeo_test WHERE
> the_geom.STIntersects(Geometry::STGeomFromText('POLYGON((-74.6741893243784
> 2.46256865079364,-74.6741893243784 2.46256865079364,-74.6741893243784
> 2.46256865079364,-74.6741893243784 2.46256865079364,-74.6741893243784
> 2.46256865079364))',0)) = 1
> -[Microsoft][ODBC SQL Server Driver][SQL Server]:
> System.FormatException: 24305: The Polygon input is not valid because the
> ring does not have enough distinct points. Each ring of a polygon must
> contain at least three distinct points.
> System.FormatException:
>    at Microsoft.SqlServer.Types.Validator.Execute(Transition transition)
>    at Microsoft.SqlServer.Types.Validator.EndFigure()
>    at Microsoft.SqlServer.Types.ForwardingGeoDataSink.EndFigure()
>    at Microsoft.SqlServer.Types.OpenGisWktReader.ParseLineStringText()
>    at Microsoft.SqlServer.Types.OpenGisWktReader.ParsePolygonText()
>    at
> Microsoft.SqlServer.Types.OpenGisWktReader.ParseTaggedText(OpenGisType type)
>    at Microsoft.SqlServer.Types.OpenGisWktReader.Read(OpenGisType type,
> Int32 srid)
>    at Microsoft.SqlServer.Types.SqlGeometry.GeometryFromText(OpenGisType
> type, SqlChars text, Int32 srid)
>    at Microsoft.SqlServer.Types.SqlGeometry.STGeom
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20090915/55e2731b/attachment.html


More information about the mapserver-users mailing list