Revert "ENH: Use sqlalchemy for PostGIS connection for better compatibility with pandas.read_sql"

This reverts commit 75c530115e.
This commit is contained in:
Kelsey Jordahl
2014-04-20 22:26:03 -04:00
parent 1ba57db869
commit 94c2f6cb87
2 changed files with 8 additions and 9 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ def read_postgis(sql, con, geom_col='geom', crs=None, index_col=None,
index_col, coerce_float, params
"""
df = read_sql(sql, con.engine, index_col=index_col, coerce_float=coerce_float,
df = read_sql(sql, con, index_col=index_col, coerce_float=coerce_float,
params=params)
if geom_col not in df:
raise ValueError("Query missing geometry column '{}'".format(
+7 -8
View File
@@ -1,7 +1,6 @@
import io
import os.path
from six.moves.urllib.request import urlopen
from sqlalchemy import create_engine
from geopandas import GeoDataFrame, GeoSeries
@@ -49,11 +48,8 @@ def validate_boro_df(test, df):
def connect(dbname):
driver = 'psycopg2'
try:
conn_str = 'postgresql+{driver}://localhost/{dbname}'
engine = create_engine(conn_str.format(driver=driver, dbname=dbname))
con = engine.connect()
con = psycopg2.connect(dbname=dbname)
except (NameError, OperationalError):
return None
@@ -78,7 +74,8 @@ def create_db(df):
return False
try:
con.execute("DROP TABLE IF EXISTS nybb;")
cursor = con.cursor()
cursor.execute("DROP TABLE IF EXISTS nybb;")
sql = """CREATE TABLE nybb (
geom geometry,
@@ -87,18 +84,20 @@ def create_db(df):
shape_leng float,
shape_area float
);"""
con.execute(sql)
cursor.execute(sql)
for i, row in df.iterrows():
sql = """INSERT INTO nybb VALUES (
ST_GeometryFromText(%s), %s, %s, %s, %s
);"""
con.execute(sql, (row['geometry'].wkt,
cursor.execute(sql, (row['geometry'].wkt,
row['BoroCode'],
row['BoroName'],
row['Shape_Leng'],
row['Shape_Area']))
finally:
cursor.close()
con.commit()
con.close()
return True