X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FCensus.py;h=a69ff58b9cb68fea0e8c398d5fce289f7954a87e;hb=e29f3e5cc471e3cb60f641fcf3a3577c87896f36;hp=ae4d28d0de1a72bd631021cb6da270193850d991;hpb=f9f6eeb97d2a5588ba6e567b48f186c704342be9;p=dead%2Fcensus-tools.git diff --git a/src/Census.py b/src/Census.py index ae4d28d..a69ff58 100644 --- a/src/Census.py +++ b/src/Census.py @@ -1,6 +1,7 @@ import pgdb import GPS +import SummaryFile1 class Database: @@ -20,7 +21,7 @@ class Database: def __del__(self): self.connection.close() - + def find_average_population_density(self, coords): """ Find the average population density at a set of GPS coordinates. @@ -110,3 +111,28 @@ class Database: else: return None + + + def get_block_geometry_as_wkt(self, blkidfp00): + """ + Find the geometry of a (uniquely-identified) block, in + Well-Known Text format. + """ + cursor = self.connection.cursor() + + query = """ + SELECT ST_AsText(tiger.the_geom) + FROM tiger + WHERE tiger.blkidfp00 = %s; + """ + sql_params = (blkidfp00,) + + cursor.execute(query, sql_params) + rows = cursor.fetchall() + cursor.close() + + if len(rows) > 0: + return rows[0][0] + else: + return None +