3

I'm still pretty new to this stuff, so bear with me. In PostGIS how could I find a polygon that would contain all the linestring records in a given table?

2

If you know beforehand what your polygon is, you could do:

SELECT * from linetable WHERE ST_Intersects(linetable.the_geom,(SELECT the_geom from polytable where id='123'));

or

SELECT * FROM linetable WHERE ST_Intersects(linetable.the_geom, ST_GeomFromText('POLYGON((0 0,0 1,1 1,0 1,0 0))');

There are many ways to fetch the polygon you want, but the path is to try for ST_Intersects = true

OR do you need the polygon that encloses all linestrings?

If so, you can use ConvexHull:

https://postgis.net/docs/ST_ConvexHull.html

  • The latter. And actually, ST_Envelope is more up my problems alley. But your answer pointed me in the right direction. Thanks. – Eric Palakovich Carr Jul 23 '10 at 17:10
  • No problem Eric. I wasn't sure if ConvexHull or Envelope would do the trick, but I'm glad that it worked. – George Silva Jul 23 '10 at 17:16
  • And actually, I was wrong about ST_Envelope. ST_Extent did the trick though. – Eric Palakovich Carr Jul 23 '10 at 17:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.