Tengo una tabla con puntos y otra tabla con los polígonos (multipolyons para ser más exactos). ¿Cómo puedo encontrar los puntos que caen dentro de una distancia especificada del polígono de la frontera? La mayoría de los puntos caen dentro de un polígono, pero quiero una lista de puntos que caen dentro de 100 metros de un polígono perimetral. Si un punto está a 20 metros de un límite que es compartida por polígonos adyacentes, yo esperaría que el punto a se enumeran a menos de 100 metros de los dos polígonos.
El SQL a continuación selecciona demasiados puntos. Seleccionar puntos en el interior del polígono, pero fuera de el interior de búfer. No debe seleccionar puntos en el interior del polígono y de más de 100 metros de la orilla.
select *
from towers t, areas c
where st_dwithin(t.geom, c.geom, 100.00)
order by t.description
¿Cómo puedo modificar esta consulta para devolver los puntos que están a menos de 100 metros de un polígono de la frontera, no necesariamente todos los puntos dentro de la poylgon?