X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FCensus.py;h=a69ff58b9cb68fea0e8c398d5fce289f7954a87e;hb=bcc152b59791e0aa3e7a5e34ad84124b4c48b276;hp=ae4d28d0de1a72bd631021cb6da270193850d991;hpb=985c5ad8a0d217225fe28eef8c8e3d63bae8ba85;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 +