none
Saber si un punto esta dentro de un Poligono SQL SERVER 2014 RRS feed

  • Pregunta

  • Buenos días,

    Estoy tratando de realizar un PL, en el cual dado una serie de puntos que los extraigo de una tabla de una BD (Que conforman un polígono), verifico si determinado punto pertenece a un polígono.

    Encontré escasa información al respecto en T-SQL.

    Utilice un método que me brinda T-SQL que me indica que según un polígono y un punto pertenece o no.

    Pero dicho método no funciona si este punto dado esta sobre una Arista del polígono o en un vértice y la realidad es que no se como resolverlo.

    Esto es lo que hice hasta ahora y no me estaría sirviendo:

    Si coloco un punto perteneciente al polígono sobre una arista (Devuelve cero como indica la imagen y eso significa que no pertenece cuando en realidad si pertenece a él). 

    Si coloco un punto que realmente este dentro del polígono, si funciona. (devuelve un 1)

    Agradecería toda ayuda que me puedan brindar para ver como puedo realizar este PL.

    Muchas Gracias.


    • Editado Osk2015 jueves, 7 de diciembre de 2017 15:02
    jueves, 7 de diciembre de 2017 14:42

Respuestas

  • Muchas Gracias por tu Rta.

    Utilizando los dos métodos STContains() para ver si un punto pertenece a un Polígono y STIntersects() para ver si un punto pertenece al vértice o arista del polígono, quedo cubierto todo el polígono

    jueves, 7 de diciembre de 2017 17:44

Todas las respuestas

  • Hola Osk2015

    Con base a tu consulta, te recomiendo ir al siguiente enlace en donde abarca el tema que estas utilizando.

    https://docs.microsoft.com/en-us/sql/t-sql/spatial-geometry/spatial-types-geometry-transact-sql

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 7 de diciembre de 2017 16:54
    Moderador
  • Muchas Gracias por tu Rta.

    Utilizando los dos métodos STContains() para ver si un punto pertenece a un Polígono y STIntersects() para ver si un punto pertenece al vértice o arista del polígono, quedo cubierto todo el polígono

    jueves, 7 de diciembre de 2017 17:44