More postgres queries

From DreamsteepWiki

Jump to: navigation, search

From Eli (untested)



SELECT DISTINCT ON (blah.gid) blah.gid, blah.taxlots_fe, blah.the_geom
  FROM codata.taxprj blah
  LEFT JOIN codata.taxprj ON st_dwithin(blah.the_geom, taxprj.the_geom, 300::double precision)
 WHERE taxprj.gid = 2860
 LIMIT 1000;


Buffer ring (sent before too I think):

 SELECT taxprj.gid, taxprj.the_geom, st_buffer(taxprj.the_geom, 300::double precision) AS st_buffer
  FROM codata.taxprj
 WHERE taxprj.gid = 2860;

Now that I look at this, I would want the selected polygon too (so I can see what got buffered to make the buffer ring- sent previously too):

 SELECT taxprj.gid, taxprj.the_geom
  FROM codata.taxprj
 WHERE taxprj.gid = 2860;


 SELECT DISTINCT ON (taxprj.gid) taxprj.gid, taxprj.taxlots_fe, taxprj.the_geom, st_buffer(taxprj.the_geom, 300::double precision) AS st_buffer
  FROM codata.taxprj
 WHERE taxprj.gid = 2860;

Now that I review my work, I had problems buffering taxlot onto taxlot.  Here is what I have now which I switched to streets buffered onto taxlots, should be adaptable:

Single street:
 SELECT bcroadsprj.gid, bcroadsprj.the_geom
  FROM codata.bcroadsprj
 WHERE bcroadsprj.gid = 914;

Buffer polygon from that street:
 SELECT bcroadsprj.gid, bcroadsprj.the_geom, st_buffer(bcroadsprj.the_geom, 300::double precision) AS st_buffer
  FROM codata.bcroadsprj
 WHERE bcroadsprj.gid = 914;

Selected taxlots from 300 foot buffer of that single street:
 SELECT DISTINCT ON (taxprj.gid) taxprj.gid, taxprj.taxlots_fe, taxprj.the_geom
  FROM codata.taxprj
  LEFT JOIN codata.bcroadsprj ON st_dwithin(taxprj.the_geom, bcroadsprj.the_geom, 300::double precision)
 WHERE bcroadsprj.gid = 914
 LIMIT 100;


Personal tools