SPATIAL SQL Server 2008

  • How can I use STTOUCHES with a GEOMETRY field? Can it be converted? How?

    Regards

  • A couple of points on this post, (given it has been here unanswered for quite a while, the info may be a bit late to help for the original post, but may help others)

    first, the Geography and Geometry methods are case sensitive, so you must use STTouches()

    second, STTouches() return type is Boolean ... so can be used wherever a boolean comparison is required (Case statements, IF..Then, etc) but not sure what the question "Can it be converted?" is referring to here. If this is referring to using this method against Geography data, the answer would be 'no, not without converting the data type'

    finally, the example in 'online help' (see http://msdn.microsoft.com/en-us/library/bb933953.aspx) will always return 'false' as it is testing a linestring geometry against a point geometry. The text of the help topic states that "Two geometry instances touch if their point sets intersect, but their interiors do not intersect." As neither the linestring nor the point geometries have an interior, the result is always false.

    a better example of using STIntersects(), here checking if a line touches a polygon. This example returns 'true':

    DECLARE @g geometry;

    DECLARE @h geometry;

    SET @g = geometry::STGeomFromText('POLYGON((0 2, 2 0, 4 2, 0 2))', 0);

    SET @h = geometry::STGeomFromText('LINESTRING(3 2, 4 3)', 0);

    SELECT @g.STTouches(@h);

    Note also that the function should always be symmetrical, so that @g.STTouches(@h) will return the same as @h.STTouches(@g)

    Hope this helps.

  • carlecot88ssn (1/18/2013)


    Diverse fashion principles can be recognized with different designers. Various people also think of it as the typical vintage style dragged from the early 70s. These explanations are correct and this is what the designers after these immense styles wish their constantly increasing customers to keep on believing.:-P

    Reported

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply